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

Florence Maraninchi, Yann Rémond
2003 Science of Computer Programming  
Over the past ten years, the family of synchronous languages (Special Section of the Proc. IEEE 79 (9) (1991)) has been very successful in o ering domain-speciÿc, formally deÿned languages and programming environments for safety-critical systems. Among them, Lustre is well-suited for the development of regulation systems, which are ÿrst designed by control engineers, and can then be programmed as block-diagrams. Automatic generation of C code provides the embedded software. The success of
more » ... showed that it is a good idea to o er domain-speciÿc languages and constructs to reduce the gap between the ÿrst design of a system (for instance a control law) and the program written for it. When the structure of the ÿrst 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 e ciency 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 speciÿed 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-speciÿc 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 deÿne the language of mode-automata and its semantics, give some ideas on the compilation process, illustrate the approach with the example of the production
doi:10.1016/s0167-6423(02)00093-x fatcat:gzm6ys4xnnbhjnf45mfr6ftvdq