Virtual Machine Language (VML) is a mission-independent, reusable software system for programming for spacecraft operations. Features of VML include a rich set of data types, named functions, parameters, IF and WHILE control structures, polymorphism, and on-the-fly creation of spacecraft commands from calculated values. Spacecraft functions can be abstracted into named blocks that reside in files aboard the spacecraft. These named blocks accept parameters and execute in a repeatable fashion. The sizes of uplink products are minimized by the ability to call blocks that implement most of the command steps. This block approach also enables some autonomous operations aboard the spacecraft, such as aerobraking, telemetry conditional monitoring, and anomaly response, without developing autonomous flight software. Operators on the ground write blocks and command sequences in a concise, high-level, human-readable programming language (also called "VML"). A compiler translates the human-readable blocks and command sequences into binary files (the operations products). The flight portion of VML interprets the uplinked binary files. The ground subsystem of VML also includes an interactive sequence-execution tool hosted on workstations, which runs sequences at several thousand times real-time speed, affords debugging, and generates reports. This tool enables iterative development of blocks and sequences within times of the order of seconds.

This program was written by Christopher Grasso, Dennis Page, and Taifun O'Reilly with support from Ralph Fteichert, Patricia Lock, Imin Lin, Keith Naviaux, and John Sisino of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free online at www.techbriefs.com/tsp under the Software category.

This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (818) 393-2827. Refer to NPO-40365.



This Brief includes a Technical Support Package (TSP).
Document cover
Virtual Machine Language

(reference NPO-40365) 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 November, 2005 issue of NASA Tech Briefs Magazine (Vol. 29 No. 11).

Read more articles from the archives here.


Overview

The document is a technical support package detailing the Virtual Machine Language (VML) system developed for spacecraft operations, particularly focusing on its application in enhancing spacecraft autonomy and efficiency. VML allows for programmable capabilities in spacecraft, enabling them to execute commands and manage operations more effectively without the need for complex flight software.

The introduction outlines the importance of sequencing in spacecraft operations, where commands can be immediate or timed. The document contrasts traditional sequencing models with the VML model, emphasizing the latter's flexibility and efficiency. VML enables the creation of dynamic commands that adapt to varying parameters, reducing the need for extensive ground-based command expansion and allowing for more efficient uplink communication.

Key components of the VML system include the VML compiler, which translates user-created functions into a format interpretable by spacecraft command software. This compiler utilizes mission-specific definitions and command translation tools to ensure accurate execution of commands. The procedural orientation of VML allows users to express spacecraft activities using high-level language constructs, making it easier to implement complex operations.

The document highlights specific case studies, such as the Space Infrared Telescope Facility (SIRTF), which benefited from VML's capabilities. By eliminating conservative timing in command sequences, SIRTF was able to increase data collection by approximately 10% over its mission lifespan. This was achieved by using the VML WAIT instruction to monitor spacecraft state, allowing for more efficient use of time and resources.

Another example discussed is the Mars Odyssey mission, where VML's flexible logic enabled the spacecraft to respond to unanticipated events, ensuring safe operations despite communication delays with ground control. The document emphasizes the implications of migrating autonomy to spacecraft, suggesting that VML can significantly reduce the complexity and cost associated with developing traditional flight software agents.

In conclusion, the document presents VML as a powerful tool for modern spacecraft operations, enhancing autonomy, reducing uplink requirements, and improving data collection efficiency. It serves as a comprehensive overview of the capabilities and benefits of VML in the context of space missions, showcasing its potential for future aerospace applications.