ebook img

Object-Oriented Technology and Computing Systems Re-Engineering PDF

210 Pages·1999·12.87 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Object-Oriented Technology and Computing Systems Re-Engineering

OBJECT-ORIENTED TECHNOLOGY AND COMPUTING SYSTEMS RE-ENGINEERING SICILLLUM MAIORAT CIVITATIS CICESTRIE Mediaeval Seals of Mayors of the Roman and Georgian city of Chichester in 1502 & 1530. The seals provided derivative motifs for the Horwood Publishing colophon Object-Oriented Technology and Computing Systems Re-Engineering H. Zedan and A. Cau both of Software Technical Research Laboratory De Montfort University Leicester Horwood Publishing Chichester About the Authors Professor Hussein Zedan has been working for over a decade on formal specification and analysis of (distributed) real-time systems with the long- term aim of building a coherent set of conceptual frameworks and methods for the development and assessment of such systems. Central to this objective is the narrowing of the gap between the theoreticians and the practitioners by promoting and developing tools to assist the development of such systems. He had graduated from Cairo University in 1973 with a BSc in mathematics and added an MSc in 1977 by research on algebraic topology. He then came to England and gained his PhD at Bristol University for research on numerical computation. He is now the Technical Director of the Software Technology Research Laboratory in De Montfort University, Leicester. Dr Antonio Cau graduated in computer science at Eindhoven University of Technology in Holland where he also obtained an MSc in 1989. In 1995 he obtained his PhD for research on the compositional refinement of reactive systems from Christia Albrechts University at Kiel in Germany. Coming to England, he worked as Research Associate in the Engineeering and Physical Sciences Researc Council on a project dealing with the compositional specification and verification of computing systems. He is now Research Fellow at De Montfort University, Leicester, working alongside Professor Zedan in the Software Technology Research Laboratory. Table of Contents Preface ix 1 OO Design Methodology for Hybrid Systems 1 Viktor Friesen and Andre Nordwig: Technische Universitdt Berlin, Germany Matthias Weber: Daimler-Benz AG, Germany 1.1 Introduction 1 1.2 Notation 3 1.3 Some initial elements of a design methodology 8 1.4 Tool support 10 1.5 An example 11 1.6 Conclusions 14 1.7 References 15 2 Design Patterns and Formal Development 17 Kevin Lano and Stephen Goldsack: Imperial College, U.K. 2.1 Object-oriented design patterns 17 2.2 Object state attributes and invariants 18 2.3 Control system example 22 2.4 Some further "standard" design structures 29 2.5 Verification 31 2.6 Conclusion 32 2.7 References 32 3 Devising Coexistence Strategies for Objects with Legacy Systems 35 Gerardo Canfora, Aniello Cimitile, Andrea De Lucia: Universita del Sannio, Italy Giuseppe A. Di Lucca: Universita di Napoli "Federico II", Italy 3.1 Introduction 36 3.2 The ERCOLE project: background information and goals 37 3.3 Coexistence strategies for systems that exhibit data interactions 38 3.4 The data integrity problem 39 3.5 The constraints in the scenario of minimal reengineering 41 3.6 Concluding remarks 44 3.7 Acknowledgements 45 3.8 References 45 vi Contents 4 Object-Oriented Model for Expert Systems Implementation 47 F. AlonsoAmo, J. L. Fuertes, L. Martinez, C. Montes andR. Navajo: UPM, Splainii 4.1 Introduction . . Al 4.2 From the application domain to the implementation domain . . 48 4.3 Reusable open model for expert system implementation (ROMES) . . .. . . 50 4.4 ROMES model application . . 55 4.5 Comparative analysis . . 58 4.6 Conclusions . . 58 4.7 References . . 59 5 Re-engineering Requirements Specifications for Reuse 61 Wing Lam: University of Hertfordshire, U.K. 5.1 Motivation: Towards requirements reuse in practice . . 61 5.2 The case for requirements reuse . . 62 5.3 Reflecting on experience: The R2 model of reuse . . 63 5.4 Model illustration 1 . . 65 5.5 Model illustration 2 . . 68 5.6 Further Issues: Suitability, validation and generality . . 70 5.7 Literature review . . 71 5.8 Conclusions , . 73 5.9 References . 73 6 Object-Oriented Development Of X-Ray Spectrometer Software 77 Tuomas Ihme: VTT Electronics, Finland 6.1 Introduction . 78 6.2 System requirements specification . 79 6.3 System architecture definition . 80 6.4 Subsystem analysis . 81 6.5 Subsystem design . 85 6.6 Discussion . 88 6.7 Conclusions . 89 6.8 Acknowledgements . 89 6.9 References . 89 7 Pre-processing COBOL Programs for Reverse Engineering 91 Jan Kwiatkowski and Ireneusz Puchalski: Wroclaw University of Technology, Po'llea nd Hongji Yang: De Montfort University, U.K. 7.1 Introduction and background . 92 7.2 Overview and design of COBOL pre-processor . 98 7.3 Implementation . 104 7.4 Conclusions and future work . 108 7.5 References . 108 Contents jj v 8 Agent Oriented Programming Language LASS 111 Mihal Badjonski, Mirjana Lvanovic and Zoran Budimac: Univ. ofNoviSad, Yugoslavia 8.1 Introduction Ill 8.2 LASS 112 8.3 LASS specification of a personal digital assistant 116 8.4 Related work 118 8.5 Conclusion 119 8.6 References 120 9 Fair Objects 122 Paul Gibson and Dominique Miry: Universite Henri Poincare, France 9.1 Introduction 122 9.2 Semantic framework 124 9.3 Fair objects 131 9.4 Telephone feature examples 137 9.5 Conclusion 139 9.6 References 139 10 Systems of Systems as Communicating Structures 141 Vadim Kotov: Hewlett-Packard Laboratories, USA 10.1 Introduction 141 10.2 Communicating structures 143 10.3 C++/CSIM constructs 144 10.4 The communicating structure objects 145 10.5 The communicating processes 146 10.6 CSL parts kit 147 10.7 Conclusion 152 10.8 Acknowledgment 154 10.9 References 154 11 Suitability of CORBA as a Heterogeneous Distributed Platform 155 Amelia Piatt: De Montfort University, U.K. PaulMc Kee: BTResearch Laboratories, U.K. 11.1 Introduction 156 11.2 CORBA 156 11.3 Critical review of CORBA 160 11.4 Summary and conclusions 164 11.5 References 164 12 Using OO Design to Enhance Procedural Software 166 Mandy Chessell: IBM United Kingdom Ltd, U.K. Franco Civello: University of Brighton, U.K. 12.1 Introduction 167 12.2 Approach to modelling and design 168 12.3 Modelling techniques and model features 170 12.4 Implementation 175 viii Contents 12.5 Conclusions 179 12.6 References 180 13 Reengineering Procedural Software 182 Sagar Pidaparthi, Paul Luker and Hussein Zedan: De Montfort University, U.K. 13.1 Introduction 183 13.2 Distinction between translation And transformation 185 13.3 Object-oriented perspective of a procedural program 185 13.4 Basic design transformations 186 13.5 Design transformation process 190 13.6 Transformation of event processor simulator design 194 13.7 Conclusions 194 13.8 References 196 Preface There are many important and challenging issues in building software systems. Moreover, the complexity of such systems is continuously increasing. This, together with the sobering experience that the difficulty in building such systems grows much faster than their size, makes a disciplined, systematic and rigorous methodology essential for attaining a 'rea­ sonable' level of dependability and trust in these systems. In response to this, an intense research activity has developed resulting in the production of several structured and formal development techniques that have been successfully applied in forward engineering such systems. For example, in the field of structured methods, we find SSDM, Yourdon, Jack­ son, CORE and HOOD whilst formal techniques include assertional methods, temporal logic, process algebra and automata. Furthermore, object-oriented programming, over the past few years, has been recog­ nised as the best way currently available for structuring software systems. It emphasises grouping together data and operation performed on them, encapsulating the whole behind a clean interface, and organising the resulting entities in a hierarchy based on specialisation in functionalities. In this way, it provides an excellent support for the construction of large scale systems, which can be built cheaply out of reusable components and which can be adapted easily to changing requirements. To date, object technology has largely been a field of practitioners, who were driven by an intuitive understanding of the important concepts, arising out of the experience of build­ ing actual systems. There has been relatively little effort to develop formal theories about these concepts. However, in order for the field to mature, a more formal understanding of the basic concepts is necessary, forming a solid foundation for refinement and further development. In addition, there exist many software components that are still in use and are in a legacy state. With the advent of new architectures, the need to introduce new functionalities and the improvement in design techniques, there is a strong need for efficient and cost- effective techniques to 're-engineer' these components maintaining its continuity of use. The process of re-engineering a system often requires the construction of a higher level abstraction of the system, a process known as reverse engineering ; and the development of a new system starting from its higher level of requirement specification (i.e. forward engineering). Recognising the functionality of an existing code is often seen as being the most difficult aspect of the process of re-engineering. To successfully re-engineer a system, we need to identify design decisions, intended use and domain specific details. In the area of forward engineering, both formal techniques and structured methodolo­ gies have been applied. The use of the former in industry is not as widespread as the later

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.