Abstract
Large complex Ada real-time embedded software systems typically contain critical order-dependent unit elaboration sequences executed during system startup. However, software enhancements and maintenance activities can inadvertently alter unit dependencies and produce grammatically legal yet semantically illegal elaboration sequence orders. Location of failure during system boot-up is traditionally difficult to diagnose, as large legacy systems typically do not contain trace logging capabilities in unit elaboration regions. Additionally, the Ada language does not provide constructs for executing non-declarative expressions in package specifications, making unit specification elaboration trace logging impossible. Typical system boot failure diagnosis is a combination of educated guesswork, ad-hoc insertions of trace logging code at suspicious locations, and/or the creation of large quantities of temporary trace logging code, resulting in time-consuming iterations of altered builds, system execution, and subsequent analysis. This paper describes a Generic Reflective Declarative Elaboration Logger (GRDEL) which can be used in non-traditional source code locations anywhere declarations are grammatically legal. The tool provides previously unavailable Ada package Specification elaboration trace logging, formal run-time discovery of arbitrarily deeply nested unit name usage locations, implicit generation of trace information during separate logging instance creations, and facilitation of electronic code augmentation via identically formed logging usage expressions, which can automate a repeatable and deterministic instrumentation of extremely large and complex systems with or without permanent source code modifications.
- ISO/IEC, Ada Reference Manual, International Standard 8652:2012(E).Google Scholar
- Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger. The AWK Programming Language. Addison- Wesley Publishing Company, 1988. Google Scholar
Digital Library
- Free Software Foundation (FSF), GNU Bash Reference Manual, December 2009.Google Scholar
Recommendations
Embedded, hard, real-time systems with Ada
SIGAda '09: Proceedings of the ACM SIGAda annual international conference on Ada and related technologiesDevelopment of real-time systems is expensive and difficult, in part because of low-level languages that force developers to use facilities that are ad hoc, incomplete, and not portable. The Real-Time Systems Annex of Ada 2005 (along with the language ...
Tool-Based Configuration of Real-Time CORBA Middleware for Embedded Systems
ISORC '05: Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed ComputingReal-time CORBA is a middleware standard that has demonstrated successes in developing distributed, realtime, and embedded (DRE) systems. Customizing real-time CORBA for an application can considerably reduce the size of the middleware and improve its ...
Embedded, hard, real-time systems with Ada
SIGAda '09Development of real-time systems is expensive and difficult, in part because of low-level languages that force developers to use facilities that are ad hoc, incomplete, and not portable. The Real-Time Systems Annex of Ada 2005 (along with the language ...






Comments