A SPARK/Ada CubeSat Control Program

  • Carl Brandon
  • Peter Chapin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7896)


With software’s increasing role in safety-critical and security sensitive infrastructure it is of paramount importance to educate the next generation of software engineers in the use of high integrity development methods. In this paper we discuss our experience training undergraduate students in the use of SPARK toward the construction of a mission-critical embedded system. In particular the students designed and implemented 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. Our work shows that inexperienced undergraduates can learn to use SPARK to produce more robust software than might otherwise be the case, even in the environment of a volatile student project.


SPARK student project CubeSat 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Antcom 1.5G15A3F-XT-1 L1 GPS antenna,
  2. 2.
    AUnit ada unit testing framework, (accessed December 9, 2012)
  3. 3.
    C329-SPI-board JPEG compression VGA camera module,
  4. 4.
    Clyde space 1U electrical power system,
  5. 5.
    Crossworks for MSP430, (accessed November 27, 2012)
  6. 6.
    Cubesat kit home, (accessed December 10, 2012)
  7. 7.
    Helium-100 radio, (accessed December 9, 2012)
  8. 8.
  9. 9.
    Microstrain 3DM-GX3-25 miniature attitude heading reference system,
  10. 10.
    Minotaur space launch vehicles,
  11. 11.
    MSP430F2618, (accessed November 25, 2012)
  12. 12.
    OEMV installation and operation, (accessed December 9, 2012)
  13. 13.
    Position and time system for the RAX small satellite mission, (accessed December 10, 2012)
  14. 14.
    SatPC32 satellite tracking, antenna and radio-control software,
  15. 15.
    Sofcheck compiler technology,
  16. 16.
    Spectrolab UTJ photovoltaic cell CICs,
  17. 17.
    Barnes, J.: SPARK, The Proven Approach to High Integrity Software. Altran Praxis (2012)Google Scholar
  18. 18.
    Chapman, R.: Industrial experience with SPARK. Ada Lett. XX(4), 64–68 (2000), CrossRefGoogle Scholar
  19. 19.
    Loseby, C., Chapin, P., Brandon, C.: Use of SPARK in a resource constrained embedded system. In: Proceedings of the ACM SIGAda Annual International Conference on Ada and Related Technologies, SIGAda 2009, pp. 87–90. ACM, New York (2009), CrossRefGoogle Scholar
  20. 20.
    Ruocco, A.S.: Experiences using SPARK in an undergraduate CS course. In: Proceedings of the 2005 Annual ACM SIGAda International Conference on Ada: The Engineering of Correct and Reliable Software for Real-Time & Distributed Systems using Ada and Related Technologies, SigAda 2005, pp. 37–40. ACM, New York (2005), CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Carl Brandon
    • 1
  • Peter Chapin
    • 2
  1. 1.Randolph CenterVermont Technical CollegeUSA
  2. 2.Vermont Technical CollegeWillistonUSA

Personalised recommendations