1687-3963-2007-084192 1687-3963 Research Article <p>A Domain-Specific Language for Multitask Systems, Applying Discrete Controller Synthesis</p> DelavalGwenaëlGwenael.Delaval@inrialpes.fr RuttenÉricEric.Rutten@inria.fr

INRIA Rhône-Alpes, Saint Ismier Cedex 38334, France

Laboratoire d'Informatique Fondamentale de Lille, INRIA Futurs, Villeneuve d'Ascq Cédex 59655, France

EURASIP Journal on Embedded Systems 1687-3963 2007 2007 1 084192 http://jes.eurasipjournals.com/content/2007/1/084192 10.1155/2007/84192
3062006151220063120071932007 2007Delaval and RuttenThis is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

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.

Synchronous Paradigm in Embedded Systems

[12345678910111213141516171819202122232425262728]

<p>Giotto: a time-triggered language for embedded programming</p>HenzingerTAHorowitzBKirschCMProceedings of the IEEE2003911849910.1109/JPROC.2002.805825<p>Using controller synthesis to build property-enforcing layers</p>AltisenKClodicAMaraninchiFRuttenÉProceedings of European Symposium on Programming (ESOP '03), April 2003, Warsaw, Poland<p>The ORCCAD architecture</p>BorrellyJ-JCoste-ManièreEEspiauBInternational Journal of Robotics Research199817433835910.1177/027836499801700403RuttenÉ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 Recherches17579209<p>Effective programming language support for discrete-continuous mode-switching control systems</p>MaraninchiFRémondYRuttenÉProceedings of the 40th IEEE Conference on Decision and Control (CDC '01), December 2001, Orlando, Fla, USA32963301<p>Mode-automata: a new domain-specific construct for the development of safe critical systems</p>MaraninchiFRémondYScience of Computer Programming200346321925410.1016/S0167-6423(02)00093-X<p>A conservative extension of synchronous data-flow with state machines</p>ColaçoJ-LPaganoBPouzetMProceedings of the 5th ACM International Conference on Embedded Software (EMSOFT '05), September 2005, Jersey City, NJ, USA173182<p>Compilation of the <it>ELECTRE</it> reactive language into finite transition systems</p>CassezFRouxOTheoretical Computer Science19951461-210914310.1016/0304-3975(94)00136-7<p>Scheduler modelling based on the controller synthesis paradigm</p>AltisenKGößlerGSifakisJJournal of Real-Time Systems2002231558410.1023/A:1015346419267HalbwachsNSynchronous Programming of Reactive SystemsKluwer Academic, Boston, Mass, USA1993<p>Synchronous programming of reactive systems, a tutorial and commented bibliography</p>HalbwachsNProceedings of the 10th International Conference on Computer Aided Verification (CAV '98), June 1998, Vancouver, BC, Canada, Lecture Notes in Computer Science1427116<p>The synchronous languages 12 years later</p>BenvenisteACaspiPEdwardsSAHalbwachsNLe GuernicPde SimoneRProceedings of the IEEE2003911648310.1109/JPROC.2002.805826<p>Compilation involving model-checking and controller synthesis</p>Le GuernicPpersonal communication, 1996<p>Synchronous observers and the verification of reactive systems</p>HalbwachsNLagnierFRaymondPProceedings of the 3rd International Conference on Algebraic Methodology and Software Technology (AMAST '93), June 1993, Twente, The Netherlands8396<p>Optimizations for faster execution of Esterel programs</p>Potop-ButucaruDde SimoneRProceedings of the 1st ACM and IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE '03), June 2003, Mont-Saint-Michel, France227236<p>Synchronous and bidirectional component interfaces</p>ChakrabartiAde AlfaroLHenzingerTMangFProceedings of the 14th International Conference on Computer Aided Verification (CAV '02), July 2002, Copenhagen, Denmark414427<p>The foundations of Esterel</p>BerryGProof, Language, and Interaction: Essays in Honour of Robin MilnerMIT Press, Cambridge, Mass, USAPlotkin G, Stirling C, Tofte M2000425454<p>The MAESTRO language and its environment: specification, validation and control of robotic missions</p>Coste-ManièreETurroNProceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '97), September 1997, Grenoble, France2836841305119521399719<p>Supervisory control of a class of discrete event processes</p>RamadgePJWonhamWMSIAM Journal on Control and Optimization198725120623010.1137/0325013<p>Verification is autopsy</p>DarondeauPpersonal communication, October 2004<p>Synthesis of discrete-event controllers based on the signal environment</p>MarchandHBournaiPLe BorgneMLe GuernicPDiscrete Event Dynamic Systems: Theory and Applications200010432534610.1023/A:1008311720696<p>Managing multi-mode tasks with time cost and quality levels using optimal discrete control synthesis</p>MarchandHRuttenÉProceedings of the 14th Euromicro Conference on Real-Time Systems (ECRTS '02), June 2002, Vienna, Austria241248<p>A methodology and tool support for generating scheduled native code for real-time Java applications</p>KloukinasCNakhliCYovineSProceedings of the 3rd International Conference on Embedded Software (EMSOFT '03), October 2003, Philadelphia, Pa, USA, Lecture Notes in Computer Science2855274289<p>Automatic generation of safe handlers for multi-task systems</p>RuttenÉMarchandHRapport de Recherche 5345INRIA, Le Chesnay Cedex, France2004 http://www.inria.fr/rrrt/rr-5345.html <p>Synthesis of safe, QoS extendible, application specific schedulers for heterogeneous real-time systems</p>KloukinasCYovineSProceedings of the 15th Euromicro Conference on Real-Time Systems (ECRTS '03), July 2003, Porto, Portugal287294<p>A domain-specific language for task handlers generation, applying discrete controller synthesis</p>DelavalGRuttenÉProceedings of the 21st Annual ACM Symposium on Applied Computing (SAC '06), April 2006, Dijon, France1901905<p>Safety property verification of Esterel programs and applications to telecommunications software</p>JagadeesanLJPucholCOlnhausenJVProceedings of the 7th International Conference on Computer Aided Verification (CAV '95), July 1995, Liège, Belgium, Lecture Notes in Computer Science939127140<p>Discrete controller synthesis for fault-tolerant distributed systems</p>GiraultARuttenÉProceedings of the 9th International Workshop on Formal Methods for Industrial Critical Systems (FMICS '04), September 2004, Linz, Austria