## A Framework for Comparing Models of Computation (1998)

### Cached

### Download Links

- [ptolemy.eecs.berkeley.edu]
- [www.ece.ucsb.edu]
- [www-inst.cs.berkeley.edu]
- [inst.cs.berkeley.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems |

Citations: | 244 - 54 self |

### BibTeX

@ARTICLE{Lee98aframework,

author = {Edward A. Lee and Alberto Sangiovanni-vincentelli},

title = {A Framework for Comparing Models of Computation},

journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems},

year = {1998},

volume = {17},

pages = {1217--1229}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract—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. I.

### Citations

3400 | Communicating Sequential Processes
- Hoare
- 1985
(Show Context)
Citation Context ...bandoning the use of these terms altogether. Our objectives overlap somewhat with prior efforts to provide mathematical models for concurrent systems, such as communicating sequential processes (CSP) =-=[19]-=-, calculus of communicating systems (CCS) [29], event structures [41], action structures [30], and interaction categories [1], and previous efforts to formally compare models of computation [37], [42]... |

3204 |
Communication and Concurrency
- Milner
- 1989
(Show Context)
Citation Context ...ur objectives overlap somewhat with prior efforts to provide mathematical models for concurrent systems, such as communicating sequential processes (CSP) [19], calculus of communicating systems (CCS) =-=[29]-=-, event structures [41], action structures [30], and interaction categories [1], and previous efforts to formally compare models of computation [37], [42]. We do not have a good answer for the questio... |

2328 | clocks, and the ordering of events in a distributed system
- Lamport
- 1978
(Show Context)
Citation Context ... ordering of events. However, when modeling a large concurrent system, the model should probably reflect the inherent difficulty in maintaining a consistent view of time in a distributed system [14], =-=[21]-=-, [28], [33]. This difficulty appears even in relatively small systems, such as very large scale integrated chips, where clock distribution is challenging. If an implementation cannot maintain a consi... |

1065 |
Introduction to Lattices and Order
- Davey, Priestley
- 2002
(Show Context)
Citation Context ...d only if . A set with an ordering relationship is called an ordered set. If the ordering relationship is partial (there exist such that neither nor ), then is called a partially ordered set or poset =-=[10]-=-, [39]. A. Timed Models of Computation A timed model of computation has a tag system where is a totally ordered set. That is, for any distinct and in , either or . In timed systems, a tag is also call... |

785 |
The semantics of a simple language for parallel programming
- Kahn
- 1974
(Show Context)
Citation Context ...rt of behavior is supported, for example, by the “select” statement in Ada). In this case, a composition of such processes is often nondeterminate. 2) Kahn Process Networks: In a Kahn process network =-=[20]-=-, processes communicate via channels, which are (informally) one-way unbounded first-in, first-out (FIFO) queues with a single reader and a single writer. Let again denote the tags in signal . The FIF... |

627 | Virtual time and global states of distributed systems
- Mattern
- 1989
(Show Context)
Citation Context ...d of time, then Mattern gives a more efficients1224 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 12, DECEMBER 1998 implementation by using “vector time” =-=[26]-=-. Unlike the work of Lamport, Fidge, and Mattern, we are not using partial orders in the implementation of systems, but rather are using them as an analytical tool to study models of computation and t... |

577 |
Petri Nets, An Introduction
- Reisig
- 1985
(Show Context)
Citation Context ...han just total ordering [32]. Mazurkiewicz uses partial orders in developing an algebra of concurrent “objects” associated with “events” [27]. Partial orders have also been used to analyze Petri nets =-=[36]-=-. Lamport observes that a coordinated notion of time cannot be exactly maintained in distributed systems, and shows that a partial ordering is sufficient [21]. He gives a mechanism in which messages i... |

488 | The synchronous dataflow programming language lustre
- Halbwachs, Caspi, et al.
- 1991
(Show Context)
Citation Context ... [12] had the notion of a “firing” as an integral part. Our use of the term is consistent with that of Dennis. The term is also applied to certain synchronous languages such as Lustre and Signal [6], =-=[17]-=-. Under our definitions, these are not dataflow languages.sLEE AND SANGIOVANNI-VINCENTELLI: COMPARING MODELS OF COMPUTATION 1225 , and the output by , which will be similarly ordered. With this notati... |

483 | Synchronous dataflow
- Lee, Messerschmitt
- 1987
(Show Context)
Citation Context ...ior. A discrete-time system is a synchronous discrete-event system. Cycle-based logic simulators are discrete-time systems. By this definition, the so-called synchronous dataflow model of computation =-=[22]-=- is not synchronous (we will say more about dataflow models below). The “synchronous languages” [4] (such as Lustre, Esterel, Signal, and Argos) are synchronous if we consider , where (bottom) denotes... |

