Abstract
This paper describes the design and implementation of GNAT Pro for ERC32, a flexible cross-development environment supporting the Ravenscar tasking model on top of bare ERC32 computers. The static and simple tasking model defined by the Ravenscar profile allows for a streamlined implementation of the run-time system directly on top of bare machines. The reduced size and complexity of the run time, together with its configurability, makes it suitable for mission-critical space applications in which certification or reduced footprint is needed. Software reliability and predictability is also increased by excluding non-deterministic and non analysable tasking features. Product validation has been achieved by means of a comprehensive test suite intended to check compliance with the Ravenscar profile and Ada standards, and correct behaviour of specialised features and supplemental tools. Code coverage analysis is also part of the validation campaign, with the goal of achieving 100% statement coverage.
This work has been funded by ESA/ESTEC contract No.17360/03/NL/JA and carried out in cooperation between AdaCore and the Technical University of Madrid.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Taft, T.S., Duff, R.A. (eds.): Ada 95 Reference Manual. LNCS, vol. 1246. Springer, Heidelberg (1997)
ARG. New pragma and additional restriction identifiers for real-time systems. Technical report, ISO/IEC/JTC1/SC22/WG9 (2003), Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00305.TXT
ARG Ravenscar profile for high-integrity systems. Technical report, ISO/IEC/JTC1/SC22/WG9 (2003), Available at http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00249.TXT .
Atmel Corporation. TSC695F SPARC 32-bit Space Processor: User Manual (2003)
Baker, T.P., Pazy, O.: A unified priority-based kernel for Ada. Technical report, ACM SIGAda, Ada Run-Time Environment Working Group (March 1995)
Barnes, J.: High Integrity Software. The SPARK Approach to Safety and Security. Addison Wesley, Reading (2003)
Burns, A.: The Ravenscar profile. Technical report, University of York (2002), Available at http://www.cs.york.ac.uk/~burns/ravenscar.ps
Burns, A., Dobbing, B., Vardanega, T.: Guide for the use of the Ada Ravenscar Profile in high integrity systems. Technical Report YCS-2003-348, University of York (2003), Available at http://www.cs.york.ac.uk/ftpdir/reports/YCS-2003-348.pdf
de la Puente, J.A., Zamorano, J., Ruiz, J.F., Fernández-Marina, R., García, R.: The design and implementation of the open ravenscar kernel. Ada Letters XXI(1) (March 2001)
DEF STAN 00-55: Requirements for Safety Related Software in Defence Equipment (August 1997)
Dewar, R., Hainque, O., Craeynest, D., Waroquiers, P.: Exposing uninitialized variables: Strengthening and extending run-time checks in ada. In: Blieberger, J., Strohmeier, A. (eds.) Ada-Europe 2002. LNCS, vol. 2361, p. 193. Springer, Heidelberg (2002)
RTCA/DO-178B: Software Considerations in Airborne Systems and Equipment Certification (December 1992)
ESA. 32 Bit Microprocessor and Computer System Development, Report 9848/92/NL/FM (1992)
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)
IEC. IEC 61508: Functional Safety of Electrical/Electronic/Programmable Electronic Safety-Related Systems (1998)
Barnes, J. (ed.): Ada 95 Rationale. LNCS, vol. 1247. Springer, Heidelberg (1997)
ISO/IEC/JTC1/SC22/WG9. Guidance for the use of the Ada Programming Language in High Integrity Systems, ISO/IEC TR 15942:2000 (2000)
Ruíz, J.F., de la Puente, J.A., Zamorano, J., Fernández-Marina, R.: Exception support for the Ravenscar profile. In: Workshop on Exception Handling for a 21st Century Programming Language, ACM SIGAda, September 2001, vol. XXI, pp. 76–79 (2001)
Shen, H., Baker, T.P.: A Linux kernel module implementation of restricted Ada tasking. Ada Letters XIX(2), 96–103 (1999); Proceedings of the 9th International Real-Time Ada Workshop
Snyder, J.S., Whalley, D.B., Baker, T.P.: Fast context switches: Compiler and architectural support for preemptive scheduling. Microprocessors and Microsystems 19(1), 35–42 (1995)
Sun Microsystems Corporation. The SPARC Architecture Manual, Version 7 (1987)
UPM. Open Ravenscar Kernel — Software Design Document, 1.7 edition (July 2000)
Vardanega, T., van Katwijk, J.: A software process for the construction of predictable on-board embedded real-time systems. Software Practice and Experience 29(3), 1–32 (1999)
Zamorano, J., de la Puente, J.A.: Precise response time analysis for ravenscar kernels. In: 11th International Workshop on Real-Time Ada Issues. ACM Press, New York (2002)
Zamorano, J., Ruiz, J.F.: GNAT/ORK: An open cross-development environment for embedded Ravenscar-Ada software. In: Camacho, E.F., Basañez, L., de la Puente, J.A. (eds.) 15th IFAC World Congress. Elsevier Press, Amsterdam (2002)
Zamorano, J., Ruiz, J.F., de la Puente, J.A.: Implementing ada.Real_Time.Clock and absolute delays in real-time kernels. In: Strohmeier, A., Craeynest, D. (eds.) Ada-Europe 2001. LNCS, vol. 2043, p. 317. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ruiz, J.F. (2005). GNAT Pro for On-board Mission-Critical Space Applications. In: Vardanega, T., Wellings, A. (eds) Reliable Software Technology – Ada-Europe 2005. Ada-Europe 2005. Lecture Notes in Computer Science, vol 3555. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11499909_20
Download citation
DOI: https://doi.org/10.1007/11499909_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26286-2
Online ISBN: 978-3-540-31666-4
eBook Packages: Computer ScienceComputer Science (R0)