skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - Tweek


Spacecraft Model Interpretive Language Converter

Senior Project: 2009-2010
Jared Barnett, Ryan Carney-Mogan and Kyle Kermgard

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.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)