## Hierarchical Finite State Machines with Multiple Concurrency Models (1999)

### Cached

### Download Links

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

### Other Repositories/Bibliography

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

Citations: | 116 - 36 self |

### BibTeX

@ARTICLE{Girault99hierarchicalfinite,

author = {Alain Girault and Bilung Lee and Edward A. Lee},

title = {Hierarchical Finite State Machines with Multiple Concurrency Models},

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

year = {1999},

volume = {18},

pages = {742--760}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper studies the semantics of hierarchical finite state machines (FMS's) that are composed using various concurrency models, particularly dataflow, discrete-events, and synchronous/reactive modeling. It is argued that all three combinations are useful, and that the concurrency model can be selected independently of the decision to use hierarchical FSM's. In contrast, most formalisms that combine FSM's with concurrency models, such as Statecharts (and its variants) and hybrid systems, tightly integrate the FSM semantics with the concurrency semantics. An implementation that supports three combinations is described.

### Citations

3825 |
Introduction to Automata Theory, Languages, and Computation
- Hopcroft, UlIman
- 1979
(Show Context)
Citation Context ...ntal implementation in the Ptolemy environment [13], where hierarchical FSM’s can be combined with DF, DE, and SR concurrency models. II. FINITE STATE MACHINES A. The Basic FSM An FSM is a five-tupl=-=e [26]-=- (1)s744 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 18, NO. 6, JUNE 1999 Fig. 1. A basic FSM. where finite set of symbols denoting states; set of symbols denot... |

3397 | Communicating Sequential Processes
- Hoare
- 1985
(Show Context)
Citation Context ...ous. A popular one today is threads, where a set of sequential processes operate on the same data. More sophisticated concurrent models of computation include communicating sequential processes (CSP) =-=[25], -=-the pi calculus [38], dataflow (DF) [19], process networks [28], discrete events (DE’s) [14], and the synchronous/reactive (SR) model [5]. These models are more sophisticated in the sense that compl... |

2121 | Statecharts : a visual formalism for complex systems
- Harel
- 1987
(Show Context)
Citation Context ...l requirements and concurrency. Thus, combining FSM’s with concurrent models of computation is an attractive and increasingly popular approach to design. Since Harel introduced that Statecharts mode=-=l [23] i-=-n 1987, a number of variations have been explored [44]. The Argos language [36], [37], for example, combines FSM’s with a SR concurrency model [5]. Jourdan et al. [27] combine the synchronous langua... |

1499 |
The Temporal Logic of Reactive and Concurrent Systems, Specification
- Manna, Pnueli
- 1992
(Show Context)
Citation Context ...mbinations is described. Index Terms— Concurrency, discrete events, finite state machines (FSM’s), heterogeneity, hierarchy, modeling, synchronous dataflow languages. I. INTRODUCTION MANNA and Pnu=-=eli [35]-=- argue that concurrency is the essential feature of reactive systems, a class that includes all embedded systems, real-time systems, and many software systems. In concurrent systems, modules consist o... |

1063 |
Introduction to lattices and order
- DAVEY, PRIESTLEY
- 1990
(Show Context)
Citation Context ...a fixed point theorem based on the Knaster–Tarski fixed-point theorem to show that any network of such monotonic functions has a least fixed point, where “least” is with respect to this partial =-=order [18]-=-. The least fixed point is taken to be the semantics of the network of functions. This basic approach was pioneered by Scott [42], Manna [34], and others. Many practical implementations of the SR mode... |

995 | A calculus of mobile processes
- Milner, Parrow, et al.
- 1992
(Show Context)
Citation Context ...ay is threads, where a set of sequential processes operate on the same data. More sophisticated concurrent models of computation include communicating sequential processes (CSP) [25], the pi calculus =-=[38], -=-dataflow (DF) [19], process networks [28], discrete events (DE’s) [14], and the synchronous/reactive (SR) model [5]. These models are more sophisticated in the sense that complex concurrent systems ... |

782 |
The semantics of a simple language for parallel programming
- Kahn
- 1974
(Show Context)
Citation Context ...ocesses operate on the same data. More sophisticated concurrent models of computation include communicating sequential processes (CSP) [25], the pi calculus [38], dataflow (DF) [19], process networks =-=[28], -=-discrete events (DE’s) [14], and the synchronous/reactive (SR) model [5]. These models are more sophisticated in the sense that complex concurrent systems can be more easily designed, and the design... |

671 | The esterel synchronous programming language : design, semantics, implementation. Rapport de recherche RR-842
- Berry, Gonthier
- 1988
(Show Context)
Citation Context ...e [5], which resolves apparent circular dependencies by seeking at each instant a least fixed point, a globally consistent behavior. The SR principle, first developed by Berry in the Esterel language =-=[8], -=-gives a well-defined and determinate semantics to simultaneous concurrent actions. But there is no reason to restrict concurrent FSM’s to SR semantics. Indeed, all known high-level concurrency model... |

596 | The algorithmic analysis of hybrid systems
- Alur, Courcoubetis, et al.
- 1995
(Show Context)
Citation Context ...iscrete-event (DE) concurrency model. Pankert et al. combine synchronous DF [31] with FSM’s [40], [36]. Program-state machines (PSM) combine imperative semantics with FSM’s [39], [43]. Hybrid syst=-=ems [1]-=-, [24] mix concurrent continuous-time systems (usually given as differential equations) with finite automata. Simulink, from The MathWorks, Inc. (Nattick, MA), provides a simulation environment for su... |

493 | Ptolemy: A framework for simulating and prototyping heterogeneous systems
- Buck, Ha, et al.
- 1994
(Show Context)
Citation Context ...DF, we introduce a new subset of DF called heterochronous dataflow (HDF) that combines particularly well with FSM’s. We then briefly describe an experimental implementation in the Ptolemy environmen=-=t [13], -=-where hierarchical FSM’s can be combined with DF, DE, and SR concurrency models. II. FINITE STATE MACHINES A. The Basic FSM An FSM is a five-tuple [26] (1)s744 IEEE TRANSACTIONS ON COMPUTER-AIDED DE... |

488 | The synchronous dataflow programming language lustre
- Halbwachs, Caspi, et al.
- 1991
(Show Context)
Citation Context ...a number of variations have been explored [44]. The Argos language [36], [37], for example, combines FSM’s with a SR concurrency model [5]. Jourdan et al. [27] combine the synchronous language Lustr=-=e [22] a-=-nd Argos. Many researchers have combined FSM’s with concurrent models of computation that are significantly different from that of Statecharts. Specification and description language (SDL) combines ... |

482 | The theory of hybrid automata
- Henzinger
- 1996
(Show Context)
Citation Context ...te-event (DE) concurrency model. Pankert et al. combine synchronous DF [31] with FSM’s [40], [36]. Program-state machines (PSM) combine imperative semantics with FSM’s [39], [43]. Hybrid systems [=-=1], [24]-=- mix concurrent continuous-time systems (usually given as differential equations) with finite automata. Simulink, from The MathWorks, Inc. (Nattick, MA), provides a simulation environment for such com... |

479 | Static scheduling of synchronous data ow programs for digital signal processing
- Lee, Messerschmitt
- 1987
(Show Context)
Citation Context ... (SDL) combines process networks with FSM’s [4]. The codesign finite state machine (CFSM) model [16] combines FSM’s with a discrete-event (DE) concurrency model. Pankert et al. combine synchronous=-= DF [31] wit-=-h FSM’s [40], [36]. Program-state machines (PSM) combine imperative semantics with FSM’s [39], [43]. Hybrid systems [1], [24] mix concurrent continuous-time systems (usually given as differential ... |

405 | Synchronous Programming of Reactive Systems - Halbwachs - 1993 |

368 | The synchronous approach to reactive realtime systems
- Benveniste, Berry
- 1991
(Show Context)
Citation Context ...omputation include communicating sequential processes (CSP) [25], the pi calculus [38], dataflow (DF) [19], process networks [28], discrete events (DE’s) [14], and the synchronous/reactive (SR) mode=-=l [5]-=-. These models are more sophisticated in the sense that complex concurrent systems can be more easily designed, and the designs yield better to analysis. The block diagram languages used in signal pro... |

265 | T.M.: Dataflow Process Networks - Lee, Parks - 1995 |

193 | E.: Scheduling dynamic dataflow graphs with bounded memory using the token flow model
- Buck, Lee
- 1993
(Show Context)
Citation Context ...ter than zero) that return the FIFO queues to the same size that they were at the beginning of the iteration. Unfortunately, for general DF graphs, it is undecidable whether a finite iteration exists =-=[12]-=-. Moreover, there may not be a unique minimum set of actor firings. To get around these problems, we specialize further to a subclass of DF called synchronous dataflow (SDF) [31], reviewed below, for ... |

193 |
Mathematical Theory of Computation
- Manna
- 2003
(Show Context)
Citation Context ...point, where “least” is with respect to this partial order [18]. The least fixed point is taken to be the semantics of the network of functions. This basic approach was pioneered by Scott [42], Ma=-=nna [34]-=-, and others. Many practical implementations of the SR model have been constructed, starting with the Esterel language [8]. Finding the fixed point is straightforward, in principle. The functions are ... |

191 |
Outline of a mathematical theory of computation
- Scott
- 1970
(Show Context)
Citation Context ...least fixed point, where “least” is with respect to this partial order [18]. The least fixed point is taken to be the semantics of the network of functions. This basic approach was pioneered by Sc=-=ott [42]-=-, Manna [34], and others. Many practical implementations of the SR model have been constructed, starting with the Esterel language [8]. Finding the fixed point is straightforward, in principle. The fu... |

189 |
Software Synthesis from Dataflow Graphs
- Bhattacharyya, Murthy, et al.
- 1996
(Show Context)
Citation Context ...quations can be solved in time that is only linear in the number of arcs plus the number of actors, and a schedule can be found in time that is linear in the number of firings and the number of edges =-=[10]-=-, so it may not be impractical to compute schedules dynamically between iterations. We are currently exploring these implementation alternatives. Although the number of type signature combinations can... |

185 | Cyclo-static data flow
- Bilsen, Engels, et al.
- 1995
(Show Context)
Citation Context ...d. When such an actor fires, a welldefined type signature is in effect. But type signatures are allowed to change between firings. This model of computation is related to cyclo-static dataflow (CSDF) =-=[11]-=-. In CSDF, an actor cycles through a finite list of type signatures. It is easy to generalize the balance equations so that all such actors complete an integer number of cycles in an iteration of the ... |

161 |
Discrete event systems: Modeling and performance analysis
- Cassandras
- 1993
(Show Context)
Citation Context ...ata. More sophisticated concurrent models of computation include communicating sequential processes (CSP) [25], the pi calculus [38], dataflow (DF) [19], process networks [28], discrete events (DE’s=-=) [14]-=-, and the synchronous/reactive (SR) model [5]. These models are more sophisticated in the sense that complex concurrent systems can be more easily designed, and the designs yield better to analysis. T... |

151 |
First version of a data-flow procedure language
- Dennis
(Show Context)
Citation Context ... a set of sequential processes operate on the same data. More sophisticated concurrent models of computation include communicating sequential processes (CSP) [25], the pi calculus [38], dataflow (DF) =-=[19], -=-process networks [28], discrete events (DE’s) [14], and the synchronous/reactive (SR) model [5]. These models are more sophisticated in the sense that complex concurrent systems can be more easily d... |

114 |
A comparison of statecharts variants
- Beeck
- 1994
(Show Context)
Citation Context ...th concurrent models of computation is an attractive and increasingly popular approach to design. Since Harel introduced that Statecharts model [23] in 1987, a number of variations have been explored =-=[44]. -=-The Argos language [36], [37], for example, combines FSM’s with a SR concurrency model [5]. Jourdan et al. [27] combine the synchronous language Lustre [22] and Argos. Many researchers have combined... |

90 | Operational and compositional semantics of synchronous automaton compositions
- Maraninchi
- 1992
(Show Context)
Citation Context ...tion is an attractive and increasingly popular approach to design. Since Harel introduced that Statecharts model [23] in 1987, a number of variations have been explored [44]. The Argos language [36], =-=[37], fo-=-r example, combines FSM’s with a SR concurrency model [5]. Jourdan et al. [27] combine the synchronous language Lustre [22] and Argos. Many researchers have combined FSM’s with concurrent models o... |

85 |
Hybrid dynamical systems theory and the SIGNAL language
- Benveniste, Guernic
- 1990
(Show Context)
Citation Context ...nput/output can be consumed or produced), we syntactically differentiate each token of a given input or output by concatenating its occurrence to its name. Borrowing notation from the Signal language =-=[6], “ ” de-=-notes the most recent (last) token consumed from input ,“ $1” denotes the next most recent token consumed, and “ $2” the next most recent. Consider the example in Fig. 10, focusing for now on ... |

78 | The Argos language: Graphical representation of automata and description of reactive systems
- Maraninchi
- 1991
(Show Context)
Citation Context ...omputation is an attractive and increasingly popular approach to design. Since Harel introduced that Statecharts model [23] in 1987, a number of variations have been explored [44]. The Argos language =-=[36], [3-=-7], for example, combines FSM’s with a SR concurrency model [5]. Jourdan et al. [27] combine the synchronous language Lustre [22] and Argos. Many researchers have combined FSM’s with concurrent mo... |

60 |
E.A.: Lucid, the Dataflow Programming Language
- Wadge, Ashcroft
- 1985
(Show Context)
Citation Context ...on, originally introduced by Dennis [19], can be thought of as a special case of the process networks (PN) model, originally introduced by Kahn [28]. Lucid is an early language with DF semantics [3], =-=[45]-=-. In PN, a network of concurrent processes communicate through unbounded first-in-first-out (FIFO) queues. Formally, a process in a PN network is a prefix-monotonic function that maps a set of potenti... |

58 | A hardware implementation of pure Esterel - Berry - 1991 |

52 |
Hardware–software codesign of embedded systems
- Chiodo, Giusto, et al.
- 1994
(Show Context)
Citation Context ...tation that are significantly different from that of Statecharts. Specification and description language (SDL) combines process networks with FSM’s [4]. The codesign finite state machine (CFSM) mode=-=l [16] combi-=-nes FSM’s with a discrete-event (DE) concurrency model. Pankert et al. combine synchronous DF [31] with FSM’s [40], [36]. Program-state machines (PSM) combine imperative semantics with FSM’s [39... |

50 | The Specification and Execution of Heterogeneous Synchronous Reactive Systems
- Edwards
- 1997
(Show Context)
Citation Context ...ard, in principle. The functions are simply evaluated in any order until we converge to a fixed point. Choosing a good order for evaluating the functions can greatly impact performance, obviously. In =-=[20]-=-, Edwards proposes and compares several algorithms for choosing a good order of evaluation. Functions are allowed to change between ticks. Thus, a module in SR has two distinct behaviors that we call ... |

45 |
Proving assertions about parallel programs
- Ashcroft
- 1975
(Show Context)
Citation Context ...utation, originally introduced by Dennis [19], can be thought of as a special case of the process networks (PN) model, originally introduced by Kahn [28]. Lucid is an early language with DF semantics =-=[3]-=-, [45]. In PN, a network of concurrent processes communicate through unbounded first-in-first-out (FIFO) queues. Formally, a process in a PN network is a prefix-monotonic function that maps a set of p... |

29 | A multiparadigm language for reactive systems
- Jourdan, Lagnier, et al.
- 1994
(Show Context)
Citation Context ...roduced that Statecharts model [23] in 1987, a number of variations have been explored [44]. The Argos language [36], [37], for example, combines FSM’s with a SR concurrency model [5]. Jourdan et al=-=. [27] c-=-ombine the synchronous language Lustre [22] and Argos. Many researchers have combined FSM’s with concurrent models of computation that are significantly different from that of Statecharts. Specifica... |

26 | A denotaional semantics for dataflow with firing
- Lee
- 1997
(Show Context)
Citation Context ...se, a process consists of a sequence of discrete, atomic units of computation called firings [19]. In DF, a process is often called an actor. A denotational formal semantics for Dennis DF is given in =-=[29]-=-. Our description here is informal and operational. The DF special case is better suited to our purposes since the discrete firings map naturally into reactions of a slave FSM playing the role of a DF... |

22 |
A denotational framework for comparing models of computation
- Lee, Sangiovanni-Vincentelli
- 1998
(Show Context)
Citation Context ...g and resource usage. We study, therefore, two popular concurrency models that are more tightly synchronized, DE and SR. The formal relationship among all of these models of computation is studied in =-=[33]. -=-1 In [29], an actor may also assert what the token values must be. It is a simple exercise to show that omitting this capability does not compromise Turing completeness. Moreover, for reactive FSM’s... |

22 | SpecCharts: A VHDL front-end for embeded systems
- Vahid, Narayan, et al.
- 1995
(Show Context)
Citation Context ...mbines FSM’s with a discrete-event (DE) concurrency model. Pankert et al. combine synchronous DF [31] with FSM’s [40], [36]. Program-state machines (PSM) combine imperative semantics with FSM’s =-=[39], [43]-=-. Hybrid systems [1], [24] mix concurrent continuous-time systems (usually given as differential equations) with finite automata. Simulink, from The MathWorks, Inc. (Nattick, MA), provides a simulatio... |

12 |
Dynamic data flow and control flow in high level dsp code synthesis
- Pankert, Mauss, et al.
- 1994
(Show Context)
Citation Context ...process networks with FSM’s [4]. The codesign finite state machine (CFSM) model [16] combines FSM’s with a discrete-event (DE) concurrency model. Pankert et al. combine synchronous DF [31] with FS=-=M’s [40], -=-[36]. Program-state machines (PSM) combine imperative semantics with FSM’s [39], [43]. Hybrid systems [1], [24] mix concurrent continuous-time systems (usually given as differential equations) with ... |

11 |
Implementing reactive programs on circuits: A hardware implementation of LUSTRE
- Rocheteau, Halbwachs
- 1992
(Show Context)
Citation Context ...any years in widely used computer-aided design (CAD) packages. Synthesis of hardware (e.g., [46]) and software (e.g., [10]) from SDF graphs has been demonstrated. Synthesis of hardware (e.g., [9] and =-=[41]-=-) and software (e.g., [8]) from SR has also been demonstrated. Given our simple composition semantics, it is not hard to come up with ways to combine independently synthesized components. Although sti... |

4 |
Heterogeneous simulation—mixing discrete-event models with dataflow
- Chang, Ha, et al.
- 1997
(Show Context)
Citation Context ...emitting output events as a result. This implies a finiteness of computation that is not intrinsic to many concurrent models of computation. For some models of computation, there is a simple solution =-=[15]-=-. The execution of a nonterminating system can often be divided into a set of iterations. Each iteration can be associated with a reaction of the master FSM. We require, therefore, that any concurrent... |

4 |
Abstract multirate dynamic dataflow graph specification for high throughput communication link ASICs
- Zepter, Grötker
- 1993
(Show Context)
Citation Context ...ND SYNTHESIS Synthesis of hardware or software from FSM’s is standard practice, and has been supported for many years in widely used computer-aided design (CAD) packages. Synthesis of hardware (e.g.=-=, [46]-=-) and software (e.g., [10]) from SDF graphs has been demonstrated. Synthesis of hardware (e.g., [9] and [41]) and software (e.g., [8]) from SR has also been demonstrated. Given our simple composition ... |

2 |
Programming a Reflex Game in Esterel V3, Rapport de Recherche no. 07/91
- Bernhard, Berry, et al.
- 1991
(Show Context)
Citation Context ...odel of computation is strict, but specific models can override this behavior. A. The Reflex Game VI. EXAMPLES A commonly used example for control-intensive software environments is the “reflex game=-=” [7]-=-. Our version of the reflex game is a two-player game (to introduce more concurrency). 1) Description of the Game: The inputs to the system are coin, ready, go, stop and time. All but the last are use... |

2 |
Smolka et al., “Strategic directions in concurrency research
- Cleveland, A
- 1996
(Show Context)
Citation Context ...del of computation and ellipses indicate states in an FSM. A. Termination In general, the systems of interest may not terminate. Concurrent models of computation are usually defined with this in mind =-=[17]-=-. The reaction of an FSM, however, will usually need to take finite time. This means that if a state refines to a concurrent subsystem, that subsystem must react in finite time to the inputs, possibly... |

2 |
SpecCharts: A language for system level specification and synthesis,” presented at Int. Symp. Computer Hardware Description Languages
- Narayan, Vahid, et al.
- 1991
(Show Context)
Citation Context ...16] combines FSM’s with a discrete-event (DE) concurrency model. Pankert et al. combine synchronous DF [31] with FSM’s [40], [36]. Program-state machines (PSM) combine imperative semantics with FS=-=M’s [39]-=-, [43]. Hybrid systems [1], [24] mix concurrent continuous-time systems (usually given as differential equations) with finite automata. Simulink, from The MathWorks, Inc. (Nattick, MA), provides a sim... |

1 | Effective implementation of esterel programs,” presented at 5th Euromicro Workshop on Real-Time Systems - André, Péraldi - 1993 |