scispace - formally typeset
Open AccessJournal ArticleDOI

Mode-automata: a new domain-specific construct for the development of safe critical systems

Florence Maraninchi, +1 more
- Vol. 46, Iss: 3, pp 219-254
TLDR
This paper defines the language of mode-automata and its semantics, gives some ideas on the compilation process, illustrates the approach with the example of the production cell, and comment on the benefits of the approach, in general.
Abstract
Over the past ten years, the family of synchronous languages (Special Section of the Proc. IEEE 79 (9) (1991)) has been very successful in offering domain-specific, formally defined languages and programming environments for safety-critical systems. Among them, Lustre is well-suited for the development of regulation systems, which are first designed by control engineers, and can then be programmed as block-diagrams. Automatic generation of C code provides the embedded software.The success of Lustre showed that it is a good idea to offer domain-specific languages and constructs to reduce the gap between the first design of a system (for instance a control law) and the program written for it. When the structure of the first design has to be encoded into the available constructs of a general-purpose programming language, the interesting information is likely to be lost somewhere on the way from the original design to the actual implementation. This may have consequences on the efficiency of the code produced, or even on the correctness of the design.Working with the systems Lustre is well-suited for, we observed that they are often specified informally using the notion of running modes. However, there seemed to exist no language in which the mode-structure of a complex system could be expressed directly. Following the approach of domain-specific languages, we proposed to extend Lustre with a new construct, called mode-automaton, devoted to the description of these running modes of regulation systems.In this paper, we define the language of mode-automata and its semantics, give some ideas on the compilation process, illustrate the approach with the example of the production cell, and comment on the benefits of the approach, in general.

read more

Citations
More filters
Proceedings Article

Mapping Data-Flow Dependencies onto Distributed Embedded Systems

TL;DR: The notion of a Cluster Dependency Graph (CDG) is introduced which forms the basis for scheduling, address generation and estimation of memory requirements for the used middleware and provides clues about possibly parallelizable tasks.
Journal ArticleDOI

Optimal discrete controller synthesis for modeling fault-tolerant distributed systems

TL;DR: A safe design method for safe execution systems, based on fault-tolerance techniques: it uses optimal discrete controller synthesis (DCS) to generate a correct-by-construction fault-Tolerant system.
Journal ArticleDOI

Mechanized semantics and verified compilation for a dataflow synchronous language with reset

TL;DR: 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.
Journal ArticleDOI

Adaptability checking in complex systems

TL;DR: A relational characterisation of strong and weak adaptability is provided and it is shown that adaptability checking, i.e. deciding if a system is weakly or strongly adaptable, can be reduced to a CTL model checking problem.
Journal ArticleDOI

Safe design of high-performance embedded systems in an MDE framework

TL;DR: The UML MARTE profile is used to model high-performance embedded systems (HPES) in the GASPARD2 framework to address the design correctness issue on the UML model by using the formal validation tools associated with synchronous languages.
References
More filters
Journal ArticleDOI

Statecharts: A visual formalism for complex systems

TL;DR: It is intended to demonstrate here that statecharts counter many of the objections raised against conventional state diagrams, and thus appear to render specification by diagrams an attractive and plausible approach.
Journal ArticleDOI

The ESTEREL synchronous programming language: design, semantics, implementation

TL;DR: This paper presents the imperative primitives of E esterel and the temporal manipulations they permit, and shows how the E Esterel v2 and V3 compilers efficiently translate concurrent E esteretl programs into efficient equivalent sequential automata that can be implemented in conventional sequential languages.

LUSTRE: A declarative language for programming synchronous systems*

TL;DR: This paper presents the language LUSTRE, whose main application field is the programming of automatic control and signal processing systems, and uses it as a basis for designing and programming these systems.
Proceedings ArticleDOI

LUSTRE: a declarative language for real-time programming

TL;DR: This work describes its semantics by means of structural inference rules and shows how to use this semantics in order to generate efficient sequential code, namely, a finite state automaton which represents the control of the program.
Related Papers (5)