skip to main content
research-article

Going real-time with Ada 2012 and GNAT

Published:11 June 2013Publication History
Skip Abstract Section

Abstract

This paper provides an overview of the real-time additions to Ada 2012 and their implementation status in GNAT. Most of these additions are related to multiprocessors, helping to exploit parallelism in an efficient and predictable way, and this is the area where GNAT has made more progress. There is also execution-time accounting of interrupts that has been added to bare board targets, where that GNAT run-time library has fine-grained control. The area of new scheduling policies is the one which has received less attention in GNAT, because of the lack or required support in underlying operating systems.

References

  1. Aeroflex Gaisler. LEON3 Multiprocessing CPU Core, 2010. Available at http://www.gaisler.com/doc/leon3_product_sheet.pdf.Google ScholarGoogle Scholar
  2. ARG. Extended suspension objects. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0168-1.txt.Google ScholarGoogle Scholar
  3. ARG. Glitch in edf protocol. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0055-1.txt.Google ScholarGoogle Scholar
  4. ARG. Managing affinities for programs executing on multiprocessors. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0167-1.txt.Google ScholarGoogle Scholar
  5. ARG. Memory barriers and volatile objects. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0117-1.txt.Google ScholarGoogle Scholar
  6. ARG. Monitoring the time spent in interrupt handlers. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0170-1.txt.Google ScholarGoogle Scholar
  7. ARG. Pragma CPU and Ravenscar Profile. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0171-1.txt.Google ScholarGoogle Scholar
  8. ARG. Yield for non-preemptive dispatching. Technical report, ISO/IEC/JTC1/SC22/WG9, 2010. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0166-1.txt.Google ScholarGoogle Scholar
  9. ARG. Implement task barriers in Ada. Technical report, ISO/IEC/JTC1/SC22/WG9, 2011. Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0174-1.txt.Google ScholarGoogle Scholar
  10. Alan Burns and Andy J.Wellings. Multiprocessor systems: Session summary. Ada Letters, XXX(1):147--151, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Alan Burns and Andy J. Wellings. Supporting execution on multiprocessor platforms. Ada Letters, XXX(1):16--25, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fabien Chouteau and José F. Ruiz. Design and implementation of a Ravenscar extension for multiprocessors. In A. Romanovsky and T. Vardanega, editors, Ada-Europe 2011, 16th International Conference on Reliable Software Technologies, volume 6652 of Lecture Notes in Computer Science (LNCS). Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kristoffer Nyborg Gregertsen and Amund Skavhaug. Execution-time control for interrupt handling. Ada Letters, XXX(1):33--44, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. IEEE. Portable Operating System Interface (POSIX), 2008. IEEE Std 1003.1.Google ScholarGoogle Scholar
  15. Stephen Michell, Luke Wong, and Brad Moore. Realtime paradigms needed post Ada 2005. volume XXX of Ada Letters, pages 62--67. ACM, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mario Aldea Rivas and Michael González Harbour. Execution time monitoring and interrupt handlers, position statement. Ada Letters, XXX(1):68--72, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mario Aldea Rivas, Michael Gonzlez Harbour, and José F. Ruiz. Implementation of the Ada 2005 task dispatching model in MaRTE OS and GNAT. In Reliable Software Technologies --- Ada Europe 2009, 14th Ada-Europe International Conference on Reliable Software Technologies, volume 5570 of Lecture Notes in Computer Science (LNCS), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. José F. Ruiz. Towards a Ravenscar extension for multi-processor systems. Ada Letters, XXX(1):86--90, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Swaminathan, J. Stultz, J. F. Vogel, and Paul E. McKenney. Fairlocks --- a high performance fair locking scheme. In International Conference on Parallel and Distributed Computing Systems, pages 241--246, 2002.Google ScholarGoogle Scholar

Index Terms

  1. Going real-time with Ada 2012 and GNAT

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGAda Ada Letters
          ACM SIGAda Ada Letters  Volume 33, Issue 1
          April 2013
          171 pages
          ISSN:1094-3641
          DOI:10.1145/2492312
          Issue’s Table of Contents

          Copyright © 2013 Author

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 11 June 2013

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!