SCCharts: sequentially constructive statecharts for safety-critical applications: HW/SW-synthesis for a conservative extension of synchronous statecharts

@article{vonHanxleden2014SCChartsSC,
  title={SCCharts: sequentially constructive statecharts for safety-critical applications: HW/SW-synthesis for a conservative extension of synchronous statecharts},
  author={Reinhard von Hanxleden and Bj{\"o}rn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaqu{\'i}n Aguado and Stephen Mercer and Owen O'Brien},
  journal={Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation},
  year={2014}
}
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 model of computation (MoC), without restrictions common to previous synchronous MoCs. Specifically, we lift earlier limitations on sequential accesses to shared variables, by leveraging the sequentially constructive MoC. The semantics and key features of SCCharts are defined by a very small set of… Expand
Compiling SCCharts - A Case-Study on Interactive Model-Based Compilation
TLDR
An Eclipse-based compilation chain that synthesizes SCCharts into either hardware or software and its key benefits are a compact, light-weight definition of the core semantics, intermediate transformation results open to inspection and support for certification. Expand
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. Expand
Submitted to Special Issue of MEMOCODE 2015 Best Papers SCEst: Sequentially Constructive Esterel
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 throughoutExpand
Explorer A Novel WCET semantics of Synchronous Programs
Semantics for synchronous programming languages are well known. They capture the execution behaviour of reactive systems using precise formal operational or denotational models for verification andExpand
A Novel WCET Semantics of Synchronous Programs
TLDR
This approach, which is algebraic and based on formal power series in min-max-plus algebra, combines in one setting both the linear system theory for timing and constructive Godel-Dummet logic for functional specification of synchronisation behaviour. Expand
A The Design and Implementation of the Synchronous Language C ÉU
CÉU is a synchronous language targeting soft real-time systems. It is inspired by Esterel and has a simple semantics with fine-grained control over program execution. CÉU uses an event-triggeredExpand
Interactive Model-Based Compilation Continued - Incremental Hardware Synthesis for SCCharts
TLDR
This work introduces the basics of the slic approach and illustrated it with a compiler that translated SCCharts, a synchronous, deterministic statechart language developed for safety-critical systems, to software. Expand
The Design and Implementation of the Synchronous Language CÉU
TLDR
CéU is a synchronous language targeting soft real-time systems that uses an event-triggered notion of time that enables compile-time checks to detect conflicting concurrent statements, resulting in deterministic and concurrency-safe programs. Expand
A Data-Flow Approach for Compiling the Sequentially Constructive Language ( SCL )
The Sequentially Constructive Language (SCL) is a minimal synchronous language that captures the essence of the Sequentially Constructive Model of Computation (SCMoC), a recently proposed extensionExpand
Time in SCCharts
TLDR
This work proposes extensions to the SCCharts language to express clocks and execution periods within the model, and argues that the same concepts could be applied to other synchronous languages such as Esterel, Lustre or SCADE. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 57 REFERENCES
SCCharts: sequentially constructive statecharts for safety-critical applications
TLDR
A new visual language, SCCharts, is presented, designed for specifying safety-critical reactive systems, that uses a statechart notation and provides determinate concurrency based on a synchronous mechanism. Expand
Goto and Concurrency Introducing Safe Jumps in Esterel
  • O. Tardieu
  • Computer Science
  • Electron. Notes Theor. Comput. Sci.
  • 2006
TLDR
This work considers the introduction of a new gotopause instruction in the language, which acts as a non-instantaneous jump instruction compatible with concurrency, and defines a state semantics of Esterel which is observationally equivalent to the original logical behavioral semantics. Expand
SyncCharts in C: a proposal for light-weight, deterministic concurrency
TLDR
SyncCharts in C extends C with control flow operators for deterministic, light-weight concurrency and preemption, and implements concurrency via a simulation of multi-threading, inspired by reactive processing. Expand
Grounding Synchronous Deterministic Concurrency in Sequential Programming
TLDR
Using a new domain-theoretic characterisation, it is proved that every Berry-constructive program is deterministic and deadlock-free under sequentially admissible scheduling, giving a natural interpretation of Berry- constructiveness for shared-memory, multi-threaded programming in terms of synchronous cycle-based scheduling. Expand
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. Expand
Synchronous objects with scheduling policies: introducing safe shared memory in lustre
TLDR
A conservative extension of a synchronous data-flow language close to Lustre is introduced in order to be able to define systems with modes in a more modular way, while insuring the absence of data-races. Expand
Embedding imperative synchronous languages in interactive theorem provers
  • K. Schneider
  • Computer Science
  • Proceedings Second International Conference on Application of Concurrency to System Design
  • 2001
TLDR
A new way to define the semantics of imperative synchronous languages by means of separating the control and the data flow is presented, and Quartz (an Esterel variant) is embedded in the interactive theorem prover HOL. Expand
The synchronous data flow programming language LUSTRE
The authors describe LUSTRE, a data flow synchronous language designed for programming reactive systems-such as automatic control and monitoring systems-as well as for describing hardware. The dataExpand
Compiling SyncCharts to Synchronous C
TLDR
A static thread-scheduling scheme that reflects data dependencies and optimizes both the number of used threads as well as the maximal used priorities results in SC code with competitive speed and little memory requirements. Expand
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. Expand
...
1
2
3
4
5
...