A framework for comparing models of computation

We give a denotational framework (a "meta model") within which certain properties of models of computation can be compared. It describes concurrent processes in general terms as sets of possible behaviors. A process is determinate if, given the constraints imposed by the inputs, there are exactly one or exactly zero behaviors. Compositions of processes are processes with behaviors in the intersection of the behaviors of the component processes. The interaction between processes is through signals, which are collections of events. Each event is a value-tag pair, where the tags can come from a partially ordered or totally ordered set. Timed models are where the set of tags is totally ordered. Synchronous events share the same tag, and synchronous signals contain events with the same set of tags. Synchronous processes have only synchronous signals as behaviors. Strict causality (in timed tag systems) and continuity (in untimed tag systems) ensure determinacy under certain technical conditions. The framework is used to compare certain essential features of various models of computation, including Kahn process networks, dataflow, sequential processes, concurrent sequential processes with rendezvous, Petri nets, and discrete-event systems.

[1]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[2]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[3]  R. K. Yates,et al.  Networks of Real-Time Processes , 1993, CONCUR.

[4]  S. G. Matthews,et al.  An Extensional Treatment of Lazy Data Flow Deadlock , 1995, Theor. Comput. Sci..

[5]  Glynn Winskel,et al.  Models for Concurrency , 1994 .

[6]  Antoni W. Mazurkiewicz,et al.  Traces, Histories, Graphs: Instances of a Process Monoid , 1984, International Symposium on Mathematical Foundations of Computer Science.

[7]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[8]  Glynn Winskel,et al.  A Classification of Models for Concurrency , 1993, CONCUR.

[9]  R. J. Kulpinski,et al.  Dissemination of System Time , 1973, IEEE Trans. Commun..

[10]  David G. Messerschmitt,et al.  Synchronization in Digital System Design , 1990, IEEE J. Sel. Areas Commun..

[11]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[12]  A. W. Roscoe,et al.  Metric Spaces as Models for Real-Time Concurrency , 1987, MFPS.

[13]  Mukesh Singhal,et al.  Logical Time: Capturing Causality in Distributed Systems , 1996, Computer.

[14]  Mary Jane Phillips-Matz,et al.  Traces , 1991 .

[15]  Grzegorz Rozenberg,et al.  A Decade of Concurrency Reflections and Perspectives , 1994, Lecture Notes in Computer Science.

[16]  Erik P. de Vink,et al.  Control flow semantics , 1996 .

[17]  Christos G. Cassandras,et al.  Discrete event systems : modeling and performance analysis , 1993 .

[18]  G. Winskel The formal semantics of programming languages , 1993 .

[19]  lawa Kanas,et al.  Metric Spaces , 2020, An Introduction to Functional Analysis.

[20]  Jack B. Dennis,et al.  First version of a data flow procedure language , 1974, Symposium on Programming.

[21]  A. Benveniste Compositional and uniform modeling of hybrid systems , 1998 .

[22]  P. Le Guernic,et al.  Hybrid dynamical systems theory and the Signal language , 1990 .

[23]  Rajagopal Nagarajan,et al.  Interaction categories and the foundations of typed concurrent programming , 1996, NATO ASI DPD.

[24]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[25]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[26]  Samson Abramsky,et al.  Handbook of logic in computer science. , 1992 .

[27]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

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

[29]  Nicolas Halbwachs,et al.  Data-Flow Synchronous Languages , 1993, REX School/Symposium.

[30]  G. S. Fishman Principles of Discrete Event Simulation , 1978 .

[31]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[32]  Robin Milner,et al.  Action Structures and the Pi Calculus , 1995 .

[33]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[34]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

[35]  Frédéric Boussinot,et al.  The ESTEREL language , 1991, Proc. IEEE.

[36]  Yu-Chi Ho,et al.  Discrete event dynamic systems : analyzing complexity and performance in the modern world , 1992 .

[37]  S. G. Matthews,et al.  Partial Metric Topology , 1994 .

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

[39]  Glynn Winskel,et al.  An introduction to event structures , 1988, REX Workshop.

[40]  Glynn Winskel,et al.  Categories of Models for Concurrency , 1984, Seminar on Concurrency.

[41]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[42]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[43]  Grzegorz Rozenberg,et al.  Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency , 1988, Lecture Notes in Computer Science.

[44]  Gul Agha,et al.  Abstracting Interaction Patterns: A Programming Paradigm for Open Distributed Systems , 1997 .