Statecharts: A visual formalism for complex systems
Science of Computer Programming
LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Theoretical Computer Science
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
Sequential abstract-state machines capture sequential algorithms
ACM Transactions on Computational Logic (TOCL)
Design Patterns and Language Design
Computer
Formal Development of Reactive Systems - Case Study Production Cell
Formal Development of Reactive Systems - Case Study Production Cell
Mode-Automata: About Modes and States for Reactive Systems
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Synchronous Observers and the Verification of Reactive Systems
AMAST '93 Proceedings of the Third International Conference on Methodology and Software Technology: Algebraic Methodology and Software Technology
Recognizing Regular Expressions by Means of Dataflow Networks
ICALP '96 Proceedings of the 23rd International Colloquium on Automata, Languages and Programming
Operational and Compositional Semantics of Synchronous Automaton Compositions
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
FTRTFT '96 Proceedings of the 4th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
A Translation of Statecharts into Signal Approach of Time, Interoperability
CSD '98 Proceedings of the 1998 International Conference on Application of Concurrency to System Design
Safe and efficient elimination of infeasible execution paths in WCET estimation
RTCSA '96 Proceedings of the Third International Workshop on Real-Time Computing Systems Application
Automatic Testing of Reactive Systems
RTSS '98 Proceedings of the IEEE Real-Time Systems Symposium
An Operational Semantics and a Compiler for Modechart Specificiations
An Operational Semantics and a Compiler for Modechart Specificiations
Hierarchical finite state machines with multiple concurrency models
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
A conservative extension of synchronous data-flow with state machines
Proceedings of the 5th ACM international conference on Embedded software
A domain-specific language for task handlers generation, applying discrete controller synthesis
Proceedings of the 2006 ACM symposium on Applied computing
Modeling Embedded Systems: From SystemC and Esterel to DFCharts
IEEE Design & Test
Mixing signals and modes in synchronous data-flow systems
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Clock-directed modular code generation for synchronous data-flow languages
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Synchronous objects with scheduling policies: introducing safe shared memory in lustre
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Modular Distribution and Application to Discrete Controller Synthesis
Electronic Notes in Theoretical Computer Science (ENTCS)
Automating the addition of fault tolerance with discrete controller synthesis
Formal Methods in System Design
Modeling Fault-tolerant Distributed Systems for Discrete Controller Synthesis
Electronic Notes in Theoretical Computer Science (ENTCS)
Using controller-synthesis techniques to build property-enforcing layers
ESOP'03 Proceedings of the 12th European conference on Programming
Automatic generation of safe handlers for multi-task systems
Journal of Embedded Computing
Towards behavior elaboration and synthesis using modes
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Static run-time mode extraction by state partitioning in synchronous process networks
Proceedings of the 14th International Workshop on Software and Compilers for Embedded Systems
Revisiting glue expressiveness in component-based systems
COORDINATION'11 Proceedings of the 13th international conference on Coordination models and languages
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Decentralized control for dynamically reconfigurable FPGA systems
Microprocessors & Microsystems
Hi-index | 0.00 |
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.