Increasing Dependability in Safety Critical CPSs Using Reflective Statecharts

  • Miren Illarramendi
  • Leire Etxeberria
  • Xabier Elkorobarrutia
  • Goiuria Sagardui
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10489)


Dependability is crucial in Safety Critical Cyber Physical Systems (CPS). In spite of the research carried out in recent years, implementation and certification of such systems remain costly and time consuming. In this paper, a framework for Statecharts based SW component development is presented. This framework called CRESC (C++ REflective StateCharts), in addition to assisting in transforming a Statechart model to code, uses reflection to make the model available at Run Time. Thus, the SW components can be monitored at Run Time in terms of model elements. Our framework helps the developer separate monitoring from functionality. Any monitoring strategy needed to increase dependability can be added independently from the functional part. The framework was implemented in C++ because this programming language, together with the Statechart formalism constitute widely used choices for the Safety Critical CPS domain.


Fault Tolerance Monitoring Statecharts Safety-critical embedded systems Cyber Physical Systems Reflection Introspection 



The project has been developed by the Embedded System Group of MGEP and supported by the Department of Education, Universities and Research of the Basque Government under the projects Ikerketa Taldeak (Grupo de Sistemas Embebidos) and LANA II ELKARTEK and by the European H2020 research and innovation programme, ECSEL Joint Undertaking, and National Funding Authorities from 19 involved countries under the project Productive 4.0 with grant agreement no. GAP-737459 - 999978918.


  1. 1.
    Derler, P., Lee, E.A., Vincentelli, A.S.: Modeling cyber-physical systems. In: Special issue on CPS, pp. 13–28. IEEE (2012)Google Scholar
  2. 2.
    IEC 61508: Functional safety of electrical/electronic/programmable electronic safety related systems (2010)Google Scholar
  3. 3.
    ISO 26262: Road vehicles- Functional Safety (2012)Google Scholar
  4. 4.
    CENELEC: EN50128 Railway applications- Communications, signalling and processing systems-Software for railway control and protection systems (2012)Google Scholar
  5. 5.
    IEC 61511: Functional safety- Safety instrumented systems for the process industry sector (2016)Google Scholar
  6. 6.
    RTCA & EUROCAE. DO-178B: Software Considerations in Airborne Systems and Equipment Certification (1992)Google Scholar
  7. 7.
    Laprie, J.-C., Arlat, J., Beounes, C., Kanoun, K.: Definition and analysis of hardware-and software-fault-tolerant architectures. Computer 23(7), 39–51 (1990). doi: 10.1109/2.56851 CrossRefGoogle Scholar
  8. 8.
    Laprie, J., Kanoun, K.: Software reliability and system reliability. In: Handbook of Software Reliability Engineering (1996)Google Scholar
  9. 9.
    Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secure Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  10. 10.
    Heimerdinger, W.L., Weinstock, C.B.: A conceptual framework for system fault tolerance. Technical report, Carnegie Mellon University (1992)Google Scholar
  11. 11.
    Al-Asaad, H., Murray, B., Hayes, J.: Online BIST for emebedded systems. IEEE Des. Test Comput. 15, 17–24 (1998)CrossRefGoogle Scholar
  12. 12.
    Havelund, K.: Reliable software: testing and monitoring.
  13. 13.
    Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: CIL: intermediate language and tools for analysis and transformation of C programs. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 213–228. Springer, Heidelberg (2002). doi: 10.1007/3-540-45937-5_16 CrossRefGoogle Scholar
  14. 14.
    Valgrind. Accessed 14 June 2017
  15. 15.
    Byte code engineering library. Accessed 14 June 2017
  16. 16.
    Fabre, J.-C., Killijian, M.O., Taiani, F.: Lessons learnt, robustness of automotive applications using reflective computing (2011)Google Scholar
  17. 17.
    Lu, C., Fabre, J.-C., Killijian, M.-O.: Robustness of modular multi-layered software in the automotive domain: a wrapping-based approach. In: Regular paper submitted to ETFA (2009)Google Scholar
  18. 18.
    Lu, C., Fabre, J.-C., Killijian, M.-O.: An approach for improving fault-tolerance in automotive modular embedded software. INRIA, Paris, France (2009)Google Scholar
  19. 19.
    Automotive open system architecture. Accessed 14 June 2017
  20. 20.
    Ferreira, L.L., Rubira, C.M.: Reflective design patterns to implement fault tolerance (1998)Google Scholar
  21. 21.
    Barbier, F.: MDE-based design and implementation of autonomic software components. In: International Conference on Cognitive Informatics (ICCI) (2006)Google Scholar
  22. 22.
    Elkorobarrutia, X., Muxika, M., Sagardui, G., Barbier, F., Aretxandieta, X.: A framework for statechart based component reconfiguration. In: Engineering of Autonomic and Autonomous Systems (EASE) (2008)Google Scholar
  23. 23.
    The boost statechart library (2015).
  24. 24.
    Banci, M., Fantechi, A.: Geographical versus functional modelling by statecharts of interlocking systems. Electron. Notes Theor. Comput. Sci. 133, 3–19 (2005)CrossRefGoogle Scholar
  25. 25.
    Pap, Z., Majzik, I., Pataricza, A.: Checking general safety criteria on UML statecharts. In: Voges, U. (ed.) SAFECOMP 2001. LNCS, vol. 2187, pp. 46–55. Springer, Heidelberg (2001). doi: 10.1007/3-540-45416-0_5 CrossRefGoogle Scholar
  26. 26.
    Pradelly, M., Pazzi. L.: Using part-whole statecharts for the safe modeling of clinical guidelines (2010)Google Scholar
  27. 27.
    The Motor Industry Software Reliability Association. Misra C++: Guidelines for the use of the C++ language in critical systems (2008)Google Scholar
  28. 28.
    Elkorobarrutia, X.: ISCART: framework para la reconfiguracin dinamica de componentes software basados en statecharts. Master’s thesis, Mondragon University (2010)Google Scholar
  29. 29.
    Lu, C.: Robustesse du logiciel embarqu multicouche par une approche reflexive: application l’automobile. Master’s thesis, LUNIVERSIT DE TOULOUSE (2009)Google Scholar
  30. 30.
    Illarramendi, M., Etxeberria, L., Elkorobarrutia, X.: Educational use case final results. Reuse in safety critical systems (2015)Google Scholar
  31. 31.
    Eclipse IDE for C/C++ developers (Mars). Accessed 14 June 2017
  32. 32.
    Papyrus. Accessed 14 June 2017
  33. 33.
    Egwutuoha, I.P., Levy, D., Selic, B., Chen, S.: A survey of fault tolerance mechanisms and checkpoint/restart implementations for high performance computing systems. J. Supercomput. 65, 1302–1326 (2013)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Miren Illarramendi
    • 1
  • Leire Etxeberria
    • 1
  • Xabier Elkorobarrutia
    • 1
  • Goiuria Sagardui
    • 1
  1. 1.Embedded Systems Research GroupMondragon Goi Eskola Politeknikoa (MGEP)MondragónSpain

Personalised recommendations