Environment Simulation for Testing Ada Embedded Software

Applied Research Lab, Pennsylvania State University

Testing and debugging of embedded software in actual hardware is expensive and time consuming and careful testing prior to field trials is normally done to the extent feasible. But embedded software has traditionally been written in assembly languages targeted to specific hardware or in special implementation-specific languages, hampering efforts at realistic environment simulation during development testing. While component algorithms can be coded in a high-order general-purpose language or a simulation language for development testing and then re-coded in a language appropriate to the hardware, the reliability of the actual code of interest is necessarily suspect and additional time-consuming testing of the embedded software is required.

The advent of Ada and other standardized high order languages suitable for coding embedded software presents the opportunity to utilize the facilities of a simulation language to model the operational environment during the development on a host mainframe computer and thoroughly test the code that will ultimately be compiled to run in actual hardware.

An Ada package for target state estimation was functionally tested within the environment of a scenario simulated using SIMSCRIPT II.5. Interfacing was accomplished by means of routines written in both languages that exchange values of arguments via 80-character messages. In one configuration, the Ada tracker and the environment simulator run as separate concurrent processed on a single mainframe computer and exchange messages by means of operating system services. Alternatively, the environment simulator can run under PC SIMSCRIPT II.5 on a dedicated personal computer, driving the tracking system running on a separate computer via a serial communications link.

Alternatives Considered: FORTRAN

Benefits of SIMSCRIPT II.5: SIMSCRIPT II.5 provides an interface that allows FORTRAN and other languages to be directly invoked through the conventional CALL mechanism.

Customer Quote: "Ada and SIMSCRIPT II.5 are both highly modular, and we used that fact to advantage in our development."