Real-time ticks for synchronous programming

We address the problem of synchronous programs that cannot be easily executed in a classical time-triggered or event-triggered execution loop. We propose a novel approach, referred to as dynamic ticks, that reconciles the semantic timing abstraction of the synchronous approach with the desire to give the application fine-grained control over its real-time behavior. The main idea is to allow the application to dynamically specify its own wake-up times rather than ceding their control to the environment. As we illustrate in this paper, synchronous languages such as Esterel are already well equipped for this; no language extensions are needed. All that is required is a rather minor adjustment of the way the tick function is called.

[1]  Marc Pouzet,et al.  Zélus: a synchronous language with ODEs , 2013, HSCC '13.

[2]  Reinhard von Hanxleden,et al.  SyncCharts in C: a proposal for light-weight, deterministic concurrency , 2009, EMSOFT '09.

[3]  Stephen A. Edwards,et al.  The Synchronous Languages Twelve Years Later , 1997 .

[4]  Edward A. Lee,et al.  Distributed Real-Time Software for Cyber–Physical Systems , 2012, Proceedings of the IEEE.

[5]  Alain Girault,et al.  Software implementation of synchronous programs , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

[6]  S. Ramesh,et al.  Communicating reactive processes , 1993, POPL '93.

[7]  Stephen A. Edwards,et al.  Predictable programming on a precision timed architecture , 2008, CASES '08.

[8]  Robert de Simone,et al.  Correctness issues on MARTE/CCSL constraints , 2015, Sci. Comput. Program..

[9]  Edward A. Lee The problem with threads , 2006, Computer.

[10]  Carlo Rossi,et al.  Giotto a time-triggered language for embedded programming , 2011 .

[11]  Alain Girault,et al.  The ForeC Synchronous Deterministic Parallel Programming Language for Multicores , 2016, 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC).

[12]  Stephen A. Edwards,et al.  Compiling Esterel , 2007 .

[13]  R. K. Shyamasundar,et al.  Multiclock Esterel: a reactive framework for asynchronous design , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[14]  Florence Maraninchi,et al.  Verifying Quantitative Real-Time Properties of Synchronous Programs , 1993, CAV.

[15]  Partha S. Roop,et al.  A Predictable Framework for Safety-Critical Embedded Systems , 2014, IEEE Transactions on Computers.

[16]  Michel Poize,et al.  TAXYS=Esterel+Kronos. A tool for verifying real-time properties of embedded systems , 2001, Proceedings of the 40th IEEE Conference on Decision and Control (Cat. No.01CH37228).

[17]  A. Sowmya,et al.  Delays in Esterel , 2022 .