473 |
Denotational Semantics: the Scott-Strachey Approach to Programming Languages Theory
- Stoy
- 1977
(Show Context)
Citation Context ...l” within which certain properties of the models of computation can be studied. To be sufficiently precise, this language is a mathematical one. It is denotational, in the sense of Scott and Strachey =-=[38]-=-, rather than operational, to avoid associating the semantics of a model of computation with an execution policy. In many denotational semantics, the denotation of a program fragment is a partial func... |

369 | The synchronous approach to reactive and real-time systems
- Benveniste, Berry
- 1991
(Show Context)
Citation Context ... discrete-time systems. By this definition, the so-called synchronous dataflow model of computation [22] is not synchronous (we will say more about dataflow models below). The “synchronous languages” =-=[4]-=- (such as Lustre, Esterel, Signal, and Argos) are synchronous if we consider , where (bottom) denotes the absence of an event. Indeed, a key property of synchronous languages is that the absence of an... |

266 | Dataflow process networks
- Lee, Parks
- 1995
(Show Context)
Citation Context ...his specification is not determinate in a timed tag system, it admits many possible implementation timings. 3) Dataflow: The dataflow model of computation is a special case 6 of Kahn process networks =-=[23]-=-. A dataflow process is a Kahn process that is also sequential, where the events on the self-loop signal denote the firings of the dataflow actor. The self-loop signal is called the firing signal. The... |

262 | Categories of models for concurrency
- Winskel
- 1984
(Show Context)
Citation Context ...(CSP) [19], calculus of communicating systems (CCS) [29], event structures [41], action structures [30], and interaction categories [1], and previous efforts to formally compare models of computation =-=[37]-=-, [42]. We do not have a good answer for the question “do we really need yet another meta model for concurrent systems?” except perhaps that our objectives are somewhat different and result in a model... |

239 |
The Formal Semantics of Programming Languages
- Winskel
- 1993
(Show Context)
Citation Context ...putation with an execution policy. In many denotational semantics, the denotation of a program fragment is a partial function or a relation on the state. This approach does not model concurrency well =-=[40]-=-, where the notion of a single global state may not be well defined. In our approach, the denotation of a process is a partial function or a relation on signals, and hence we can model concurrency wel... |

162 |
Discrete Event Systems: Modeling and Performance Analysis
- Cassandras
- 1993
(Show Context)
Citation Context ... stopping the processes, or it might be infinite. In some communities, notably, the control systems community, a discrete-event model also requires that the set of values be countable, or even finite =-=[9]-=-, [18]. This helps to keep the state space finite in certain circumstances, which can be a big help in formal analysis. However, in the simulation community, it is largely irrelevant whether is counta... |

156 | A timed model for communicating sequential processes
- Reed, Roscoe
- 1988
(Show Context)
Citation Context ...ametric, meaning that in addition to satisfying (11), it satisfies the stronger condition (21) This metric is sometimes called the Cantor metric. A similar form has been used by Reed and Roscoe [34], =-=[35]-=-. Their form is identical to this one for discrete signals. Metric spaces are also used by de Bakker and de Vink [11]. The Cantor metric converts our set of -tuples of signals into a metric space. In ... |

151 |
First version of a data-flow procedure language
- Dennis
(Show Context)
Citation Context ...dataflow” is sometimes applied to Kahn process networks in general, but this fails to reflect the heritage that dataflow has in computer architecture. The dataflow model originally proposed by Dennis =-=[12]-=- had the notion of a “firing” as an integral part. Our use of the term is consistent with that of Dennis. The term is also applied to certain synchronous languages such as Lustre and Signal [6], [17].... |

141 | The Esterel language - Boussinot - 1991 |

122 | Interaction categories and the foundations of typed concurrent programming
- Abramsky, Gay, et al.
- 1996
(Show Context)
Citation Context ... for concurrent systems, such as communicating sequential processes (CSP) [19], calculus of communicating systems (CCS) [29], event structures [41], action structures [30], and interaction categories =-=[1]-=-, and previous efforts to formally compare models of computation [37], [42]. We do not have a good answer for the question “do we really need yet another meta model for concurrent systems?” except per... |

95 |
S.: Principles of Discrete Event Simulation
- Fishman
- 1978
(Show Context)
Citation Context ... there do not exist two nonempty disjoint open sets and such that . 3) Discrete Event: Many simulators, including most digital circuit simulators, are based on a discrete-event model (see for example =-=[16]-=-). Given a process , and a tuple of signals that satisfies the process, let denote the set of tags appearing in any signal in the tuple . Clearly, , and the ordering relationship for members of induce... |

