Models and logics for true concurrency

A distributed computer system consists of different processes oragents that function largely autonomously and coordinate their actions by communicating with each other. In such a situation, actions may be performed by different agents of the system locally, in a concurrent manner.In this paper, we first discuss formal models of distributed systems in which concurrency is specifiedexplicitly, in contrast to more traditional approaches where concurrency is representedimplicitly as a nondeterministic choice between all possible sequentializations of concurrent actions. This naturally leads to models based on partially-ordered sets of actions rather than sequences of actions and is often called thetrue concurrency approach. The models we focus on are distributed transition systems, elementary net systems and event structures.In the second half of the paper, we develop a family of logics to specify and reason about the behavioural properties of the models we have described. The logics we define are extensions of temporal logic with new modalities to directly describe concurrency.This paper is essentially a survey of work done by the authors during the last few years on modelling distributed systems with true concurrency and using logic to reason about these models. The emphasis is on motivating definitions through examples and on presenting major results, without going into too many formal details. We provide pointers to the literature where these details can be found.

[1]  Hao Wang Proving theorems by pattern recognition — II , 1961 .

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

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

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

[5]  J. Burgess Decidability for branching time , 1980 .

[6]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

[7]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[8]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[9]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[10]  Abha Moitra Technical Correspondence: On Apt, Francez, and de Roever's ``A Proof System for Communicating Sequential Processes'' , 1983 .

[11]  John P. Burgess,et al.  Basic Tense Logic , 1984 .

[12]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[13]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[14]  D. Harel Recurring dominoes: making the highly undecidable highly understandable , 1985 .

[15]  Wolfgang Reisig,et al.  Petri Nets: Central Models and Their Properties , 1986, Lecture Notes in Computer Science.

[16]  A. P. Sistla,et al.  Automatic verification of finite-state concurrent systems using temporal logic specifications , 1986, TOPL.

[17]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[18]  David Peleg,et al.  Concurrent dynamic logic , 1987, JACM.

[19]  P. S. Thiagarajan,et al.  A Modal Logic for a Subclass of Event Structures , 1987, ICALP.

[20]  Colin Stirling,et al.  Modal Logics for Communicating Systems , 1987, Theor. Comput. Sci..

[21]  Ugo Montanari,et al.  Concurrent Histories: A Basis for Observing Distributed Systems , 1987, J. Comput. Syst. Sci..

[22]  Wieslaw Zielonka,et al.  Notes on Finite Asynchronous Automata , 1987, RAIRO Theor. Informatics Appl..

[23]  Rob J. van Glabbeek,et al.  Petri Net Models for Algebraic Theories of Concurrency , 1987, PARLE.

[24]  Ilaria Castellani,et al.  A non-interleaving semantics for CCS based on proved transitions , 1988 .

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

[26]  P. S. Thiagarajan,et al.  A logic for distributed transition systems , 1988, REX Workshop.

[27]  Doron A. Peled,et al.  An efficient verification method for parallel and distributed programs , 1988, REX Workshop.

[28]  Wolfgang Reisig Towards a temporal logic of causality and choice in distributed systems , 1988, REX Workshop.

[29]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[30]  Eugene W. Stark,et al.  Concurrent Transition Systems , 1989, Theor. Comput. Sci..

[31]  Rohit Parikh Decidability and Undecidability in Distributed Transition Systems , 1989, A Perspective in Theoretical Computer Science.

[32]  Madhavan Mukund,et al.  An Axiomatization of Event Structures , 1989, FSTTCS.

[33]  Gérard Boudol Flow Event Structures and Flow Nets , 1990, Semantics of Systems of Concurrent Processes.

[34]  P. S. Thiagarajan Some Behavioural Aspects of Net Theory , 1990, Theor. Comput. Sci..

[35]  Wojciech Penczek,et al.  A Temporal Logic for Event Structures , 1990 .

[36]  Madhavan Mukund,et al.  A Logical Characterization of Well Branching Event Structures , 1992, Theor. Comput. Sci..

[37]  P. S. Thiagarajan,et al.  Temporal Logics for Communicating Sequential Agents: I , 1992, Int. J. Found. Comput. Sci..