Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends

As a generic c o m p u t a t i o n a l model we p resen t the model of fair transition systems (FTS) . T h e p r e s e n t a t i o n a n d discussion of th is model follows IMP1]. A fair t r ans i t i on sys t em consists of the following cons t i tuen t s : A (possibly infinite) set of states. T A finite set of transitions. Each t r ans i t i on v E T is a func t ion r: ~ ~ 2 ~:. O A set of initial states. 0 C_ E. J A Justice family. This is a family of sets J = ( J 1 , . . , J=}, where each J i ___ T presents a justice requ i rement . jr _ A Fairness family. This is a family of sets 7 = { F 1 , . . . ,Fk}, where each Fi _ T presents a fairness requ i rement . If 7(s) # 0 we say t h a t the t r a n s i t i o n 7 is enabled on t h e s t a t e s. If r ( s ) = O, t hen v is said to be disabled on s. Let S C T be a set of t rans i t ions . If for some v E S, r is enab led on s, we say t h a t the set S is enab led on s. Given an F T S P , we define a computation of P to be a finite or infini te sequence of s ta tes a n d t rans i t ions : v0 vl 1"2 0": 8 0 ~ 8 1 ~ 8 2 -~ " • " sat is fying the following requi rements : • Ini t ia l i ty: so E 0 • Consecut ion: For each i, s i+ l C r i (s i ) • Te rmina t ion : a is finite and t e r m i n a t e s in Sk only if Sk is terminal, i.e., for every ~ E T, ~(sk) --O. • Just ice: Let J i E J be a jus t ice set which is cont inuous ly enabled beyond some sk. Then , some t r ans i t i on in J i m u s t be taken at least once beyond sk, i.e., the re mus t be a j > k such t h a t ~-j E J i . Th i s implies, in fact , t h a t t r ans i t i ons in J i mus t be t aken infinitely m a n y t imes in a . • Fairness: Let F / E Jr be a fairness set which is enab led infinitely m a n y t imes in a . Then , t r ans i t ions in Fi mus t be taken infinitely m a n y t imes in a . Some o the r works, such as [GFMR] and [AOI, refer to our no t ion of jus t i ce as weak fairness and to our no t ion of fairness as strong fairness.

[1]  Zohar Manna,et al.  Proving Precedence Properties: The Temporal Way , 1983, ICALP.

[2]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

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

[4]  Willem P. de Roever,et al.  Real-time programming and asynchronous message passing , 1983, PODC '83.

[5]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[6]  Ernst-Rüdiger Olderog,et al.  Proof Rules and Transformations Dealing with Fairness , 1983, Sci. Comput. Program..

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

[8]  R. McNaughton,et al.  Counter-Free Automata , 1971 .

[9]  Micha Sharir,et al.  Verification of Probabilistic Programs , 1984, SIAM J. Comput..

[10]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[11]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[12]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[13]  J. Büchi Weak Second‐Order Arithmetic and Finite Automata , 1960 .

[14]  Matthew Hennessy,et al.  A Term Model for CCS , 1980, MFCS.

[15]  Zohar Manna,et al.  Formalization of properties of parallel programs , 1970 .

[16]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

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

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

[19]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

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

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

[22]  守屋 悦朗,et al.  J.E.Hopcroft, J.D. Ullman 著, "Introduction to Automata Theory, Languages, and Computation", Addison-Wesley, A5変形版, X+418, \6,670, 1979 , 1980 .

[23]  Brent Hailpern Verifying Concurrent Processes Using Temporal Logic , 1982, Lecture Notes in Computer Science.

[24]  A. Prasad Sistla,et al.  On characterization of safety and liveness properties in temporal logic , 1985, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

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

[26]  A. Prasad Sistla,et al.  Can Message Buffers Be Axiomatized in Linear Temporal Logic? , 1984, Inf. Control..

[27]  Zohar Manna,et al.  Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs , 1984, Sci. Comput. Program..

[28]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[29]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

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

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

[32]  Edward A. Ashcroft Proving Assertions about Parallel Programs , 1975, J. Comput. Syst. Sci..

[33]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[34]  Willem P. de Roever,et al.  Fairness Assumptions for CSP in a Temporal Logic Framework , 1982, Formal Description of Programming Concepts.

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

[36]  Z. Manna,et al.  Verification of concurrent programs: a temporal proof system , 1983 .

[37]  K. Mani Chandy Concurrent programming for the masses (invited address) , 1985, PODC '85.

[38]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[39]  Wolfgang Thomas,et al.  A Combinatorial Approach to the Theory of omega-Automata , 1981, Inf. Control..

[40]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[41]  P. M. Melliar-Smith,et al.  From State Machines to Temporal Logic: Specification Methods for Protocol Standards , 1982, The Analysis of Concurrent Systems.