Prototyping Hierarchically Scheduled Systems Using Task Automata and TIMES

In hierarchical scheduling, a system is organized into multiple levels of individually scheduled subsystems (hierarchical scheduling tree), which provides several benefits for developers including possibilities for parallel development of subsystems. In this paper, we study how the model of task automata and the Times tool can be applied to provide support for rapid and early prototyping of hierarchically scheduled embedded systems. As a main result, we show how a single node, in an arbitrary level in a hierarchical scheduling tree (scheduled with fixed-priority preemptive scheduling), can easily be analyzed in Times by replacing all interfering nodes with a small set of higher priority (dummy) tasks. We show with an algorithm how these dummy tasks are generated (including task-parameters such as period, offset etc.). Further, we generate executable source code, with the Times code-generator, that emulates the scheduling environment (with our dummy tasks), i.e., the hierarchical scheduling tree and all of its preemptions, of a small example system. Yet another contribution is that we transform the generated (brickOS) source code to run on an industrial oriented platform (VxWorks), and conduct an performance evaluation.

[1]  Aloysius K. Mok,et al.  A model of hierarchical real-time virtual resources , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[2]  Insup Lee,et al.  Compositional real-time scheduling framework with periodic model , 2008, TECS.

[3]  Wang Yi,et al.  Code Synthesis for Timed Automata , 2003 .

[4]  Wang Yi,et al.  Task automata: Schedulability, decidability and undecidability , 2007, Inf. Comput..

[5]  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.

[6]  Sanjoy K. Baruah,et al.  A framework for achieving inter-application isolation in multiprogrammed, hard real-time environments , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

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

[8]  John P. Lehoczky,et al.  Analysis of hierar hical fixed-priority scheduling , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[9]  Alain Plantec,et al.  AADL modeling and analysis of hierarchical schedulers , 2007 .

[10]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[11]  Wang Yi,et al.  TIMES - A Tool for Modelling and Implementation of Embedded Systems , 2002, TACAS.

[12]  Insik Shin,et al.  Towards hierarchical scheduling in VxWorks , 2008 .

[13]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

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

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

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

[17]  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).

[18]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[19]  Thomas Nolte,et al.  Towards hierarchical scheduling in AUTOSAR , 2009, 2009 IEEE Conference on Emerging Technologies & Factory Automation.

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