Combined Scheduling of Time-Triggered and Priority-Based Task Sets in Ravenscar

  • Jorge Real
  • Sergio Sáez
  • Alfons Crespo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10873)


Time-triggered and priority-based are the two major approaches for scheduling real-time systems. Both have their own advantages and drawbacks and none is superior in the general case. While time-triggered schedules excel at determinism and jitter control, they are hard to design and lack flexibility. Priority-based scheduling, on the other hand, keeps the logical and timing aspects of real-time applications conveniently separated from each other, at the cost of indeterminism and larger input and output jitter for all but the highest-priority tasks.

In a previous paper, we presented a model and a related Ada implementation to support the combined execution of time-triggered and priority-based task sets, aiming to obtain the best of both worlds. This paper presents continuation of that work in two directions. One is the extension of the original model to support more behavioural patterns; the other is providing a Ravenscar implementation, targeting high-integrity systems. We conclude that Ravenscar is expressive enough to support most of the patterns in the original full-Ada version, and those that require forbidden features (such as dynamic priorities) are not out of reach if the time-triggered scheduler is implemented at the runtime level.


Real-time systems Time-triggered scheduling Ravenscar profile High-integrity systems Embedded systems 


  1. 1.
    Garey, M., Johnson, D.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman, San Francisco (1979)zbMATHGoogle Scholar
  2. 2.
    Real, J., Sáez, S., Crespo, A.: Combining time-triggered plans with priority scheduled task sets. In: Bertogna, M., Pinho, L.M., Quiñones, E. (eds.) Ada-Europe 2016. LNCS, vol. 9695, pp. 195–212. Springer, Cham (2016). Scholar
  3. 3.
    Real, J., Sáez, S., Crespo, A.: Combined scheduling of time-triggered plans and priority scheduled task sets. Ada Lett. 36(1), 68–76 (2016)CrossRefGoogle Scholar
  4. 4.
    Burns, A., Dobbing, B., Vardanega, T.: Guide for the use of the Ada Ravenscar Profile in high-integrity systems. Technical report YCS-2017-348, University of York, June 2017Google Scholar
  5. 5.
    Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard real-time environment. J. ACM 20(1), 46–61 (1973)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Leung, J., Whitehead, J.: On the complexity of fixed-priority scheduling of periodic, real-time tasks. Perform. Eval. (Netherlands) 2(4), 237–250 (1982)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Real, J., Rogers, P.: Session summary: experience. Ada Lett. 36(1), 101–102 (2016)CrossRefGoogle Scholar
  8. 8.
    ISO/IEC-JTC1-SC22-WG9: Ada Reference Manual ISO/IEC 8652:2012(E) (2012).
  9. 9.
    Sáez, S., Real, J.: TTS Ravenscar runtime source code. Version v0.2.0, March 2018.
  10. 10.
    Rivas, M.A., González Harbour, M.: MaRTE OS: an Ada kernel for real-time embedded applications. In: Craeynest, D., Strohmeier, A. (eds.) Ada-Europe 2001. LNCS, vol. 2043, pp. 305–316. Springer, Heidelberg (2001). Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Instituto de Automática e Informática IndustrialUniversitat Politècnica de ValènciaValènciaSpain
  2. 2.Instituto Tecnológico de InformáticaUniversitat Politècnica de ValènciaValènciaSpain

Personalised recommendations