86 |
Hybrid dynamical systems theory and the signal language
- Benveniste, Guernic
- 1990
(Show Context)
Citation Context ...ticular “tick” (tag) is well defined. Another key property is that event tags are totally ordered. Any two events either have the same tag or one unambiguously precedes the other. The Signal language =-=[6]-=- is a particularly interesting case because it includes a nondeterminate operator “default” that permits the construction of programs with many possible interleavings of events. It is nonetheless sync... |

76 |
Partially ordered sets. In
- Trotter
- 1995
(Show Context)
Citation Context ... if . A set with an ordering relationship is called an ordered set. If the ordering relationship is partial (there exist such that neither nor ), then is called a partially ordered set or poset [10], =-=[39]-=-. A. Timed Models of Computation A timed model of computation has a tag system where is a totally ordered set. That is, for any distinct and in , either or . In timed systems, a tag is also called a t... |

49 | Abstracting Interaction Patterns: A Programming Paradigm for Open Distributed Systems - Agha - 1997 |

46 | Logical Time: Capturing Causality in Distributed Systems
- Raynal, Singhal
- 1996
(Show Context)
Citation Context ... events. However, when modeling a large concurrent system, the model should probably reflect the inherent difficulty in maintaining a consistent view of time in a distributed system [14], [21], [28], =-=[33]-=-. This difficulty appears even in relatively small systems, such as very large scale integrated chips, where clock distribution is challenging. If an implementation cannot maintain a consistent view o... |

42 |
Control Flow Semantics
- Bakker, Vink
- 1996
(Show Context)
Citation Context ...es called the Cantor metric. A similar form has been used by Reed and Roscoe [34], [35]. Their form is identical to this one for discrete signals. Metric spaces are also used by de Bakker and de Vink =-=[11]-=-. The Cantor metric converts our set of -tuples of signals into a metric space. In this metric space, two signals are “close” (the distance is small) if they are identical up to a large tag. The metri... |

42 | Metric spaces as models for real-time concurrency
- Reed, Roscoe
- 1988
(Show Context)
Citation Context ...n ultrametric, meaning that in addition to satisfying (11), it satisfies the stronger condition (21) This metric is sometimes called the Cantor metric. A similar form has been used by Reed and Roscoe =-=[34]-=-, [35]. Their form is identical to this one for discrete signals. Metric spaces are also used by de Bakker and de Vink [11]. The Cantor metric converts our set of -tuples of signals into a metric spac... |

37 | Cooperating sequential processes. Programming Languages - Dijkstra - 1968 |

27 |
Synchronization in Digital System Design
- Messerschmitt
- 1990
(Show Context)
Citation Context ...ing of events. However, when modeling a large concurrent system, the model should probably reflect the inherent difficulty in maintaining a consistent view of time in a distributed system [14], [21], =-=[28]-=-, [33]. This difficulty appears even in relatively small systems, such as very large scale integrated chips, where clock distribution is challenging. If an implementation cannot maintain a consistent ... |

