A Domain-Specific Language for Multitask Systems, Applying Discrete Controller Synthesis

We propose a simple programming language, called Nemo, specific to the domain of multitask real-time control systems, such as in robotic, automotive, or avionics systems. It can be used to specify a set of resources with usage constraints, a set of tasks that consume them according to various modes, and applications sequencing the tasks. We automatically obtain an application-specific task handler that correctly manages the constraints (if there exists one), through a compilation-like process including a phase of discrete controller synthesis. This way, this formal technique contributes to the safety of the designed systems, while being encapsulated in a tool that makes it usable by application experts. Our approach is based on the synchronous modelling techniques, languages, and tools.

[1]  Lalita Jategaonkar Jagadeesan,et al.  Safety Property Verification of ESTEREL Programs and Applications to Telecommunications Software , 1995, CAV.

[2]  Éric Rutten,et al.  A domain-specific language for task handlers generation, applying discrete controller synthesis , 2006, SAC '06.

[3]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[4]  Thomas A. Henzinger,et al.  Synchronous and Bidirectional Component Interfaces , 2002, CAV.

[5]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[6]  F. Maraninchi,et al.  Effective programming language support for discrete-continuous mode-switching control systems , 2001, Proceedings of the 40th IEEE Conference on Decision and Control (Cat. No.01CH37228).

[7]  Paul Le Guernic,et al.  Synthesis of Discrete-Event Controllers Based on the Signal Environment , 2000, Discret. Event Dyn. Syst..

[8]  Marc Pouzet,et al.  A conservative extension of synchronous data-flow with state machines , 2005, EMSOFT.

[9]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[10]  Éric Rutten,et al.  Managing multi-mode tasks with time cost and quality levels using optimal discrete control synthesis , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[11]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[12]  Joseph Sifakis,et al.  Scheduler Modeling Based on the Controller Synthesis Paradigm , 2002, Real-Time Systems.

[13]  Ève Coste-Manière,et al.  The MAESTRO language and its environment: specification, validation and control of robotic missions , 1997, Proceedings of the 1997 IEEE/RSJ International Conference on Intelligent Robot and Systems. Innovative Robotics for Real-World Applications. IROS '97.

[14]  Éric Rutten,et al.  Automatic generation of safe handlers for multi-task systems , 2009, J. Embed. Comput..

[15]  Joel Spencer .1 Results , .

[16]  Florence Maraninchi,et al.  Mode-Automata: a new domain-specific construct for the development of safe critical systems , 2003, Sci. Comput. Program..

[17]  Alain Girault,et al.  Discrete controller synthesis for fault-tolerant distributed systems , 2004 .

[18]  Janusz Zalewski Synchronous programming of reactive systems: by Nicolas HALBWACHS; Kluwer International Series in Engineering and Computer Science: Real-Time Systems; Kluwer Academic Publishers; Dordrecht, The Netherlands; 1993; xiv + 174 pp.; $79.95; ISBN: 0-7923-9311-2 , 1995 .

[19]  Shailendra Sahu,et al.  Performances , 2005, Racism Postrace.

[20]  Stephen A. Edwards,et al.  The Synchronous Languages Twelve Years Later , 1997 .

[21]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[22]  Ève Coste-Manière,et al.  The ORCCAD Architecture , 1998, Int. J. Robotics Res..

[23]  Robert de Simone,et al.  Optimizations for faster execution of Esterel programs , 2003, First ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2003. MEMOCODE '03. Proceedings..

[24]  Christos Kloukinas,et al.  A Methodology and Tool Support for Generating Scheduled Native Code for Real-Time Java Applications , 2003, EMSOFT.

[25]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[26]  Franck Cassez,et al.  Compilation of the ELECTRE Reactive Language into Finite Transition Systems , 1995, Theor. Comput. Sci..

[27]  Christos Kloukinas,et al.  Synthesis of safe, QoS extendible, application specific schedulers for heterogeneous real-time systems , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[28]  N. Halbwachs,et al.  Synchronous programming of reactive systems: A tutorial and commented bibliography , 1998, CAV 1998.