Spacecraft Model Interpretive Language Converter
Senior Project: 2009-2010
Jet Propulsion Laboratory (JPL) is a National Aeronautics and Space
Administration (NASA) center and the world's leader in robotic space
exploration. JPL is currently operating multiple spacecraft including, but
not limited to, the
Cassini
spacecraft that is orbiting Saturn, two
Mars rovers,
Spirit and Opportunity, that are exploring Mars,
and Spitzer,
the largest launched infrared telescope, that is allowing views into space that
have been hidden from optical telescopes.
Each spacecraft has its own set of possible instructions or commands that tell
it the operation(s) and experiment(s) to perform. The computers onboard these
spacecraft store and activate these commands that are transmitted from JPL.
To make sure that the commands sent to the spacecraft won't harm it,
JPL uses discrete event simulation software written at JPL to check the
commands before they are sent to the spacecraft. The simulation software,
called Seqgen, uses software models of the spacecraft to perform these
checks and to determine the state of the spacecraft. The models are built using
an interpretive language that is similar to a programming language. The goal of
this project was to convert this rich interpretive language that contains most
programming language constructs into the appropriate
Eclipse Java plug-ins.
These models are described in Spacecraft Model Files (SMF). This project allows
users to create SMFs in a brand new way. Using a tree structure that is tightly
integrated with a database, users first create the structure of the program
with a few mouse clicks. Next, users can implement commands using a drag and
drop interface. Traditional programming structures like "if" statements can be
dragged into the workspace and rearranged as needed. Finally, a Java
representation of the program can be generated with one simple mouse click.





|