Compositional Verification of Reactive and Real-time Systems

This thesis presents a compositional methodology for the verification of reactive and real-time systems. The correctness of a given system is established from the correctness of the system''s components, each of which may be treated as a system itself and further reduced. When no further reduction is possible or desirable, global techniques for verification may be used to verify the bottom-level components. Transition modules are introduced as a suitable compositional model of computation. Various composition operations are defined on transition modules, including parallel composition, sequential composition, and iteration. A restricted assumption-guarantee style of specification is advocated, wherein the environment assumption is stated as a restriction on the environment''s next-state relation. Compositional proof rules are provided in accordance with the safety-progress hierarchy of temporal properties. The compositional framework is then extended naturally to real-time transition modules and discrete-time metric temporal logic.

[1]  Willem P. de Roever,et al.  A Proof System for Partial Correctness of Dynamic Networks of Processes (Extended Abstract) , 1983, Logic of Programs.

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

[3]  K. Mani Chandy,et al.  Proving safety and liveness of communicating processes with examples , 1982, PODC '82.

[4]  David Peleg,et al.  Process Logic with Regular Formulas , 1985, Theor. Comput. Sci..

[5]  Howard Barringer,et al.  Hierarchical Development of Cncurrent Systems in a Temporal Logic Framework , 1984, Seminar on Concurrency.

[6]  Van Nguyen,et al.  A model and temporal proof system for networks of processes , 1985, POPL '85.

[7]  KoymansRon Specifying real-time properties with metric temporal logic , 1990 .

[8]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[9]  A. Prasad Sistla,et al.  The complexity of propositional linear temporal logics , 1982, STOC '82.

[10]  Thomas A. Henzinger,et al.  Temporal Proof Methodologies for Timed Transition Systems , 1994, Inf. Comput..

[11]  David Harel,et al.  Process logic: Expressiveness, decidability, completeness , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[12]  Pierre Collette,et al.  Application of the Composition Principle to Unity-like Specifications , 1993, TAPSOFT.

[13]  Thomas A. Henzinger,et al.  Real-Time Logics: Complexity and Expressiveness , 1993, Inf. Comput..

[14]  Paritosh K. Pandya,et al.  Specification and Verification of Total Correctness of Distributed Programs , 1987 .

[15]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[16]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[17]  Job Zwiers,et al.  Compositionality, Concurrency and Partial Correctness , 1989, Lecture Notes in Computer Science.

[18]  Larry Joseph Stockmeyer,et al.  The complexity of decision problems in automata theory and logic , 1974 .

[19]  Van Nguyen,et al.  Behavior: A Temporal Approach to Process Modelling , 1985, Logic of Programs.

[20]  Martín Abadi,et al.  A logical view of composition and refinement , 1991, POPL '91.

[21]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[22]  Thomas A. Henzinger,et al.  Back to the future: towards a theory of timed regular languages , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[23]  Brent Hailpern,et al.  Modular Verification of Computer Communication Protocols , 1983, IEEE Trans. Commun..

[24]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[25]  Amir Pnueli,et al.  A Choppy Logic , 1986, LICS.

[26]  Zohar Manna,et al.  A Hardware Semantics Based on Temporal Intervals , 1983, ICALP.

[27]  Willem P. de Roever,et al.  A Proof System for Communicating Sequential Processes , 1980, ACM Trans. Program. Lang. Syst..

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

[29]  Willem P. de Roever,et al.  Compositionality and Modularity in Process Specification and Design: A Trace-State Based Approach , 1987, Temporal Logic in Specification.

[30]  Eduard Cerny,et al.  An Algebraic Model for Asynchronous Circuits Verification , 1988, IEEE Trans. Computers.

[31]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[32]  Leslie Lamport,et al.  The ``Hoare Logic'' of CSP, and All That , 1984, TOPL.

[33]  Nissim Francez,et al.  Program Composition and Modular Verification , 1991, ICALP.

[34]  Joseph Y. Halpern,et al.  Equations between regular terms and an application to process logic , 1981, STOC '81.

[35]  Jean-Pierre Banâtre,et al.  Parallel Program Design , 1991, Research Directions in High-Level Parallel Programming Languages.

[36]  Leslie Lamport,et al.  Verification of a Multiplier: 64 Bits and Beyond , 1993, CAV.

[37]  Zohar Manna,et al.  Completing the Temporal Picture , 1989, Theor. Comput. Sci..

[38]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[39]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

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