26 |
Discrete Event Dynamic Systems: Analyzing Complexity and Performance in the Modern World
- Ho
- 1992
(Show Context)
Citation Context ...ping the processes, or it might be infinite. In some communities, notably, the control systems community, a discrete-event model also requires that the set of values be countable, or even finite [9], =-=[18]-=-. This helps to keep the state space finite in certain circumstances, which can be a big help in formal analysis. However, in the simulation community, it is largely irrelevant whether is countable [1... |

23 |
Metric Spaces
- Bryant
- 1985
(Show Context)
Citation Context ...hat converges does so to a limit that is also in the metric space. It can be verified that the set of signals in a discrete-event system is complete. The Banach fixed-point theorem (see, for example, =-=[8]-=-) states that if is a contraction mapping and is a complete metric space, then there is exactly one such that . 8 This is called a fixed point. Moreover, the Banach fixed-point theorem gives a constru... |

22 |
An extensional treatment of lazy data flow deadlock. Theoretical Computer Science 151
- Matthews
- 1995
(Show Context)
Citation Context ... of signals called the prefix order. Matthews has given the beginnings of an approach to unifying the metric space methods of the previous section with the partial-order-based methods of this section =-=[24]-=-, [25]. He uses a partial metric, which is the least generalization of a metric that does not require an object to have zero distance to itself. Matthews has given a treatment of dataflow deadlock usi... |

21 |
Traces, histories, graphs: Instances of a process monoid
- Mazurkiewicz
- 1984
(Show Context)
Citation Context ...are not order isomorphic. “Order isomorphism” captures the notion of “discrete” (indeed, Mazurkiewicz gives a considerably more complicated but equivalent notion of discreteness in terms of relations =-=[27]-=-). It captures the intuitively appealing concept that between any two finite time stamps there will be a finite number of time stamps. Note further that while we insist that be discrete (which is stro... |

19 |
Networks of real-time processes
- Yates
- 1993
(Show Context)
Citation Context ...-point theorem tells us that if the process is functional and delta causal, then the feedback loop has exactly one behavior (i.e., it is determinate). This determinacy result was also proved by Yates =-=[43]-=-, although he used somewhat different methods. Moreover, the Banach fixed-point theorem gives us a constructive way to find that behavior. Start with any guess about the signals (most simulators start... |

18 |
Modeling Concurrency with Partial Orders, Internat
- Pratt
- 1986
(Show Context)
Citation Context ...ers to model concurrent systems. Pratt gives an excellent motivation for doing so, and then generalizes the notion of formal string languages to allow partial ordering rather than just total ordering =-=[32]-=-. Mazurkiewicz uses partial orders in developing an algebra of concurrent “objects” associated with “events” [27]. Partial orders have also been used to analyze Petri nets [36]. Lamport observes that ... |

15 | Compositional and uniform modelling of hybrid systems
- Benveniste
- 1998
(Show Context)
Citation Context ...s simply a subset of e 2 f. Fig. 1. Composition of independent processes. Fig. 2. An interconnection of processes. defined as a subset of the same set of signals , called by some researchers its sort =-=[3]-=-. Consider, for example, the two processes and in Fig. 1. These are each subsets of , but they are of different sorts. relates an entirely different set of signals than . The composition involves eigh... |

10 |
Models for Concurrency, Handbook of Logic
- Winskel, Nielsen
- 1995
(Show Context)
Citation Context ...[19], calculus of communicating systems (CCS) [29], event structures [41], action structures [30], and interaction categories [1], and previous efforts to formally compare models of computation [37], =-=[42]-=-. We do not have a good answer for the question “do we really need yet another meta model for concurrent systems?” except perhaps that our objectives are somewhat different and result in a model that ... |

7 |
Fidge, “Logical Time in Distributed Systems
- J
- 1991
(Show Context)
Citation Context ...rocesses having information or knowledge at a consistent cut, rather than “simultaneously.” Fidge gives a related mechanism in which processes that can fork and join increment a counter on each event =-=[15]-=-. A partial ordering relationship between these lists of times is determined by process creation, destruction, and communication. If the number of processes is fixed ahead of time, then Mattern gives ... |

6 |
Dissemination of systemtime
- Ellingson, Kulpinski
- 1973
(Show Context)
Citation Context ...nsuing ordering of events. However, when modeling a large concurrent system, the model should probably reflect the inherent difficulty in maintaining a consistent view of time in a distributed system =-=[14]-=-, [21], [28], [33]. This difficulty appears even in relatively small systems, such as very large scale integrated chips, where clock distribution is challenging. If an implementation cannot maintain a... |

3 |
Partial metric topology,” in General Topology & Its Applications, S. Andima et al., Eds
- Matthews
- 1994
(Show Context)
Citation Context ...gnals called the prefix order. Matthews has given the beginnings of an approach to unifying the metric space methods of the previous section with the partial-order-based methods of this section [24], =-=[25]-=-. He uses a partial metric, which is the least generalization of a metric that does not require an object to have zero distance to itself. Matthews has given a treatment of dataflow deadlock using thi... |

2 |
Guernic, “Data-flow synchronous languages”, In A Decade of Concurrency, reflexions and perspectives
- Benveniste, Caspi, et al.
- 1994
(Show Context)
Citation Context ...site process , where . Projection then facilitates composition of this process with others, since the others will not need to be augmented to involve irrelevant signals. A similar approach is used in =-=[5]-=- for process composition within a more specialized framework. (5) (6) Composition is set intersection. Cross product and projection are syntactic operations that merely give process definitions the ri... |

1 |
Ein denotationales modell für objektbasierte Systeme
- Naundorf
- 1995
(Show Context)
Citation Context ...y output of a process can be produced in reaction to an input event. 7 Naundorf has pointed out that inclusion of infinite distance requires careful generalization of the definition of a metric space =-=[31]-=-. Fortunately, for practical reasons, this is usually not an issue because all signals have a common prefix. Specifically, there is usually a starting time before which there are no events. If that st... |

1 |
introduction to event structures,” in Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency
- “An
- 1989
(Show Context)
Citation Context ...omewhat with prior efforts to provide mathematical models for concurrent systems, such as communicating sequential processes (CSP) [19], calculus of communicating systems (CCS) [29], event structures =-=[41]-=-, action structures [30], and interaction categories [1], and previous efforts to formally compare models of computation [37], [42]. We do not have a good answer for the question “do we really need ye... |