A Review of Object-oriented Approaches in Formal Methods

This paper presents a survey of recent approaches in the application of the object-oriented paradigm to formal specification. The complexity of current information systems demands the use of a higher degree of formalism in the development process. Formal languages such as Z, VDM and Lotos have been used extensively in academic environments and research projects ; however, their utilization in the 'real world' is still relatively small. The use of object-oriented concepts has now been suggested as a good solution to the lack of expressiveness that characterizes most of these languages. Several approaches addressing this issue have appeared in the literature recently, including extensions to most existing languages. In this paper we review some of these techniques and discuss problems and issues relevant to the combination of formal methods and object orientation.

[1]  Kevin Lano,et al.  Reasoning and Refinement in Object-Oriented Specification Languages , 1992, ECOOP.

[2]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[3]  Reino Kurki-Suonio,et al.  DisCo specification language: marriage of actions and objects , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[4]  Charles Lakos,et al.  Modelling layered protocols in LOOPN , 1991, Proceedings of the Fourth International Workshop on Petri Nets and Performance Models PNPM91.

[5]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[6]  Steve Rudkin Inheritance in LOTOS , 1991, FORTE.

[7]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[8]  Roel Wieringa Equational Specification of Dynamic Objects , 1990, DS-4.

[9]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[10]  Chris Smith,et al.  An Object Oriented Interpretation of LOTOS , 1989, FORTE.

[11]  Pierre America,et al.  Formal techniques for OO software development , 1991, OOPSLA '91.

[12]  Roberto Saracco,et al.  CCITT SDL: Overview of the Language and its Applications , 1987, Comput. Networks.

[13]  J. Pedersen Software Development Using VDM SEI Curriculum Module SEI-CM-16-1 . 1 December 1989 , 1989 .

[14]  Roel Wieringa,et al.  Steps towards a method for the formal modeling of dynamic objects , 1991, Data Knowl. Eng..

[15]  Thomas Mayr,et al.  Specification of Object-Oriented Systems in LOTOS , 1988, Formal Techniques for (Networked and) Distributed Systems.

[16]  Reino Kurki-Suonio,et al.  The DisCo Language and Temporal Logic of Actions , 1990 .

[17]  S. A. Schuman,et al.  Object-oriented subsystem specification , 1987 .

[18]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[19]  Kevin Lano,et al.  An Algebraic Semantics for the Specification Language Z++ , 1991, AMAST.

[20]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[21]  Kari Systä,et al.  Object-oriented specification of reactive systems , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[22]  Gary T. Leavens,et al.  A Quick Overview of Larch/C++ , 1994, J. Object Oriented Program..

[23]  Gregor von Bochmann,et al.  Object-Oriented Design for Distributed Systems: The OSI Directory Example , 1995, Comput. Networks ISDN Syst..

[24]  Joseph A. Goguen,et al.  OOZE: An Object Oriented Z Environment , 1991, ECOOP.

[25]  Roger Duke,et al.  The Ecology of Class Refinement , 1991 .

[26]  Cliff B. Jones,et al.  Reasoning about Interference in an Object-Based Design Method , 1993, FME.

[27]  Anthony Hall,et al.  Using Z as a Specification Calculus for Object-Oriented Systems , 1990, VDM Europe.

[28]  James L. Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[29]  E. L. Cusack Fundamental aspects of object oriented specification , 1988 .

[30]  Thorsten Hartmann,et al.  Abstract Description of Distributed Object Systems , 1991, Object-Based Concurrent Computing.

[31]  David H. Pitt,et al.  Object-Oriented Process Specification , 1988, Specification and Verification of Concurrent Systems.

[32]  Ana Cavalcanti,et al.  Modular Object-oriented Z Specifications , 1990, Z User Workshop.

[33]  Susan Stepney,et al.  Object Orientation in Z , 1992, Workshops in Computing.

[34]  D. Buchs,et al.  Distributed system specification using CO-OPN , 1992, Proceedings of the Third Workshop on Future Trends of Distributed Computing Systems.

[35]  Joseph E. Urban,et al.  Language Aspects of Envisager: An Object-Oriented Environment for the Specification of Real-Time Systems , 1991, Comput. Lang..

[36]  Elspeth Cusack,et al.  Formal Object Oriented Specification of Distributed Systems , 1990 .

[37]  David J. Duke,et al.  Towards a Semantics for Object-Z , 1990, VDM Europe.

[38]  Setrag Khoshafian Object orientation , 1990 .

[39]  Peter John Whysall,et al.  An Approach to Object-Oriented Specification Using Z , 1990, Z User Workshop.

[40]  Hassane Essafi,et al.  T++: a parallel object oriented language for a task and data parallel programming , 1995, Proceedings of Conference on Computer Architectures for Machine Perception.

[41]  B. Wangler,et al.  Formal Modelling of Objects and Subsystems in an Information Systems Framework , 1994 .

[42]  J. van Katwijk,et al.  VDM++, a formal specification language for object-oriented designs , 1992, CompEuro 1992 Proceedings Computer Systems and Software Engineering.

[43]  Albert L. Baker,et al.  The Direct Execution of SPECS-C++: A Model-Based Specification Language for C++ Classes , 1994 .

[44]  Gary T. Leavens,et al.  The Larch/Smalltalk interface specification language , 1994, TSEM.

[45]  Raffaele di Giovanni,et al.  HOOD and Z for the Development of Complex Software Systems , 1990, VDM Europe.

[46]  Jan Madey,et al.  The Z notation: A reference manual , 1990 .

[47]  David A. Carrington,et al.  Object-Z: An Object-Oriented Extension to Z , 1989, FORTE.

[48]  John Hogg Object-Oriented Formal Methods: Report on ECOOP '91 Workshop W3 , 1992, OOPS.

[49]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[50]  Gunter Saake,et al.  Object-Oriented Specification and Stepwise Refinement , 1991, Open Distributed Processing.

[51]  Peter John Whysall,et al.  Object oriented specification and refinement , 1991 .

[52]  Kevin Lano,et al.  Object-oriented specification case studies , 1994 .

[53]  Pierre America,et al.  Formal techniques for OO software development , 1991, OOPSLA 1991.

[54]  Steve Rudkin,et al.  Modelling Information Objects in Z , 1991, Open Distributed Processing.

[55]  Pierre America,et al.  Pool-T: a parallel object-oriented language , 1987 .

[56]  Elspeth Cusack Object Oriented Modelling in Z for Open Distributed Systems , 1991, Open Distributed Processing.