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

Flattening of Modelica State Machines : a practical symbolic representation

TL;DR: The specification describes the semantics of Modelica 3.3's built-in language support for state machines that was inspired by semantics known from Statechart and mode automata formalisms.
Proceedings ArticleDOI

Towards behavior elaboration and synthesis using modes

TL;DR: This work aims to develop a design technique for structuring the partial specifications by partitioning the state-space based on Parnas' notions of 'modes' and 'mode-classes'.

Framework for Modelica Based Function Development

TL;DR: The thesis proposes a development methodology that supports an improved integration of two worlds: modeling of multi-domain physical systems and modeling of (safety-related) digital control functions.

Design and Analysis Support for Abstract Models of Component-based Embedded Systems

TL;DR: Developing industrial real-time software systems is challenging due to stringent system requirements in terms of functionality, timing, resource availability, and so on.
Journal ArticleDOI

Coordination de la Gestion autonome de la Réparation et du Dimensionnement d'un Système multi-niveaux par Contrôle Discret

TL;DR: In this article, the authors propose a coordination of gestionnaires autonomes for the coordination of the disponibilite, performance, and ressources for a multiniveau system.
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)