Modeling and testing object‐oriented distributed systems with linear‐time temporal logic

We present a framework for constructing formal models of object‐oriented distributed systems and a property language to express behavioral constraints in such models. Most of the existing models have their origin in specific mathematical notations and/or concepts. In contrast, we have developed our model such that it accounts for a large set of phenomena associated with industrial implementations of object‐oriented distributed systems. The model that we propose, while closer to industrial concerns and practice, still has the powerful features of formal approaches. It also offers the possibility to automatically check at service run‐time that the final service implementation has not violated and is not violating properties expressed at the abstraction level of our model. In our model, which relies on event‐based behavioral abstraction, we use linear‐time temporal logic as the underlying formalism for the specification of properties. We introduce two novel operators which are especially useful for object‐oriented systems and which provide a number of advantages over the well‐known temporal logic operators. A recent decision of one of our industrial partners to adopt our proposal into one of their development platforms can be seen as a strong evidence of the relevance of our work and as a promising step towards a better understanding between the academic formal methods community and industry. Copyright © 2001 John Wiley & Sons, Ltd.

[1]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[2]  Colin Stirling,et al.  Modal and temporal logics , 1993, LICS 1993.

[3]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[4]  Amílcar Sernadas,et al.  A Linear Temporal Logic Approach to Objects with Transactions , 1997, AMAST.

[5]  Peter C. Bates,et al.  Debugging heterogeneous distributed systems using event-based models of behavior , 1988, PADD '88.

[6]  Henny B. Sipma,et al.  STeP: The Stanford Temporal Prover (Educational Release) User''s Manual , 1995 .

[7]  Zohar Manna,et al.  On the Faithfulness of Formal Models , 1991, MFCS.

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

[9]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[10]  Edward Y. Chang,et al.  STeP: The Stanford Temporal Prover , 1995, TAPSOFT.

[11]  Tiziana Margaria,et al.  A Constraint-Oriented Service Creation Environment , 1996, TACAS.

[12]  J. Maisonneuve,et al.  The PERCO platform , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[13]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[14]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[15]  Gerard J. Holzmann,et al.  The Theory and Practice of A Formal Method: NewCoRe , 1994, IFIP Congress.

[16]  Alexander Tuzhilin,et al.  Templar: a knowledge-based language for software specifications using temporal logic , 1991, TOIS.

[17]  Gordon S. Blair,et al.  A Specification Architecture for Multimedia Systems in Open Distributed Processing , 1997, Comput. Networks ISDN Syst..

[18]  Falk Dietrich Modelling and testing object-oriented communication services with temporal logic , 2000 .

[19]  Xavier Logean Run-time monitoring and on-line testing of middleware based communication services , 2000 .

[20]  Reinhard Gotzhein,et al.  Formal Definition and Representation of Interaction Points , 1992, Comput. Networks ISDN Syst..

[21]  Hans-Jürgen Kugler,et al.  Towards a Pan-European Telecommunication Service Infrastructure — IS&N '94 , 1994, Lecture Notes in Computer Science.

[22]  J. Jézéquel,et al.  Validating Distributed Software Modeled with UML , 1998 .

[23]  Hans-Dieter Ehrich,et al.  Object Specification , 1999, Algebraic Foundations of Systems Specification.

[24]  Shawn Koppenhoefer,et al.  Run-time monitoring of distributed applications , 1998 .

[25]  Michael J. Ferguson,et al.  Neglected Topics of Feature Interactions: Mechanisms, Architectures, Requirements , 1997, FIW.

[26]  Urs Eppenberger X.500 Directory Service Usage for X.400 E-Mail , 1993, Comput. Networks ISDN Syst..

[27]  Leslie Lamport,et al.  TLA in Pictures , 1995, IEEE Trans. Software Eng..

[28]  Kees Middelburg,et al.  Formalisation of Properties for Feature Interaction Detection: Experience in a Real-Life Situation , 1994, IS&N.

[29]  Hugh McGuire,et al.  Two methods for checking formulas of temporal logic , 1995 .

[30]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[31]  Jack J. Purdum,et al.  C programming guide , 1983 .

[32]  Marek J. Sergot,et al.  A Logic Programming Framework for Modeling Temporal Objects , 1996, IEEE Trans. Knowl. Data Eng..

[33]  Gunter Saake,et al.  TROLL: a language for object-oriented specification of information systems , 1996, TOIS.

[34]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[35]  Elisa Bertino,et al.  T_Chimera: A Temporal Object-Oriented Data Model , 1997, Theory Pract. Object Syst..

[36]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[37]  Qing Yu,et al.  Oracles for checking temporal properties of concurrent systems , 1994, SIGSOFT '94.

[38]  Angelo Morzenti,et al.  Object-oriented logical specification of time-critical systems , 1994, TSEM.

[39]  Cristina Sernadas,et al.  Object Speciication Logic , 1995 .

[40]  David C. Luckham,et al.  Rapide: A language and toolset for simulation of distributed systems by partial orderings of events , 1997, Partial Order Methods in Verification.

[41]  G. Donnan,et al.  SOFTWARE ARCHITECTURES, PRODUCT LINES AND FRAMEWORKS , 1999 .

[42]  Cristina Sernadas,et al.  Object Specification Logic , 1995, J. Log. Comput..

[43]  Lalita Jategaonkar Jagadeesan,et al.  A formal approach to reactive systems software: A telecommunications application in Esterel , 1995, Proceedings of 1995 IEEE Workshop on Industrial-Strength Formal Specification Techniques.

[44]  Antony Galton Temporal logic and computer science: an overview , 1987 .

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

[46]  Laura K. Dillon,et al.  Generating oracles from your favorite temporal logic specifications , 1996, SIGSOFT '96.

[47]  Z. Manna,et al.  Tools and rules for the practicing verifier , 1990 .

[48]  Reinhard Gotzhein,et al.  Towards a Basic Reference Model of Open Distributed Processing , 1995, Comput. Networks ISDN Syst..

[49]  Pierre-Alain Etique Service specification verification and validation for the intelligent network , 1995 .

[50]  Graeme I. Parkin,et al.  Overview: Survey of Formal Methods in Industry , 1993, FORTE.