Results 1 - 10
of
16
The Constructive Semantics of Pure Esterel
, 1996
"... Esterel [8, 10, 3, 4] is an imperative synchronous parallel programming lan guage dedicated to reactive systems [17]. Esterel is tailored for programming hardware or software synchronous controllers for which the control-handling aspects are predominant. Esterel programs are input-driven: they wait ..."
Abstract
-
Cited by 77 (2 self)
- Add to MetaCart
Esterel [8, 10, 3, 4] is an imperative synchronous parallel programming lan guage dedicated to reactive systems [17]. Esterel is tailored for programming hardware or software synchronous controllers for which the control-handling aspects are predominant. Esterel programs are input-driven: they wait for inputs and compute corresponding outputs in a cycle-based way. An in put-output computation is called a reaction...
The synchronous languages twelve years later
- Proceedings of the IEEE
, 2003
"... Abstract — Twelve years ago, Proceedings of the IEEE devoted a special section to the synchronous languages. This article discusses the improvements, difficulties, and successes that have occured with the synchronous languages since then. Today, synchronous languages have been established as a techn ..."
Abstract
-
Cited by 71 (5 self)
- Add to MetaCart
Abstract — Twelve years ago, Proceedings of the IEEE devoted a special section to the synchronous languages. This article discusses the improvements, difficulties, and successes that have occured with the synchronous languages since then. Today, synchronous languages have been established as a technology of choice for modeling, specifying, validating, and implementing real-time embedded applications. The paradigm of synchrony has emerged as an engineer-friendly design method based on mathematicallysound tools.
Preemption in Concurrent Systems
, 1993
"... Process preemption deals with controlling the life and death of concurrent processes. Well-defined preemption mechanisms are essential in control-dominated reactive and real-time programming, and accurate handling of preemption requires a time-dependent model. We first informally discuss what pre ..."
Abstract
-
Cited by 60 (0 self)
- Add to MetaCart
Process preemption deals with controlling the life and death of concurrent processes. Well-defined preemption mechanisms are essential in control-dominated reactive and real-time programming, and accurate handling of preemption requires a time-dependent model. We first informally discuss what preemption is about and argue for the need of preemption primitives that are fully orthogonal with sequencing and concurrency ones. Then, we formally present the preemption operators of the Esterel zero-delay process calculus, which is a theoretical version of the Esterel synchronous programming language. 1 Introduction In concurrent systems, one deals with concurrent processes that coordinate with each other. Coordination can result from information exchange, using for example messages circulating on channels with possibly some implied synchronization. It can also result from process preemption, which is a more implicit control mechanism that consists in denying the right to work to a pro...
A Hardware Implementation of Pure Esterel
- ACADEMY PROCEEDINGS IN ENGINEERING SCIENCES, INDIAN ACADEMY OF SCIENCES, SADHANA
, 1991
"... Esterel is a synchronous concurrent programming language dedicated to reactive systems (controllers, protocols, man-machine interfaces, etc.). Esterel has an efficient standard software implementation based on well-defined mathematical semantics. We present a new hardware implementation of the pure ..."
Abstract
-
Cited by 54 (3 self)
- Add to MetaCart
Esterel is a synchronous concurrent programming language dedicated to reactive systems (controllers, protocols, man-machine interfaces, etc.). Esterel has an efficient standard software implementation based on well-defined mathematical semantics. We present a new hardware implementation of the pure synchronization subset of the language. Each program generates a specific circuit that responds to any input in one clock cycle. When the source program satisfies some statically checkable dynamic properties, the circuit is shown to be semantically equivalent to the source program. The hardware translation has been effectively implemented on the programmable active memory Perle0 developed by J. Vuillemin and his group at Digital Equipment.
An Esterel Compiler for Large Control-Dominated Systems
, 2002
"... Embedded hard real-time software systems often need finegrained parallelism and precise control of timing, things typical real-time operating systems do not provide. The Esterel language has both, but compiling large Esterel programs has been challenging, producing either needlessly slow or large co ..."
Abstract
-
Cited by 27 (5 self)
- Add to MetaCart
Embedded hard real-time software systems often need finegrained parallelism and precise control of timing, things typical real-time operating systems do not provide. The Esterel language has both, but compiling large Esterel programs has been challenging, producing either needlessly slow or large code. This paper presents the first Esterel compiler able to compile large Esterel programs into fast, small code. By choosing a concurrent control-flow graph as its intermediate representation, it preserves many of the control constructs to produce code that can be a hundred times faster and half the size than that from other compilers with similar capacity. The primary contribution is an algorithm that generates efficient sequential code from a concurrent control-flow graph. While developed specifically for compiling Esterel, the algorithm could be used to compile other synchronous languages with fine-grained parallelism. Keywords--- Embedded systems, Esterel, compilers, real-time language, concurrency, code generation, synchronous, reactive I.
The SL Synchronous Language
- IEEE Trans. on Software Engineering
, 1996
"... : We present a new synchronous programming language named SL based on Esterel, in which hypothesis about signal presences or absences are not allowed. Thus, one can decide that a signal was absent during one instant only at the end of this instant, and so reaction to this absence is delayed. Esterel ..."
Abstract
-
Cited by 22 (5 self)
- Add to MetaCart
: We present a new synchronous programming language named SL based on Esterel, in which hypothesis about signal presences or absences are not allowed. Thus, one can decide that a signal was absent during one instant only at the end of this instant, and so reaction to this absence is delayed. Esterel "causality problems" are avoided at the price of replacing strong preemptions by weak ones. An operational semantics based on rewriting rules is given and an implementation is described which allows either to directly execute programs, or to produce automata. Key-words: Parallelism, concurrency, synchronous programming languages, automata, reactive systems. (R'esum'e : tsvp) Unite de recherche INRIA Sophia-Antipolis 2004 route des Lucioles, BP 93, 06902 SOPHIA-ANTIPOLIS Cedex (France) Telephone : (33) 93 65 77 77 -- Telecopie : (33) 93 65 77 65 Le langage synchrone SL R'esum'e : On pr'esente le langage de programmation SL qui est un nouveau langage synchrone construit `a partir d'Estere...
Compiling Concurrent Languages for Sequential Processors
- ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS
, 2001
"... ... This paper surveys a variety of techniques for translating these concurrent specifications into sequential code. The techniques address compiling a wide variety of languages, ranging from dataflow to Petri nets. Each uses a different technique, to some degree chosen to match the semantics of co ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
... This paper surveys a variety of techniques for translating these concurrent specifications into sequential code. The techniques address compiling a wide variety of languages, ranging from dataflow to Petri nets. Each uses a different technique, to some degree chosen to match the semantics of concurrent language. Each technique is considered to consist of a partial evaluator operating on an interpreter. This combination provides a clearer picture of how parts of each technique could be used in a different setting.
Instantaneous termination in pure Esterel
- In Proceedings of the 10th Annual Static Analysis Symposium
, 2003
"... Abstract. Esterel is a design language for the representation of embedded systems. Based on the synchronous reactive paradigm, its execution relies on a clear distinction of instants of computation. As a consequence, deciding whether a piece of a program may or may not run instantaneously is central ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
Abstract. Esterel is a design language for the representation of embedded systems. Based on the synchronous reactive paradigm, its execution relies on a clear distinction of instants of computation. As a consequence, deciding whether a piece of a program may or may not run instantaneously is central to any compilation scheme, both for correctness and efficiency. In general, this information can be obtained by an exhaustive exploration of all possible execution paths, which is expensive. Most compilers approximate it through algorithmic methods amenable to static analysis. In our contribution, we first formalize the analysis involved in detecting statements that may run instantaneously. Then, we identify statements that may terminate and be instantaneously reentered. This allows us to model precisely these compilers front-end activities with a clear mathematical specification and led us to uncover inefficiencies in the Esterel v5 academic compiler from Ecole des Mines and INRIA. 1
Curing schizophrenia by program rewriting in Esterel
- In Formal Methods and Models for Codesign (MEMOCODE
, 2004
"... Synchronous languages such as Esterel can execute a series of statements in a single “instant ” of time. If this series spans a loop iteration then it is possible that a computation local to the loop will have several distinct results during that “instant”, which is referred to as schizophrenia. Thi ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Synchronous languages such as Esterel can execute a series of statements in a single “instant ” of time. If this series spans a loop iteration then it is possible that a computation local to the loop will have several distinct results during that “instant”, which is referred to as schizophrenia. This makes the compilation of synchronous languages into more traditional computation models (such as C code or sequential logic) difficult. In a previous work [17], we suggested to deal with schizophrenia through preprocessing in the Esterel language extended with a non-instantaneous jump statement. We now advocate for and experiment with such a program transformation, establishing the correctness, the completeness and the efficiency of our approach. 1.
A Compositional Semantics of Esterel in Duration Calculus
- In Proc. Second AMAST workshop on Real-time Systems: Models and Proofs, Bordeux
, 1995
"... ) P.K. Pandya, Y.S. Ramakrishna, and R.K. Shyamasundar Computer Science Group Tata Institute of Fundamental Research Homi Bhabha Road Bombay-400 005, India e-mail: fysr, pandya, shyamg@tcs.tifr.res.in Abstract In this paper, we describe the behaviour of esterel programs in a variant of durational ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
) P.K. Pandya, Y.S. Ramakrishna, and R.K. Shyamasundar Computer Science Group Tata Institute of Fundamental Research Homi Bhabha Road Bombay-400 005, India e-mail: fysr, pandya, shyamg@tcs.tifr.res.in Abstract In this paper, we describe the behaviour of esterel programs in a variant of durational calculus referred to as Mean Value Calculus (MVC). The formalization enables the axiomatization of the assumptions of the underlying model precisely. It provides a compositional denotational semantics of the esterel The algebraic rules of MVC can be used to prove properties of esterel statements and thus, provides a basis for the algebraic laws for esterel. In fact, the setting has enabled us to assess the "expressive" power of the operators in reactive languages. In particular, we show in this paper that the "expressive" power of esterel gets increased with the addition of the suspend operator. 1 Introduction Programming languages based on the perfect synchrony paradigm have proven useful...

