Virtual Real Time (VRT) is a computer program for testing embedded flight software by computational simulation in a workstation, in contradistinction to testing it in its target central processing unit (CPU). The disadvantages of testing in the target CPU include the need for an expensive test bed, the necessity for testers and programmers to take turns using the test bed, and the lack of software tools for debugging in a real-time environment. By virtue of its architecture, most of the flight software of the type in question is amenable to development and testing on workstations, for which there is an abundance of commercially available debugging and analysis software tools. Unfortunately, the timing of a workstation differs from that of a target CPU in a test bed. VRT, in conjunction with closed-loop simulation software, provides a capability for executing embedded flight software on a workstation in a close-to-real-time environment. A scale factor is used to convert between execution time in VRT on a workstation and execution on a target CPU. VRT includes high-resolution operating-system timers that enable the synchronization of flight software with simulation software and ground software, all running on different workstations.

This program was written by Mohammad Shahabuddin and William Reinholtz of Caltech for NASA's Jet Propulsion Laboratory.

In accordance with Public Law 96-517, the contractor has elected to retain title to this invention. Inquiries concerning rights for its commercial use should be addressed to:

Innovative Technology Assets Management

JPL

Mail Stop 202-233

4800 Oak Grove Drive

Pasadena, CA 91109-8099

(818) 354-2240

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.

Refer to NPO-30689, volume and number of this NASA Tech Briefs issue, and the page number.



This Brief includes a Technical Support Package (TSP).
Document cover
Simulation Testing of Embedded Flight Software

(reference NPO30689) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the February, 2004 issue of NASA Tech Briefs Magazine (Vol. 28 No. 2).

Read more articles from the archives here.


Overview

The document discusses the Virtual Real Time (VRT) program developed by NASA's Jet Propulsion Laboratory (JPL) for testing embedded flight software. Traditional testing methods require expensive test beds that limit access for developers and testers, often leading to inefficiencies in debugging and development. VRT addresses these challenges by enabling the execution of flight software on workstation environments, which are equipped with a variety of commercial debugging and analysis tools.

VRT operates in conjunction with closed-loop simulation software, allowing for a close-to-real-time testing environment. It utilizes a scale factor to convert execution time from the workstation to the target central processing unit (CPU), ensuring that the timing of operations is accurately represented. High-resolution operating system timers within VRT facilitate synchronization between flight software, simulation software, and ground software, even when these components are running on different workstations.

The benefits of VRT are significant. It reduces the need for physical test beds, thereby saving millions of dollars in development and testing costs. Once the software is developed, it can be easily installed on multiple workstations, making it accessible to all developers and testers. VRT can also run faster than real-time, providing additional flexibility in testing scenarios. Furthermore, the software is designed to transition seamlessly from the VRT environment to real-time execution on target hardware.

The document highlights the importance of the ACE (Adaptive Communicative Environment) architecture, which provides a portability layer for various programs, including VRT. While ACE addresses functional portability, VRT specifically tackles the issue of "time portability," ensuring that software behaves consistently across different platforms. JPL is also working on extending ACE to further support this aspect.

Overall, VRT represents a significant advancement in the field of embedded flight software testing, offering a more efficient, cost-effective, and flexible approach compared to traditional methods. The program is a collaborative effort by JPL and Caltech, with the potential to enhance the development processes for numerous flight projects. The document concludes with contact information for inquiries regarding the commercial use of the technology.