A Formal Approach to Design and Verification of Two-Level Hierarchical Scheduling Systems

Hierarchical Scheduling (HS) systems manage a set of realtime applications through a scheduling hierarchy, enabling partitioning and reduction of complexity, confinement of failure modes, and temporal isolation among system applications. This plays a crucial role in all industrial areas where high-performance microprocessors allow growing integration of multiple applications on a single platform. We propose a formal approach to the development of real-time applications with non-deterministic Execution Times and local resource sharing managed by a Time Division Multiplexing (TDM) global scheduler and preemptive Fixed Priority (FP) local schedulers, according to the scheduling hierarchy prescribed by the ARINC-653 standard. The methodology leverages the theory of preemptive Time Petri Nets (pTPNs) to support exact schedulability analysis, to guide the implementation on a Real-Time Operating System (RTOS), and to drive functional conformance testing of the real-time code. Computational experience is reported to show the feasibility of the approach.

[1]  Insup Lee,et al.  A Compositional Scheduling Framework for Digital Avionics Systems , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[2]  Giorgio C. Buttazzo,et al.  HARD REAL-TIME COMPUTING SYSTEMS Predictable Scheduling Algorithms and Applications , 2007 .

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  Marco Spuri,et al.  Scheduling aperiodic tasks in dynamic priority systems , 1996, Real-Time Systems.

[5]  Giorgio C. Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series) , 2010 .

[6]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[7]  Giuseppe Lipari,et al.  A methodology for designing hierarchical scheduling systems , 2005, J. Embed. Comput..

[8]  Kousha Etessami,et al.  Optimizing Büchi Automata , 2000, CONCUR.

[9]  Aloysius K. Mok,et al.  Resource partition for real-time systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[10]  Insup Lee,et al.  Periodic resource model for compositional real-time guarantees , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[11]  M. Diaz,et al.  Modeling and Verification of Time Dependent Systems Using Time Petri Nets , 1991, IEEE Trans. Software Eng..

[12]  David L. Dill,et al.  Timing Assumptions and Verification of Finite-State Concurrent Systems , 1989, Automatic Verification Methods for Finite State Systems.

[13]  Enrico Vicario,et al.  Timed state space analysis of real-time preemptive systems , 2004, IEEE Transactions on Software Engineering.

[14]  Insup Lee,et al.  Compositional Schedulability Analysis of Hierarchical Real-Time Systems , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[15]  Laura Carnevali,et al.  Putting Preemptive Time Petri Nets to Work in a V-Model SW Life Cycle , 2011, IEEE Transactions on Software Engineering.

[16]  Kim G. Larsen,et al.  The Impressive Power of Stopwatches , 2000, CONCUR.

[17]  Laura Carnevali,et al.  Oris: a tool for modeling, verification and evaluation of real-time systems , 2010, International Journal on Software Tools for Technology Transfer.

[18]  Enrico Vicario,et al.  Correctness verification and performance analysis of real-time systems using stochastic preemptive time Petri nets , 2005, IEEE Transactions on Software Engineering.

[19]  Didier Lime,et al.  Formal verification of real-time systems with preemptive scheduling , 2009, Real-Time Systems.

[20]  Alan Burns,et al.  Hierarchical fixed priority pre-emptive scheduling , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[21]  Giuseppe Lipari,et al.  Resource partitioning among real-time applications , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[22]  Didier Lime,et al.  Time Petri Nets with Inhibitor Hyperarcs. Formal Semantics and State Space Computation , 2004, ICATPN.

[23]  Paolo Mantegazza,et al.  General-purpose processors for active vibro-acoustic control: Discussion and experiences , 2007 .

[24]  Jane W.-S. Liu,et al.  Scheduling real-time applications in an open environment , 1997, Proceedings Real-Time Systems Symposium.

[25]  Tei-Wei Kuo,et al.  A fixed-priority-driven open environment for real-time applications , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[26]  Enrico Vicario,et al.  Compositional Validation of Time-Critical Systems Using Communicating Time Petri Nets , 1995, IEEE Trans. Software Eng..

[27]  Enrico Vicario,et al.  Static Analysis and Dynamic Steering of Time-Dependent Systems , 2001, IEEE Trans. Software Eng..

[28]  Frederick M. Proctor,et al.  Real-time operating system timing jitter and its impact on motor control , 2001, Optics East.

[29]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[30]  Sanjoy K. Baruah,et al.  Efficient scheduling of real-time multi-task applications in dynamic systems , 2000, Proceedings Sixth IEEE Real-Time Technology and Applications Symposium. RTAS 2000.

[31]  Wolfgang Reisig,et al.  Applications and Theory of Petri Nets 2004 , 2004, Lecture Notes in Computer Science.

[32]  Insik Shin,et al.  SIRAP: a synchronization protocol for hierarchical resource sharingin real-time open systems , 2007, EMSOFT '07.