Abstract
The synchronous language Esterel provides determinate concurrency for reactive systems. Determinacy is ensured by the signal coherence rule, which demands that signals have a stable value throughout one reaction cycle. This is natural for the original application domains of Esterel, such as controller design and hardware development; however, it is unnecessarily restrictive for software development. Sequentially Constructive Esterel (SCEst) overcomes this restriction by allowing values to change instantaneously, as long as determinacy is still guaranteed, adopting the recently proposed Sequentially Constructive model of computation. SCEst is grounded in the minimal Sequentially Constructive Language (scl), which also provides a novel semantic definition and compilation approach for Esterel.
- Joaquín Aguado, Michael Mendler, Reinhard von Hanxleden, and Insa Fuhrmann. 2014. Grounding synchronous deterministic concurrency in sequential programming. In Proceedings of the 23rd European Symposium on Programming (ESOP’14), LNCS 8410. Springer.Google Scholar
Digital Library
- Sidharta Andalam, Partha Roop, Alain Girault, and Claus Traulsen. 2009. PRET-C: A new language for programming precision timed architectures. In Proceedings of the Workshop on Reconciling Performance with Predictability (RePP’09), Embedded Systems Week.Google Scholar
- Charles André. 2003. Semantics of SyncCharts. Technical Report ISRN I3S/RR--2003--24--FR. I3S Laboratory, Sophia-Antipolis, France.Google Scholar
- Andrew W. Appel. 1998. SSA is functional programming. SIGPLAN Not. 33, 4 (April 1998), 17--20. Google Scholar
Digital Library
- Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul Le Guernic, and Robert de Simone. 2003. The synchronous languages twelve years later. In Proc. IEEE (Special Issue on Embedded Systems), 91, 64--83.Google Scholar
Cross Ref
- Gérard Berry. 2000. The foundations of Esterel. In Proof, Language, and Interaction: Essays in Honour of Robin Milner, Gordon Plotkin, Colin Stirling, and Mads Tofte (Eds.). MIT Press, Cambridge, MA, 425--454. Google Scholar
Digital Library
- Frédéric Boussinot. 2006. FairThreads: Mixing cooperative and preemptive threads in C. Concurr. Comput.: Pract. Exper. 18, 5 (April 2006), 445--469. Google Scholar
Digital Library
- Paul Caspi, Jean-Louis Colaço, Léonard Gérard, Marc Pouzet, and Pascal Raymond. 2009. Synchronous objects with scheduling policies: Introducing Safe Shared Memory in Lustre. In Proceedings of the ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES’09). ACM, 11--20. Google Scholar
Digital Library
- Jean-Louis Colaço, Grégoire Hamon, and Marc Pouzet. 2006. Mixing signals and modes in synchronous data-flow systems. In Proceedings of the ACM International Conference on Embedded Software (EMSOFT’06). ACM, 73--82. Google Scholar
Digital Library
- Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. 1991. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13, 4 (October 1991), 451--490. Google Scholar
Digital Library
- Stephen A. Edwards. 2003. Tutorial: Compiling concurrent languages for sequential processors. ACM Trans. Design Automat. Electron. Syst. 8, 2 (April 2003), 141--187. Google Scholar
Digital Library
- M. Fuchs and M. Mendler. 1995. A functional semantics for delta-delay VHDL based on FOCUS. In Formal Semantics for VHDL, C. D. Kloos and P. Breuer (Eds.). Kluwer, 9--42.Google Scholar
- Insa Fuhrmann, David Broman, Steven Smyth, and Reinhard von Hanxleden. 2014. Towards Interactive Timing Analysis for Designing Reactive Systems. In Proceedings of the Conference on Reconciling Performance and Predictability (RePP’14).Google Scholar
Cross Ref
- Alain Girault. 2005. A survey of automatic distribution method for synchronous programs. In Proceedings of the International Workshop on Synchronous Languages, Applications and Programs (SLAP’05) (Electronic Notes in Theoretical Computer Science), F. Maraninchi, M. Pouzet, and V. Roy (Eds.). Elsevier Science, Edinburgh, UK.Google Scholar
- C. A. R. Hoare. 1985. Communicating Sequential Processes. Prentice Hall, Upper Saddle River, NJ. Google Scholar
Digital Library
- Luciano Lavagno and Ellen Sentovich. 1999. ECL: A specification environment for system-level design. In Proceedings of the 36th ACM/IEEE Conference on Design Automation (DAC’99). ACM, 511--516. Google Scholar
Digital Library
- Edward A. Lee. 2006. The problem with threads. IEEE Comput. 39, 5 (2006), 33--42. Google Scholar
Digital Library
- Dumitru Potop-Butucaru, Stephen A. Edwards, and Gérard Berry. 2007. Compiling Esterel. Springer. Google Scholar
Digital Library
- Karsten Rathlev. 2015. From Esterel to SCL. Master thesis. Kiel University, Department of Computer Science. Retrieved from http://rtsys.informatik.uni-kiel.de/ biblio/downloads/theses/krat-mt.pdf.Google Scholar
- Karsten Rathlev, Steven Smyth, Christian Motika, Reinhard von Hanxleden, and Michael Mendler. 2015. SCEst: Sequentially constructive Esterel. In Proceedings of the 13th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE’15). Google Scholar
Digital Library
- K. Schneider. 2001. Embedding imperative synchronous languages in interactive theorem provers. In Conference on Application of Concurrency to System Design (ACSD’01). IEEE Computer Society, 143--156. Google Scholar
Digital Library
- P. Sewell, S. Sarkar, S. Owens, F. Zappa Nardelli, and M. O. Myreen. 2010. x86-TSO: A rigorous and usable programmers model for x86 multiprocessors. Commun. ACM (2010), 89--97. Google Scholar
Digital Library
- Steven Smyth, Christian Motika, and Reinhard von Hanxleden. 2015. A data-flow approach for compiling the sequentially constructive language (SCL). In Proceedings of the 18th Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS’15).Google Scholar
- J.-P. Talpin, J. Brandt, M. Gemünde, K. Schneider, and S. K. Shukla. 2014. Constructive polychronous systems. Sci. Comput. Program. 96, 3 (Dec. 2014), 377--394. Google Scholar
Digital Library
- Olivier Tardieu. 2004. Goto and concurrency—Introducing safe jumps in Esterel. In Proceedings of Synchronous Languages, Applications, and Programming (SLAP’04).Google Scholar
- Olivier Tardieu and Stephen A. Edwards. 2006. Scheduling-independent threads and exceptions in SHIM. In Proceedings of the International Conference on Embedded Software (EMSOFT’06). ACM. 142--151. Google Scholar
Digital Library
- Olivier Tardieu and Stephen A. Edwards. 2007. Instantaneous transitions in Esterel. In Proceedings of the Conference on Model Driven High-Level Programming of Embedded Systems (SLA++P’07).Google Scholar
- Reinhard von Hanxleden. 2009. SyncCharts in C—A proposal for light-weight, deterministic concurrency. In Proceedings of the International Conference on Embedded Software (EMSOFT’09). ACM. 225--234. Google Scholar
Digital Library
- Reinhard von Hanxleden, Björn Duderstadt, Christian Motika, Steven Smyth, Michael Mendler, Joaquín Aguado, Stephen Mercer, and Owen O’Brien. 2014a. SCCharts: Sequentially constructive statecharts for safety-critical applications. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’14). ACM. Google Scholar
Digital Library
- Reinhard von Hanxleden, Michael Mendler, Joaquín Aguado, Björn Duderstadt, Insa Fuhrmann, Christian Motika, Stephen Mercer, Owen O’Brien, and Partha Roop. 2014b. Sequentially constructive concurrency—A Conservative extension of the synchronous model of computation. ACM Trans. Embed. Comput. Syst. (Special Issue on Applications of Concurrency to System Design) 13, 4s (July 2014), 144:1--144:26. Google Scholar
Digital Library
- Eugene Yip, Partha S. Roop, Morteza Biglari-Abhari, and Alain Girault. 2013. Programming and timing analysis of parallel programs on multicores. In Proceedings of the 13th International Conference on Application of Concurrency to System Design (ACSD’13). 160--169. Google Scholar
Digital Library
- Fang Yu, Shun-Ching Yang, Farn Wang, Guan-Cheng Chen, and Che-Chang Chan. 2012. Symbolic consistency checking of OpenMP parallel programs. In Proceedings of the 13th ACM International Conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’12). ACM, 139--148. Google Scholar
Digital Library
Index Terms
SCEst: Sequentially Constructive Esterel
Recommendations
Sequentially Constructive Concurrency—A Conservative Extension of the Synchronous Model of Computation
Special Issue on Real-Time and Embedded Technology and Applications, Domain-Specific Multicore Computing, Cross-Layer Dependable Embedded Systems, and Application of Concurrency to System Design (ACSD'13)Synchronous languages ensure determinate concurrency but at the price of restrictions on what programs are considered valid, or constructive. Meanwhile, sequential languages such as C and Java offer an intuitive, familiar programming paradigm but ...
An Esterel processor with full preemption support and its worst case reaction time analysis
CASES '05: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systemsThe concurrent synchronous language Esterel allows programmers to treat reactive systems in an abstract, concise manner. An Esterel program is typically first translated into other, non-synchronous high-level languages, such as VHDL or C, and then ...
Multithreaded Reactive Programming—the Kiel Esterel Processor
The Kiel Esterel Processor (KEP) is a multithreaded reactive processor designed for the execution of programs written in the synchronous language Esterel. Design goals were timing predictability, minimal resource usage, and compliance to full Esterel ...






Comments