Synchronous objects with scheduling policies: introducing safe shared memory in lustre

@inproceedings{Caspi2009SynchronousOW,
  title={Synchronous objects with scheduling policies: introducing safe shared memory in lustre},
  author={Paul Caspi and Jean-Louis Colaço and L{\'e}onard G{\'e}rard and Marc Pouzet and Pascal Raymond},
  booktitle={LCTES '09},
  year={2009}
}
This paper addresses the problem of designing and implementing complex control systems for real-time embedded software. Typical applications involve different control laws corresponding to different phases or modes, e.g., take-off, full flight and landing in a fly-by-wire control system. On one hand, existing methods such as the combination of Simulink/Stateflow provide powerful but unsafe mechanisms by means of imperative updates of shared variables. On the other hand, synchronous languages… 
Mechanized semantics and verified compilation for a dataflow synchronous language with reset
TLDR
New semantic rules that are suitable for mechanized reasoning, a novel intermediate language for generating optimized code, and proofs of correctness for the associated compilation passes are included.
Sequentially constructive concurrency A conservative extension of the synchronous model of computation
TLDR
The sequentially constructive model of computation (SC MoC) presented here harnesses the synchronous execution model to achieve deterministic concurrency while addressing concerns that synchronous languages are unnecessarily restrictive and difficult to adopt.
Sequentially constructive concurrency: a conservative extension of the synchronous model of computation
TLDR
The sequentially constructive model of computation (SC MoC) presented here harnesses the synchronous execution model to achieve deterministic concurrency while addressing concerns that synchronous languages are unnecessarily restrictive and difficult to adopt.
SCCharts: sequentially constructive statecharts for safety-critical applications: HW/SW-synthesis for a conservative extension of synchronous statecharts
We present a new visual language, SCCharts, designed for specifying safety-critical reactive systems. SCCharts use a statechart notation and provide determinate concurrency based on a synchronous
Towards Object-Oriented Modeling in SCCharts
TLDR
It is discussed how the recently developed concepts of scheduling directives and scheduling policies can be used to ensure the determinism of objects while retaining encapsulation.
Synchronized Shared Memory and Procedural Abstraction: Towards a Formal Semantics of Blech
TLDR
This paper shows how procedural abstraction can be accommodated inside the sequentially constructive model of computation and presents the Sequentially Constructive Procedural Language (SCPL) and its semantic theory of policy-constructive synchronous processes.
Toward Object-oriented Modeling in SCCharts
TLDR
It is discussed how the recently developed concepts of scheduling directives and scheduling policies can be used to ensure the determinism of objects while retaining encapsulation.
Deterministic Concurrency: A Clock-Synchronised Shared Memory Approach
TLDR
This paper presents a proof-of-concept implementation of a asynchronous programming language that automates the very labor-intensive and therefore time-heavy and therefore expensive and expensive process of training a new generation of interpreters for synchronous programming.
SCEst: Sequentially constructive esterel
TLDR
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.
Submitted to Special Issue of MEMOCODE 2015 Best Papers SCEst: Sequentially Constructive Esterel
TLDR
Sequentially Constructive Esterel (SCEst) overcomes restriction by allowing values to change instantaneously, as long as determinacy is still guaranteed, adopting the recently proposed Sequentially constructive model of computation.
...
...

References

SHOWING 1-10 OF 20 REFERENCES
Mixing signals and modes in synchronous data-flow systems
TLDR
This paper pursues existing solutions by providing two constructs: a general form of state machines called parameterized state machines, and valued signals, as can be found in ESTEREL, which allow for a much more direct and natural programming of systems that combine dataflow and state-machines.
Synchronous Programming with Events and Relations: the SIGNAL Language and Its Semantics
A conservative extension of synchronous data-flow with state machines
TLDR
The central idea of the paper is to base this extension of a synchronous data-flow language such as Lustre with imperative features expressed in terms of powerful state machine à la SyncChart on the use of clocks, translating imperative constructs into well clocked data- flow programs from the basic language.
42: programmable models of computation for a component-based approach to heterogeneous embedded systems
TLDR
This paper presents the very first design of a component model for embedded systems called '42', which aims at expressing fine-grain timing aspects and several types of concurrency as MoCCs, but it requires that all the Mo CCs be 'programmed' in terms of more basic primitives.
Interface automata
TLDR
This work presents a light-weight formalism that captures the temporal aspects of software component interfaces through an automata-based language that supports automatic compatability checks between interface models, and thus constitutes a type system for component interaction.
Statecharts: A Visual Formalism for Complex Systems
  • D. Harel
  • Computer Science
    Sci. Comput. Program.
  • 1987
Translating discrete-time simulink to lustre
TLDR
A method of translating discrete-time Simulink models to Lustre programs is presented, which has been implemented in a prototype tool called S2L and has been used in the context of a European research project to translate two automotive controller models provided by Audi.
The constructive semantics of pure esterel
TLDR
This draft book is mostly directed to the users of the Esterel v5 system, which is based on the new constructive semantics presented here, and aims to explain the constructive semantics, which should be the semantics for the language, to make causality issues understandable, a thing that has long be missing, and to fully explain the translation of EstereL programs into circuits.
The synchronous languages 12 years later
TLDR
The improvements, difficulties, and successes that have occured with the synchronous languages since then are discussed.
...
...