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
Reads0
Chats0
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 ArticleDOI

SCADE 6: A formal language for embedded critical software development (invited paper)

TL;DR: The decisions made in the design of SCADE are recalled, the main language features and static analyses are illustrated, and the compiler organization developed to satisfy the qualification process is described.
Proceedings ArticleDOI

Mixing signals and modes in synchronous data-flow systems

TL;DR: 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.
Book ChapterDOI

Modelling and analyzing adaptive self-assembly strategies with maude

TL;DR: In this article, a conceptual framework for adaptation centered around the role of control data is proposed in a reflective logical language like Maude by using the Reflective Russian Dolls model.
Proceedings ArticleDOI

SafeMC: A System for the Design and Evaluation of Mode-Change Protocols

TL;DR: SafeMC provides an easy-to-use specification language, a library of existing MCPs that can be customized by the user, as well as several tools for test generation, automatic evaluation, tracing, and performance analysis.
BookDOI

Languages, Compilers, and Tools for Embedded Systems

TL;DR: The aim of this work is to investigate how the management of aperiodic traffic in a CAN system can be improved using randomization, and to propose the use of randomization to provide dynamic priority assignment in aCAN network.
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)