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.
- Aeroflex Gaisler. LEON3 Multiprocessing CPU Core, 2010. Available at http://www.gaisler.com/doc/leon3_product_sheet.pdf.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Alan Burns and Andy J.Wellings. Multiprocessor systems: Session summary. Ada Letters, XXX(1):147--151, April 2010. Google Scholar
Digital Library
- Alan Burns and Andy J. Wellings. Supporting execution on multiprocessor platforms. Ada Letters, XXX(1):16--25, April 2010. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Kristoffer Nyborg Gregertsen and Amund Skavhaug. Execution-time control for interrupt handling. Ada Letters, XXX(1):33--44, April 2010. Google Scholar
Digital Library
- IEEE. Portable Operating System Interface (POSIX), 2008. IEEE Std 1003.1.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- José F. Ruiz. Towards a Ravenscar extension for multi-processor systems. Ada Letters, XXX(1):86--90, April 2010. Google Scholar
Digital Library
- 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 Scholar
Index Terms
Going real-time with Ada 2012 and GNAT
Recommendations
Real-time programming with GNAT: specialised kernels versus POSIX threads
IRTAW '99: Proceedings of the ninth international workshop on Real-time AdaThe fact that most of the GNAT ports are based on non real-time operating systems leads to a reduced usability for developing real-time systems. Otherwise, existing ports over real-time operating systems are excessively complex, since GNAT uses only a ...
Real-time programming with GNAT: specialised kernels versus POSIX threads
The fact that most of the GNAT ports are based on non real-time operating systems leads to a reduced usability for developing real-time systems. Otherwise, existing ports over real-time operating systems are excessively complex, since GNAT uses only a ...






Comments