Modular Verification of Petri Nets: The Temporal Logic Approach

"How does reactive behaviour decompose? What can be done to encourage stepwise refinement of the behavioural aspects of a system? How can one cope with the intricacy, that the behaviour of a complex reactive system presents??" These questions, posed in [HP85] and informally discussed there in the setting of statecharts, are taken up in this paper using a particular class of Petri-Nets as models for open reactive systems. It presents an assumption/commitment style temporal logic [Pn85] for specifying the behaviour of such systems, an automatic proof method for verifying the correctness of an implementation of such a specification in terms of the considered class of Petri-Nets based on modelchecking of MCTL formula (discussed in a companion paper [Jo89]), and presents a proof-method for infering the behaviour of a compound reactive system from the behaviour of its constituents.

[1]  Pierre Wolper,et al.  Synthesis of Communicating Processes from Temporal Logic Specifications , 1981, TOPL.

[2]  Pierre Wolper,et al.  Specification and synthesis of communicating processes using an extended temporal logic: (preliminary version) , 1982, POPL '82.

[3]  Bernhard Josko,et al.  Modelchecking of CTL Formulae under Liveness Assumptions , 1987, ICALP.

[4]  Roberto Gorrieri,et al.  An Exercise in Concurrency: a CSP Process as a Condition/ event System , 1988, European Workshop on Applications and Theory of Petri Nets.

[5]  Werner Damm,et al.  Specifying distributed computer architectures in AADL , 1989, Parallel Comput..

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

[7]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends , 1986, Current Trends in Concurrency.

[8]  Wolfgang Reisig,et al.  Partial Order Semantics versus Interleaving Semantics for CSP-like Languages and its Impact on Fairness , 1984, ICALP.

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

[10]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[11]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

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

[13]  Bernhard Josko,et al.  Verifying the Correctness of AADL Modules Using Model Checking , 1989, REX Workshop.

[14]  Joseph Y. Halpern,et al.  "Sometimes" and "not never" revisited: on branching versus linear time (preliminary report) , 1983, POPL '83.

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

[16]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[17]  Joseph Y. Halpern,et al.  Decision procedures and expressiveness in the temporal logic of branching time , 1982, STOC '82.

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

[19]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.