2013.B.1.1 Interplanetary High Reliability CubeSat Software with SPARK/Ada


Carl Brandon (1), Peter Chapin (1)

  1. Vermont Technical College, USA




Software, Ada, SPARK


Interplanetary High Reliability CubeSat Software with SPARK/Ada

We have had experience training undergraduate students in the use of SPARK Toolset and Ada language in the construction of mission-critical embedded systems. In particular the students designed and implemented the software for an Arctic Sea Ice buoy (on a CubeSat Kit CPU board) and the control program for a CubeSat nano-satellite that will orbit the Earth as the first step toward the ultimate goal of building a prototype CubeSat that will go to the Moon.

ElaNa IV Launch CubeSat Software

For the low Earth orbit spacecraft, part of the ELaNa IV NASA sponsored launch on a Minotaur 1 from Wallops Island, VA, on the Air Force ORS=3 mission, September, 2013, the software demands are not as great, and it is being written as a sequential program, using SPARK/Ada. All CubeSats launched so far (several dozen) have used C as their programming language. The majority of failures of CubeSats are believed to be software related. The enormous cost in dollars and time that we will put into this project means a failure would be very expensive. This is why we are using SPARK/Ada, with its reduction of errors of a factor of about 100 compared with C.

Lunar Spacecraft Software

Our follow up 3 U ion drive Lunar CubeSat would certainly require concurrent processing, and we would use RavenSPARK which allows safe concurrent processing. The software would have to take in information from the GEONS processed GPS data, the star tracker attitude, planetary direction and angular size information, the magnetometer and gyro information from the inertial measurement unit. The flight path determination will be quite complex, and require very reliable software to accomplish the flight to the Moon or Mars. It would have to control the attitude by steering the ion thruster and the use of momentum wheels. The power circuits for the ion drive also require complicated control. It would also have to monitor the electrical power system charging of batteries, power generation, power budget monitoring and aim the photo voltaic panels on the xenon ion spacecraft towards the sun, while the spacecraft orientation is maintained for thruster alignment. In addition the radio would be controlled for transmission of data to our ground station, and for commands to be received and acted upon in the spacecraft.


  • Download slides in PDF format here


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: