L.0: A Truly Concurrent Executable Temporal Logic Language for Protocols

The semantics L.0, a programming language designed for the specification and simulation of protocols that assumes a true concurrency model, is given in terms of predicate linear temporal logic, and the restricted universe of models assumed in L.0 programs is defined. The execution algorithm for L.0 constructs a model in this universe. The restricted subset of temporal logic exploited permits a nonbacktracking execution algorithm. Fundamental to the semantics of L.0 is a frame assumption, which generalizes the frame assumption of standard imperative programming, and which eases specification of protocols. The data domain assumed in L.0 programs is sets of trees with labeled edges, and the state predicates permitted include existence and nonexistence predicates, as well as the more traditional assignment and equality predicates. These choices for data domain and predicates permit convenient specification of the hierarchical message structure often assumed in telecommunications protocols, for in such message structures, the existence or nonexistence of parts of the message hierarchy is determined by logical properties of the rest of the message hierarchy. A small portion of the logical layer specification of Futurebus+ is taken as the main example in this study. >

[1]  Nicolas Halbwachs,et al.  Specifying, Programming and Verifying Real-Time Systems Using a Synchronous Declarative Language , 1989, Automatic Verification Methods for Finite State Systems.

[2]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[3]  R. P. Kurshan,et al.  Reducibility in analysis of coordination , 1988 .

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

[5]  David M. Cohen,et al.  The L.0 Language and Environment for Protocol Simulation and Prototyping , 1991, IEEE Trans. Computers.

[6]  Francesca Rossi,et al.  Graph Rewriting for a Partial Ordering Semantics of Concurrent Constraint Programming , 1993, Theor. Comput. Sci..

[7]  Masahiro Fujita,et al.  Tokio: Logic Programming Language Based on Temporal Logic and its Compilation to Prolog , 1986, ICLP.

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

[9]  Nicolas Halbwachs,et al.  From a Synchronous Declarative Language to a Temporal Logic Dealing with Multiform Time , 1988, FTRTFT.

[10]  Joseph Sifakis,et al.  Verification in XESAR of the Sliding Window Protocol , 1987, PSTV.

[11]  Dov M. Gabbay,et al.  METATEM: A Framework for Programming in Temporal Logic , 1989, REX Workshop.

[12]  Amir Pnueli,et al.  Explicit clock temporal logic , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[13]  Antony Galton,et al.  Temporal logics and their applications , 1987 .

[14]  Rocco De Nicola,et al.  Partial orderings descriptions and observations of nondeterministic concurrent processes , 1988, REX Workshop.

[15]  Nicolas Halbwachs,et al.  Programming and verifying critical systems by means of the synchronous data-flow language LUSTRE , 1991 .

[16]  José Meseguer,et al.  Models and Equality for Logical Programming , 1987, TAPSOFT, Vol.1.

[17]  Amit P. Sheth,et al.  Executing multidatabase transactions , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[18]  Linda A. Ness Issues Arising in the Analysis of L.0 , 1990, CAV.

[19]  Alasdair Urquhart,et al.  Temporal Logic , 1971 .

[20]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[21]  Martín Abadi,et al.  Temporal Logic Programming , 1989, J. Symb. Comput..

[22]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

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

[24]  Thomas A. Henzinger,et al.  A really temporal logic , 1989, 30th Annual Symposium on Foundations of Computer Science.

[25]  Amit P. Sheth,et al.  An executor for multidatabase transactions which achieves maximal parallelism , 1991, [1991] Proceedings. First International Workshop on Interoperability in Multidatabase Systems.

[26]  Ben C. Moszkowski,et al.  Executing temporal logic programs , 1986, Seminar on Concurrency.

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

[28]  Robert P. Kurshan,et al.  Analysis of Discrete Event Coordination , 1989, REX Workshop.

[29]  Robert P. Kurshan,et al.  Software for analytical development of communications protocols , 1990, AT&T Technical Journal.

[30]  Rajeev Alur,et al.  Model-checking for real-time systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[31]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[32]  Marianne Baudinet,et al.  Temporal logic programming is complete and expressive , 1989, POPL '89.

[33]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[34]  R. P. Kurshan,et al.  Analysis of discrete evnet coordination , 1990 .

[35]  Dov M. Gabbay,et al.  The Declarative Past and Imperative Future: Executable Temporal Logic for Interactive Systems , 1987, Temporal Logic in Specification.

[36]  Edmund M. Clarke,et al.  Representing circuits more efficiently in symbolic model checking , 1991, 28th ACM/IEEE Design Automation Conference.

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