- Research Article
- Open Access
A Domain-Specific Language for Multitask Systems, Applying Discrete Controller Synthesis
EURASIP Journal on Embedded Systemsvolume 2007, Article number: 084192 (2007)
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.
Henzinger TA, Horowitz B, Kirsch CM: Giotto: a time-triggered language for embedded programming. Proceedings of the IEEE 2003,91(1):84-99. 10.1109/JPROC.2002.805825
Altisen K, Clodic A, Maraninchi F, Rutten É: Using controller synthesis to build property-enforcing layers. Proceedings of European Symposium on Programming (ESOP '03), April 2003, Warsaw, Poland
Borrelly J-J, Coste-Manière E, Espiau B, et al.: The ORCCAD architecture. International Journal of Robotics Research 1998,17(4):338-359. 10.1177/027836499801700403
Rutten É: Programmation sûre des systèmes de contrôle/commande: le séquencement de tâches flot de données dans les langages réactifs, Document d'Habilitation à Diriger des Recherches.
Maraninchi F, Rémond Y, Rutten É: Effective programming language support for discrete-continuous mode-switching control systems. Proceedings of the 40th IEEE Conference on Decision and Control (CDC '01), December 2001, Orlando, Fla, USA 3296-3301.
Maraninchi F, Rémond Y: Mode-automata: a new domain-specific construct for the development of safe critical systems. Science of Computer Programming 2003,46(3):219-254. 10.1016/S0167-6423(02)00093-X
Colaço J-L, Pagano B, Pouzet M: A conservative extension of synchronous data-flow with state machines. Proceedings of the 5th ACM International Conference on Embedded Software (EMSOFT '05), September 2005, Jersey City, NJ, USA 173-182.
Cassez F, Roux O: Compilation of the ELECTRE reactive language into finite transition systems. Theoretical Computer Science 1995,146(1-2):109-143. 10.1016/0304-3975(94)00136-7
Altisen K, Gößler G, Sifakis J: Scheduler modelling based on the controller synthesis paradigm. Journal of Real-Time Systems 2002,23(1):55-84. 10.1023/A:1015346419267
Halbwachs N: Synchronous Programming of Reactive Systems. Kluwer Academic, Boston, Mass, USA; 1993.
Halbwachs N: Synchronous programming of reactive systems, a tutorial and commented bibliography. Proceedings of the 10th International Conference on Computer Aided Verification (CAV '98), June 1998, Vancouver, BC, Canada, Lecture Notes in Computer Science 1427: 1-16.
Benveniste A, Caspi P, Edwards SA, Halbwachs N, Le Guernic P, de Simone R: The synchronous languages 12 years later. Proceedings of the IEEE 2003,91(1):64-83. 10.1109/JPROC.2002.805826
Le Guernic P: Compilation involving model-checking and controller synthesis. personal communication, 1996
Halbwachs N, Lagnier F, Raymond P: Synchronous observers and the verification of reactive systems. Proceedings of the 3rd International Conference on Algebraic Methodology and Software Technology (AMAST '93), June 1993, Twente, The Netherlands 83-96.
Potop-Butucaru D, de Simone R: Optimizations for faster execution of Esterel programs. Proceedings of the 1st ACM and IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE '03), June 2003, Mont-Saint-Michel, France 227-236.
Chakrabarti A, de Alfaro L, Henzinger T, Mang F: Synchronous and bidirectional component interfaces. Proceedings of the 14th International Conference on Computer Aided Verification (CAV '02), July 2002, Copenhagen, Denmark 414-427.
Berry G: The foundations of Esterel. In Proof, Language, and Interaction: Essays in Honour of Robin Milner. Edited by: Plotkin G, Stirling C, Tofte M. MIT Press, Cambridge, Mass, USA; 2000:425-454.
Coste-Manière E, Turro N: The MAESTRO language and its environment: specification, validation and control of robotic missions. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '97), September 1997, Grenoble, France 2: 836-841.
Ramadge PJ, Wonham WM: Supervisory control of a class of discrete event processes. SIAM Journal on Control and Optimization 1987,25(1):206-230. 10.1137/0325013
Darondeau P: Verification is autopsy. personal communication, October 2004
Marchand H, Bournai P, Le Borgne M, Le Guernic P: Synthesis of discrete-event controllers based on the signal environment. Discrete Event Dynamic Systems: Theory and Applications 2000,10(4):325-346. 10.1023/A:1008311720696
Marchand H, Rutten É: Managing multi-mode tasks with time cost and quality levels using optimal discrete control synthesis. Proceedings of the 14th Euromicro Conference on Real-Time Systems (ECRTS '02), June 2002, Vienna, Austria 241-248.
Kloukinas C, Nakhli C, Yovine S: A methodology and tool support for generating scheduled native code for real-time Java applications. Proceedings of the 3rd International Conference on Embedded Software (EMSOFT '03), October 2003, Philadelphia, Pa, USA, Lecture Notes in Computer Science 2855: 274-289.
Rutten É, Marchand H: Automatic generation of safe handlers for multi-task systems. In Rapport de Recherche 5345. INRIA, Le Chesnay Cedex, France; 2004. http://www.inria.fr/rrrt/rr-5345.html
Kloukinas C, Yovine S: Synthesis of safe, QoS extendible, application specific schedulers for heterogeneous real-time systems. Proceedings of the 15th Euromicro Conference on Real-Time Systems (ECRTS '03), July 2003, Porto, Portugal 287-294.
Delaval G, Rutten É: A domain-specific language for task handlers generation, applying discrete controller synthesis. Proceedings of the 21st Annual ACM Symposium on Applied Computing (SAC '06), April 2006, Dijon, France 1: 901-905.
Jagadeesan LJ, Puchol C, Olnhausen JV: Safety property verification of Esterel programs and applications to telecommunications software. Proceedings of the 7th International Conference on Computer Aided Verification (CAV '95), July 1995, Liège, Belgium, Lecture Notes in Computer Science 939: 127-140.
Girault A, Rutten É: Discrete controller synthesis for fault-tolerant distributed systems. Proceedings of the 9th International Workshop on Formal Methods for Industrial Critical Systems (FMICS '04), September 2004, Linz, Austria