Design and Implementation of a Ravenscar Extension for Multiprocessors

  • Fabien Chouteau
  • José F. Ruiz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6652)


New software architectures demand increasing processing power, and multiprocessor hardware platforms are spreading as the answer to achieve the required performance. Embedded real-time systems are also subject to this trend, but in the case of real-time high-integrity systems, the properties of reliability, predictability and analyzability are also paramount.

The Ada 2005 language defined a subset of its tasking model, the Ravenscar profile, that provides the basis for the implementation of deterministic and time analyzable applications on top of a streamlined run-time system. This Ravenscar tasking profile, originally designed for single processors, has proven remarkably useful for modelling verifiable real-time monoprocessor systems.

The forthcoming Ada 2012 language proposes a simple extension to the Ravenscar profile to support multiprocessor systems using a fully partitioned approach. The implementation of this scheme is simple, and it can be used to develop applications amenable to schedulability analysis.

This paper describes the design and implementation of a restricted run time supporting the Ravenscar tasking model on a bare board multiprocessor machine for safety-critical development.


Mutual Exclusion Single Processor Multiprocessor System Protected Object Delay Queue 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Tucker Taft, S., Duff, R.A., Brukardt, R.L., Plödereder, E., Leroy, P.: Ada 2005 Reference Manual. LNCS, vol. 4348. Springer, Heidelberg (2006)Google Scholar
  2. 2.
    Aeroflex Gaisler: LEON3 Multiprocessing CPU Core (2010),
  3. 3.
    Andersson, B., Baruah, S., Jonsson, J.: Static-priority scheduling on multiprocessors. In: RTSS 2001: Proceedings of the 22nd IEEE Real-Time Systems Symposium. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  4. 4.
    ARG: Pragma CPU and Ravenscar Profile. Tech. rep., ISO/IEC/JTC1/SC22/WG9 (2010),
  5. 5.
    ARINC: ARINC Specification 653, Avionics Application Software Standard Interface. Aeronautical Radio, Inc. (2005)Google Scholar
  6. 6.
    Baker, T.P.: An analysis of fixed-priority schedulability on a multiprocessor. Real-Time Systems 32(1-2), 49–71 (2006)CrossRefzbMATHGoogle Scholar
  7. 7.
    Baruah, S.K., Cohen, N.K., Plaxton, C.G., Varvel, D.: Proportionate progress: A notion of fairness in resource allocation. Algorithmica 15, 600–625 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Carpenter, J., Funk, S., Holman, P., Srinivasan, A., Anderson, J., Baruah, S.: A categorization of real-time multiprocessor scheduling problems and algorithms. In: Handbook on Scheduling Algorithms, Methods, and Models. Chapman Hall/CRC, Boca Raton (2004)Google Scholar
  9. 9.
    Dhall, S.K., Liu, C.L.: On a real-time scheduling problem. Operations Research 26(1), 127–140 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Mezzetti, E., Panunzio, M., Vardanega, T.: Preservation of timing properties with the ada ravenscar profile. In: Real, J., Vardanega, T. (eds.) Ada-Europe 2010. LNCS, vol. 6106, pp. 153–166. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Giering, E.W., Mueller, F., Baker, T.P.: Implementing ada 9X features using POSIX threads: Design issues. In: Proceedings of TRI-Ada 1993, pp. 214–228 (1993)Google Scholar
  12. 12.
    Joseph, M., Pandya, P.: Finding response times in real-time systems. BCS Computer Journal 29(5), 390–395 (1986)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20(1) (1973)Google Scholar
  14. 14.
    Oh, Y., Son, H.: Tight performance bounds of heuristics for a real-time scheduling problem. Tech. rep., Department of Computer Science, University of Virginia (1993)Google Scholar
  15. 15.
    RTCA: RTCA/DO-297: Integrated Modular Avionics (IMA) Development Guidance and Certification Considerations. RTCA (August 2005)Google Scholar
  16. 16.
    Ruiz, J.F.: GNAT pro for on-board mission-critical space applications. In: Vardanega, T., Wellings, A.J. (eds.) Ada-Europe 2005. LNCS, vol. 3555, pp. 248–259. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Ruiz, J.F.: Towards a Ravenscar extension for multi-processor systems. Ada Letters 30, 86–90 (2010)CrossRefGoogle Scholar
  18. 18.
    Shen, H., Baker, T.: A Linux kernel module implementation of restricted Ada tasking. Ada Letters XIX(2), 96–103 (1999); Proceedings of the 9th International Real-Time Ada WorkshopCrossRefGoogle Scholar
  19. 19.
    SPARC International, Inc.: The SPARC Architecture Manual (1992), version 8Google Scholar
  20. 20.
    Swaminathan, S., Stultz, J., Vogel, J.F., McKenney, P.E.: Fairlocks — a high performance fair locking scheme. In: International Conference on Parallel and Distributed Computing Systems, pp. 241–246 (2002)Google Scholar
  21. 21.
    Zamorano, J., Ruiz, J.F., la de Puente, J.A.: Implementing Ada.Real_Time.Clock and absolute delays in real-time kernels. In: Craeynest, D., Strohmeier, A. (eds.) Ada-Europe 2001. LNCS, vol. 2043, p. 317. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Fabien Chouteau
    • 1
  • José F. Ruiz
    • 1
  1. 1.AdaCoreParisFrance

Personalised recommendations