Object-Oriented Specification and Open Distributed Systems

An object-oriented approach to program specification and verification was developed by Ole-Johan Dahl with the long-term Abel project. Essential here was the idea of reasoning about an object in terms of its observable behavior, where the specification of an object’s present behavior is given by means of its past interactions with the environment. In this paper, we review some of the ideas behind this approach and show how they can be fruitfully extended for reasoning about black-box components in open object-oriented distributed systems.

[1]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[2]  Olaf Owe,et al.  Formal Methods and the RM-ODP , 1998 .

[3]  Bruce D. Shriver,et al.  Research Directions in Object-Oriented Programming , 1987 .

[4]  Einar Broch Johnsen,et al.  Combining Graphical and Formal Development of Open Distributed Systems , 2002, IFM.

[5]  Manfred Broy,et al.  Specification and Development of Interactive Systems , 2001, Monographs in Computer Science.

[6]  Pierre Cointe ECOOP ’96 — Object-Oriented Programming , 1996, Lecture Notes in Computer Science.

[7]  Einar Broch Johnsen,et al.  Incremental fault-tolerant design in an object-oriented setting , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[8]  Nimal Nissanke Object Oriented Specification , 1999 .

[9]  Einar Broch Johnsen,et al.  A Compositional Formalism for Object Viewpoints , 2002, FMOODS.

[10]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[11]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[12]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[13]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[14]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[15]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[16]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[17]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[18]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[19]  Olaf Owe,et al.  Formal Development with ABEL , 1991, VDM Europe.

[20]  Elisa Bertino,et al.  ECOOP 2000 — Object-Oriented Programming , 2000, Lecture Notes in Computer Science.

[21]  Einar Broch Johnsen,et al.  Composition and refinement for partial object specifications , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[22]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[23]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[24]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[25]  Bart Jacobs,et al.  Inheritance and Cofree Constructions , 1996, ECOOP.

[26]  JanickiRyszard,et al.  Foundations of the Trace Assertion Method of Module Interface Specification , 2001 .

[27]  Carolyn L. Talcott,et al.  Modular Reasoning for Actor Specification Diagrams , 1999, FMOODS.

[28]  Clemens Fischer CSP-OZ: a combination of object-Z and CSP , 1997 .

[29]  Carlo Ghezzi,et al.  Programming language concepts , 1982 .

[30]  Jonathan P. Bowen,et al.  ZUM '95: The Z Formal Specification Notation , 1995, Lecture Notes in Computer Science.

[31]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[32]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[33]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

[34]  Willem-Paul de Roever,et al.  Data Refinement by Willem-Paul de Roever , 1998 .

[35]  Gul Agha,et al.  Research directions in concurrent object-oriented programming , 1993 .

[36]  Neelam Soundarajan,et al.  Inheritance: from code reuse to reasoning reuse , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[37]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[38]  Ole-Johan Dahl The Roots of Object Orientation: The Simula Language , 2002, Software Pioneers.

[39]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[40]  Giuseppe De Giacomo History of Programming Languages , 2006 .

[41]  Olaf Owe,et al.  Partial logics reconsidered: A conservative approach , 1993, Formal Aspects of Computing.

[42]  Satoshi Matsuoka,et al.  Analysis of inheritance anomaly in object-oriented concurrent programming languages , 1993 .

[43]  Willem-Paul de Roever,et al.  Data Refinement: Theory , 1998 .

[44]  Gordon S. Blair,et al.  Composition in Multi-Paradigm Specification Techniques , 1999 .

[45]  Howard Bowman,et al.  Constructive Consistency Checking for Partial Specification in Z , 1999, Sci. Comput. Program..

[46]  Narain H. Gehani,et al.  Software Specification Techniques , 1985 .

[47]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[48]  Manfred Broy,et al.  Software Pioneers: Contributions to Software Engineering , 2002 .

[49]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[50]  Oscar Nierstrasz,et al.  A Survey of Object-Oriented Concepts , 1989, Object-Oriented Concepts, Databases, and Applications.

[51]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[52]  Ole-Johan Dahl Verifiable programming , 1992, Prentice Hall international series in computer science.

[53]  Howard Bowman,et al.  Viewpoints and Objects , 1995, ZUM.

[54]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

[55]  Earl T. Barr,et al.  Runtime Support for Type-Safe Dynamic Java Classes , 2000, ECOOP.

[56]  Olaf Owe,et al.  A Notation for Combining Formal Reasoning, Object Orientation and Openness , 1999 .