Compositional Proofs for Real-Time Modular Systems

One common problem in applying formal methods to the analysis of realistic industrial-size systems is that these methods often do not scale well. In order to overcome such difficulty, formal languages and tools supporting modularization and compositionality must be realized and used. Under this respect, this thesis addresses the problem of designing techniques and tools to support the formal specification and verification of large modular real-time systems. The reference specification language for this analysis is the temporal metric TRIO. First, a mapping of the modular features of the TRIO language onto the language of the theorem prover PVS is designed. In connection with this, a number of automated proof strategies are designed to support the conduction of TRIO proofs in the PVS environment. Second, a rely/guarantee compositional framework for the language TRIO is discussed and a compositional proof rule is derived. This framework is also encoded in the PVS environment, so that it is practically usable. Finally, the benefits of adopting the proposed rely/guarantee compositional framework are discussed with the aid of working examples.

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

[2]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[3]  Angelo Gargantini,et al.  Dealing with Zero-Time Transitions in Axiom Systems , 1999, Inf. Comput..

[4]  Jeffrey J. P. Tsai,et al.  Compositional verification of concurrent systems using Petri-net-based condensation rules , 1998, TOPL.

[5]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[6]  Zohar Manna,et al.  Automatic Generation of Invariants and Intermediate Assertions , 1997, Theor. Comput. Sci..

[7]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[8]  Brian Randell,et al.  Report on a conference sponsored by the NATO Science Committee , 1968 .

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

[10]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[11]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[12]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[13]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[14]  Natarajan Shankar,et al.  Lazy Compositional Verification , 1997, COMPOS.

[15]  A. Prasad Sistla,et al.  Safety, liveness and fairness in temporal logic , 1994, Formal Aspects of Computing.

[16]  Edward Y. Chang,et al.  Compositional verification of real-time systems , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[17]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

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

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

[20]  Angelo Gargantini,et al.  Automated deductive requirements analysis of critical systems , 2001, TSEM.

[21]  Moshe Y. Vardi On the complexity of modular model checking , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[22]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1994, TOPL.

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

[24]  C. A. R. Hoare,et al.  A Calculus of Durations , 1991, Inf. Process. Lett..

[25]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

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

[27]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[28]  Jozef Hooman Compositional Verification of Real-Time Applications , 1997, COMPOS.

[29]  Martín Abadi,et al.  An Abstract Account of Composition , 1995, MFCS.

[30]  Albert Mo Kim Cheng,et al.  Real-time systems - scheduling, analysis, and verification , 2002 .

[31]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[32]  Sandro Morasca,et al.  A tool for automated system analysis based on modular specifications , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[33]  N. Falconer Structured Programming , 1973, Nature.

[34]  Ernst-Rüdiger Olderog,et al.  Decomposing Real-Time Specifications , 1997, COMPOS.

[35]  Kedar S. Namjoshi,et al.  On the completeness of compositional reasoning , 2000 .

[36]  Henny B. Sipma,et al.  Deductive verification of real-time systems using STeP , 1997, Theor. Comput. Sci..

[37]  Jeffrey J. P. Tsai,et al.  Compositional Verification of Concurrent and Real-Time Systems , 2002 .

[38]  Tadao Murata,et al.  An Application of Petri Net Reduction for Ada Tasking Deadlock Analysis , 1996, IEEE Trans. Parallel Distributed Syst..

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

[40]  Bernd Finkbeiner,et al.  Deductive Verification of Modular Systems , 1997, COMPOS.

[41]  Dino Mandrioli,et al.  Formal Methods for Real-Time Computing , 1996 .

[42]  Kedar S. Namjoshi,et al.  On the Competeness of Compositional Reasoning , 2000, CAV.

[43]  Leslie Lamport Composition: A Way to Make Proofs Harder , 1997, COMPOS.

[44]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[45]  Zohar Manna,et al.  Clocked Transition Systems , 1996 .

[46]  Sandro Morasca,et al.  Generation of Execution Sequences for Modular Time Critical Systems , 2000, IEEE Trans. Software Eng..

[47]  Sol M. Shatz,et al.  Using state space reduction methods for deadlock analysis in Ada tasking , 1993, ISSTA '93.

[48]  Willem P. de Roever,et al.  The Need for Compositional Proof Systems: A Survey , 1997, COMPOS.

[49]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

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

[51]  Edward Y. Chang,et al.  STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems , 1996, CAV.