From Dataflow Specification to Multiprocessor Partitioned Time-triggered Real-time Implementation

Our objective is to facilitate the development of complex time-triggered systems by automating the allocation and scheduling steps. We show that full automation is possible while taking into account the elements of complexity needed by a complex embedded control system. More precisely, we consider deterministic functional specifications provided (as often in an industrial setting) by means of synchronous data-flow models with multiple modes and multiple relative periods. We first extend this functional model with an original real-time characterization that takes advantage of our time-triggered framework to provide a simpler representation of complex end-to-end flow requirements. We also extend our specifications with additional non-functional properties specifying partitioning, allocation, and preemptability constraints. Then, we provide novel algorithms for the off-line scheduling of these extended specifications onto partitioned time-triggered architectures a la ARINC 653. The main originality of our work is that it takes into account at the same time multiple complexity elements: various types of non-functional properties (real-time, partitioning, allocation, preemptability) and functional specifications with conditional execution and multiple modes. Allocation of time slots/windows to partitions can be fully or partially provided, or synthesized by our tool. Our algorithms allow the automatic allocation and scheduling onto multi-processor (distributed) systems with a global time base, taking into account communication costs. We demonstrate our technique on a model of space flight software system with strong real-time determinism requirements.

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

[2]  Claire Pagetti,et al.  Mapping a multi-rate synchronous language to a many-core processor , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[3]  Stephen A. Edwards,et al.  The Case for the Precision Timed (PRET) Machine , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[4]  Hermann Kopetz,et al.  The time-triggered architecture , 2003 .

[5]  Petru Eles,et al.  Scheduling with optimized communication for time-triggered embedded systems , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[6]  Gerhard Fohler,et al.  Handling mixed sets of tasks in combined offline and online scheduled real-time systems , 2009, Real-Time Systems.

[7]  Alberto L. Sangiovanni-Vincentelli,et al.  Extensible and scalable time triggered scheduling , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[8]  Gerhard Fohler,et al.  Changing Operational Modes in the Context of Pre Run-Time Scheduling (Special Issue on Responsive Computer Systems) , 1993 .

[9]  Chi-Sheng Shih,et al.  Pipeline schedule synthesis for real-time streaming tasks with inter/intra-instance precedence constraints , 2011, 2011 Design, Automation & Test in Europe.

[10]  Francis Cottet,et al.  Précédences généralisées et ordonnançabilité des tâches de suivi temps réel d'un laminoir , 2001 .

[11]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

[12]  K.R. Luecke,et al.  Device drivers in Time and Space Partitioned operating systems , 2008, MILCOM 2008 - 2008 IEEE Military Communications Conference.

[13]  Sanjoy K. Baruah,et al.  Dynamic- and Static-priority Scheduling of Recurring Real-time Tasks , 2004, Real-Time Systems.

[14]  Hermann Kopetz,et al.  Event-Triggered Versus Time-Triggered Real-Time Systems , 1991, Operating Systems of the 90s and Beyond.

[15]  Alix Munier The basic cyclic scheduling problem with linear precedence constraints , 1996 .

[16]  Balakrishna J. Prabhu,et al.  Strictly periodic scheduling in IMA-based architectures , 2012, Real-Time Systems.

[17]  Yves Sorel,et al.  An algorithm for automatically obtaining distributed and fault-tolerant static schedules , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[18]  Vicki H. Allan,et al.  Software pipelining , 1995, CSUR.

[19]  John M. Rushby,et al.  Bus Architectures for Safety-Critical Embedded Systems , 2001, EMSOFT.

[20]  Marc Pouzet,et al.  N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems , 2006, POPL '06.

[21]  Maryline Chetto,et al.  Dynamic scheduling of real-time tasks under precedence constraints , 1990, Real-Time Systems.

[22]  Cédric Auger,et al.  Compilation certifiée de SCADE/LUSTRE , 2013 .

[23]  Jia Xu,et al.  Multiprocessor Scheduling of Processes with Release Times, Deadlines, Precedence, and Exclusion Relations , 1993, IEEE Trans. Software Eng..

[24]  Matthieu Lemerre,et al.  The OASIS Kernel: A Framework for High Dependability Real-Time Systems , 2011, 2011 IEEE 13th International Symposium on High-Assurance Systems Engineering.

[25]  Stephen A. Edwards,et al.  A disruptive computer design idea: Architectures with repeatable timing , 2009, 2009 IEEE International Conference on Computer Design.

[26]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003 .

[27]  Gerhard Fohler,et al.  Static scheduling of pipelined periodic tasks in distributed real-time systems , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[28]  Sebastian Fischmeister,et al.  Semantics-preserving implementation of synchronous specifications over dynamic TDMA distributed architectures , 2010, EMSOFT '10.

[29]  Peter H. Feiler,et al.  Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language , 2012 .

[30]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

[31]  Pascal Raymond,et al.  Model-Based Design of Embedded Control Systems by Means of a Synchronous Intermediate Model , 2009, 2009 International Conference on Embedded Software and Systems.

[32]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003, LCTES '03.

[33]  Thomas Carle,et al.  Predicate-aware, makespan-preserving software pipelining of scheduling tables , 2014, TACO.

[34]  Sanjoy K. Baruah,et al.  Generalized Multiframe Tasks , 1999, Real-Time Systems.

[35]  Frédéric Boniol,et al.  Multi-task Implementation of Multi-periodic Synchronous Programs , 2011, Discret. Event Dyn. Syst..

[36]  Thomas A. Henzinger,et al.  The embedded machine: predictable, portable real-time code , 2002, PLDI '02.

[37]  Yves Sorel,et al.  Schedulability analysis for a combination of non-preemptive strict periodic tasks and preemptive sporadic tasks , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[38]  Robert de Simone,et al.  Clock-driven distributed real-time implementation of endochronous synchronous programs , 2009, EMSOFT '09.

[39]  Gerhard Fohler,et al.  Issues in the static allocation and scheduling of complex periodic tasks , 1993 .

[40]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[41]  Insup Lee,et al.  Network-Code Machine: Programmable Real-Time Communication Schedules , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).