Integrating Application-Defined Scheduling with the New Dispatching Policies for Ada Tasks

  • Mario Aldea Rivas
  • Javier Miranda
  • Michael González Harbour
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3555)


In previous papers we had presented an application program interface (API) that enabled applications to use application-defined scheduling algorithms for Ada tasks in a way compatible with the scheduling model defined in the real-Time Annex of the language. Each application scheduler was implemented with a special task. This paper presents a new implementation in which the application scheduler actions are executed as part of the kernel on which the run-time system is based, thus increasing the efficiency. This paper also presents modifications to the proposed API that align it with the evolution of the Ada Issues being considered in the Ada 200Y standardization. First, we use the new concept of deadline as an abstract notion of urgency, to order the tasks in the scheduling queue of the underlying kernel, freeing the application scheduler of the responsibility of keeping the desired ordering of tasks, and thus simplifying it and reducing its overhead. In second place, we also consider task synchronization through protected objects using the new Stack Resource Policy proposed for the EDF task dispatching policy in Ada 200Y, which can be used in a large variety of fixed and dynamic priority scheduling policies without explicit intervention of the application scheduler.


Real-Time Systems Kernel Scheduling Compilers Ada POSIX 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abeni, L., Buttazzo, G.: Integrating Multimedia Applications in Hard Real-Time Systems. In: Proceedings of the IEEE Real-Time Systems Symposium, Madrid, Spain (December 1998)Google Scholar
  2. 2.
    Aldea, M., González, M.: MaRTE OS: An ada kernel for real-time embedded applications. In: Strohmeier, A., Craeynest, D. (eds.) Ada-Europe 2001. LNCS, vol. 2043, p. 305. Springer, Heidelberg (2001)Google Scholar
  3. 3.
    IEEE Std 1003.1-2003. Information Technology -Portable Operating System Interface (POSIX). Institute of Electrical and electronic EngineersGoogle Scholar
  4. 4.
    IEEE Std. 1003.13-2003. Information Technology -Standardized Application Environment Profile- POSIX Realtime and Embedded Application Support (AEP). The Institute of Electrical and Electronics EngineersGoogle Scholar
  5. 5.
    Baker, T.P.: Stack-Based Scheduling of Realtime Processes. Journal of Real-Time Systems 3(1), 67–99 (1991)CrossRefGoogle Scholar
  6. 6.
    Burns, A., González Harbour, M., Wellings, A.J.: A round robin scheduling policy for ada. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 334–343. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Burns, A., Wellings, A.J., Tucker Taft, S.: Supporting deadlines and EDF scheduling in ada. In: Llamosí, A., Strohmeier, A. (eds.) Ada-Europe 2004. LNCS, vol. 3063, pp. 156–165. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Rivas, M.A., Harbour, M.G.: Application-Defined Scheduling in Ada. In: Proceedings of the International Real-Time Ada Workshop (IRTAW-2003), Viana do Castelo, Portugal (September 2003)Google Scholar
  9. 9.
    Aldea, M., Miranda, J., González Harbour, M.: Implementing an application-defined scheduling framework for ada tasking. In: Llamosí, A., Strohmeier, A. (eds.) Ada-Europe 2004. LNCS, vol. 3063, pp. 283–296. Springer, Heidelberg (2004) ISBN:3-540-22011-9CrossRefGoogle Scholar
  10. 10.
    Leroy, P.: An invitation to ada 2005. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 1–23. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Ada Rapporteur Group (ARG). Execution-Time Clocks, Ada Issue AI95-00307-1.13,
  12. 12.
    Ada Rapporteur Group (ARG). Group Execution-Time Timers. Ada Issue AI95-00354-1.8,
  13. 13.
    Ada Rapporteur Group (ARG). Support for Deadlines and Earliest Deadline First Scheduling. Ada Issue AI95-00357-1.12,
  14. 14.
    Ada Rapporteur Group (ARG). Priority Specific Dispatching including Round Robin. Ada Issue AI95-00355-1.9,
  15. 15.
    Ada Rapporteur Group (ARG). Timing events. Ada Issue AI95-00297/10,
  16. 16.
    Buttazo, G.C.: Rate Monotonic vs. EDF: Judgment Day. Journal of Real-Time Systems 29(1) (January 2005)Google Scholar
  17. 17.
    Wang, Y.C., Lin, K.J.: Implementing a General Real-Time Scheduling Framework in the Red-Linux Real-Time Kernel. In: Proceedings of IEEE Real-Time Systems Symposium, Phoenix (December 1999)Google Scholar
  18. 18.
    Ford, B., Susarla, S.: CPU Inheritance Scheduling. In: Proceedings of OSDI (October 1996)Google Scholar
  19. 19.
    Candea, G.M., Jones, M.B.: Vassal: Loadable Scheduler Support for Multi-Policy Scheduling. In: Proceedings of the Second USENIX Windows NT Symposium, Seattle, Washington (August 1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Mario Aldea Rivas
    • 1
  • Javier Miranda
    • 2
  • Michael González Harbour
    • 1
  1. 1.Departamento de Electrónica y ComputadoresUniversidad de CantabriaSantanderSpain
  2. 2.Applied Microelectronics Research InstituteUniv. Las Palmas de Gran CanariaLas Palmas de Gran CanariaSpain

Personalised recommendations