Architecture-Based Design: A Satellite On-Board Software Case Study

  • Anastasia MavridouEmail author
  • Emmanouela Stachtiari
  • Simon Bliudze
  • Anton Ivanov
  • Panagiotis Katsaros
  • Joseph Sifakis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10231)


In this case study, we apply the architecture-based design approach to the control software of the CubETH satellite. Architectures are a means for ensuring global coordination properties and thus, achieving correctness of complex systems by construction. We illustrate the following three steps of the design approach: (1) definition of a domain-specific taxonomy of architecture styles; (2) design of the software model by applying architectures to enforce the required properties; (3) deadlock-freedom analysis of the resulting model. We provide a taxonomy of architecture styles for satellite on-board software, formally defined by architecture diagrams in the BIP component-based framework. We show how architectures are instantiated from the diagrams and applied to a set of atomic components. Deadlock-freedom of the resulting model is verified using DFinder from the BIP tool-set. We provide additional validation of our approach by using the nuXmv model checker to verify that the properties enforced by the architectures are, indeed, satisfied by the model.



The work presented in this paper was partially funded by the ESA CSSP project (contract no. 4000112344/14/NL/FE). We would like to thank Andreas Jung, Marcel Verhoef and Marco Panunzio for the instructive discussions in the framework of this project, which have contributed to the clarification of some of the ideas realised in this case study. Finally, we are deeply grateful to the anonymous reviewers for their constructive comments.


  1. 1.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(3), 329–366 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Attie, P., et al.: A general framework for architecture composability. Formal Aspects Comput. 18(2), 207–231 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. Representation and Mind Series. The MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  4. 4.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Addison-Wesley Professional, New York (2012)Google Scholar
  5. 5.
    Basu, A., et al.: Incremental component-based construction and verification of a robotic system. In: ECAI, pp. 631–635. IOS Press (2008)Google Scholar
  6. 6.
    Basu, A., et al.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Bensalem, S., Griesmayer, A., Legay, A., Nguyen, T.-H., Sifakis, J., Yan, R.: D-Finder 2: towards efficient correctness of incremental design. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 453–458. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-20398-5_32 CrossRefGoogle Scholar
  8. 8.
    Benveniste, A., et al.: Contracts for system design. Research report RR-8147, INRIA, November 2012Google Scholar
  9. 9.
    Bliudze, S., Sifakis, J.: The algebra of connectors-structuring interaction in BIP. IEEE Trans. Comput. 57(10), 1315–1330 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Bliudze, S., Cimatti, A., Jaber, M., Mover, S., Roveri, M., Saab, W., Wang, Q.: Formal verification of infinite-state BIP models. In: Finkbeiner, B., Pu, G., Zhang, L. (eds.) ATVA 2015. LNCS, vol. 9364, pp. 326–343. Springer, Cham (2015). doi: 10.1007/978-3-319-24953-7_25 CrossRefGoogle Scholar
  11. 11.
    Bloem, R., Cimatti, A., Greimel, K., Hofferek, G., Könighofer, R., Roveri, M., Schuppan, V., Seeber, R.: RATSY – a new requirements analysis tool with synthesis. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 425–429. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14295-6_37 CrossRefGoogle Scholar
  12. 12.
    Boulanger, J.-L., et al.: SCADE: Language and Applications, 1st edn. Wiley-IEEE Press, New York (2015)Google Scholar
  13. 13.
    Bozzano, M., et al.: Spacecraft early design validation using formal methods. Reliab. Eng. Syst. Saf. 132, 20–35 (2014)CrossRefGoogle Scholar
  14. 14.
    Brandon, C., Chapin, P.: A SPARK/Ada CubeSat control program. In: Keller, H.B., Plödereder, E., Dencker, P., Klenk, H. (eds.) Ada-Europe 2013. LNCS, vol. 7896, pp. 51–64. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38601-5_4 CrossRefGoogle Scholar
  15. 15.
    California Polytechnic State University. CubeSat Design Specification Rev. 13 (2014).
  16. 16.
    Chkouri, M.Y., Robert, A., Bozga, M., Sifakis, J.: Translating AADL into BIP - application to the verification of real-time systems. In: Chaudron, M.R.V. (ed.) MODELS 2008. LNCS, vol. 5421, pp. 5–19. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-01648-6_2 CrossRefGoogle Scholar
  17. 17.
    Cimatti, A., Dorigatti, M., Tonetta, S.: OCRA: a tool for checking the refinement of temporal contracts. In: ASE 2013, pp. 702–705, November 2013Google Scholar
  18. 18.
    Dathathri, S., et al.: Interfacing TuLiP with the JPL statechart autocoder: initial progress toward synthesis of flight software from formal specifications. In: IEEE AeroSpace (2016)Google Scholar
  19. 19.
    Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1994)Google Scholar
  20. 20.
    Jung, A., Panunzio, M., Terraillon, J.-L.: On-board software reference architecture. Technical report TEC-SWE/09-289/AJ, SAVOIR Advisory Group (2010)Google Scholar
  21. 21.
    Kim, J.-S., Garlan, D.: Analyzing architectural styles with Alloy. In: ROSATEA 2006, pp. 70–80. ACM (2006)Google Scholar
  22. 22.
    Mavridou, A., Baranov, E., Bliudze, S., Sifakis, J.: Configuration logics: modelling architecture styles. In: Braga, C., Ölveczky, P.C. (eds.) FACS 2015. LNCS, vol. 9539, pp. 256–274. Springer, Cham (2016). doi: 10.1007/978-3-319-28934-2_14 CrossRefGoogle Scholar
  23. 23.
    Mavridou, A., et al.: Architecture-based Design: A Satellite On-Board Software Case Study. Technical report 221156, EPFL, September 2016.
  24. 24.
    Mavridou, A., et al.: Architecture diagrams: a graphical language for architecture style specification. In: 9th ICE, EPTCS, vol. 223, pp. 83–97 (2016)Google Scholar
  25. 25.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)CrossRefGoogle Scholar
  26. 26.
    Mitchell, C., et al.: Development of a modular command and data handling architecture for the KySat-2 CubeSat. In: 2014 IEEE Aerospace Conference, pp. 1–11. IEEE, March 2014Google Scholar
  27. 27.
    Noureddine, M., Jaber, M., Bliudze, S., Zaraket, F.A.: Reduction and abstraction techniques for BIP. In: Lanese, I., Madelaine, E. (eds.) FACS 2014. LNCS, vol. 8997, pp. 288–305. Springer, Cham (2015). doi: 10.1007/978-3-319-15317-9_18 Google Scholar
  28. 28.
    Ozkaya, M., Kloukinas, C.: Are we there yet? analyzing architecture description languages for formal analysis, usability, and realizability. In: SEAA 2013, pp. 177–184. IEEE (2013)Google Scholar
  29. 29.
    Pagnamenta, M.: Rigorous software design for nano and micro satellites using BIP framework. Master’s thesis, EPFL (2014).
  30. 30.
    Perrotin, M., Conquet, E., Delange, J., Schiele, A., Tsiodras, T.: TASTE: a real-time software engineering tool-chain overview, status, and future. In: Ober, I., Ober, I. (eds.) SDL 2011. LNCS, vol. 7083, pp. 26–37. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25264-8_4 CrossRefGoogle Scholar
  31. 31.
    Rossi, S., et al.: CubETH magnetotorquers: design and tests for a CubeSat mission. In: Advances in the Astronautical Sciences, vol. 153, pp. 1513–1530 (2015)Google Scholar
  32. 32.
    Sifakis, J.: Rigorous system design. Found. \({\rm Trends}^{\textregistered }\) Electron. Des. Autom. 6(4), 293–362 (2012)Google Scholar
  33. 33.
    Spangelo, S.C., et al.: Model based systems engineering (MBSE) applied to Radio Aurora Explorer (RAX) CubeSat mission operational scenarios. In: 2013 IEEE Aerospace Conference, pp. 1–18. IEEE, March 2013Google Scholar
  34. 34.
  35. 35.
    Woods, E., Hilliard, R.: Architecture description languages in practice session report. In: WICSA 2005, pp. 243–246. IEEE Computer Society (2005)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Anastasia Mavridou
    • 1
    Email author
  • Emmanouela Stachtiari
    • 2
  • Simon Bliudze
    • 1
  • Anton Ivanov
    • 1
  • Panagiotis Katsaros
    • 2
  • Joseph Sifakis
    • 1
  1. 1.École polytechnique fédérale de LausanneLausanneSwitzerland
  2. 2.Aristotle University of ThessalonikiThessalonikiGreece

Personalised recommendations