Towards Resilient Computing on ROS for Embedded Applications

Systems are expected to evolve during their service life in order to cope with changes of various natures, ranging from fluctuations in available resources to additional features requested by users. For dependable embedded systems, the challenge is even greater, as evolution must not impair dependability attributes. Resilient computing implies maintaining dependability properties when facing changes. Resilience encompasses several aspects, among which evolvability, i.e., the capacity of a system to evolve during its service life. In this paper, we discuss the evolution of systems with respect to their dependability mechanisms, and show how such mechanisms can evolve accordingly. From a component-based approach that enables to clarify the concepts, the process and the techniques to be used to address resilient computing, in particular regarding the adaptation of fault tolerance (or safety) mechanisms, we show how Adaptive Fault Tolerance (AFT) can be implemented with ROS. Beyond some implementation details given in the paper, we draw the lessons learned from this work and discus the limits of this runtime support to implement such resilient computing features in embedded systems.

[1]  Thomas Ledoux,et al.  Reliable Dynamic Reconfigurations in a Reflective Component Model , 2010, CBSE.

[2]  Michael Rowley,et al.  Understanding SCA (Service Component Architecture) , 2009 .

[3]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[4]  Matthieu Roy,et al.  Partial Updates of AUTOSAR Embedded Applications -- To What Extent? , 2015, 2015 11th European Dependable Computing Conference (EDCC).

[5]  Joni da Silva Fraga,et al.  An Adaptive Fault-Tolerant Component Model , 2003, 2003 The Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[6]  Miguel Correia,et al.  An infrastructure for adaptive fault tolerance on FT-CORBA , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[7]  Valerio Schiavoni,et al.  A component‐based middleware platform for reconfigurable service‐oriented architectures , 2012, Softw. Pract. Exp..

[8]  K. H. Kim,et al.  Adaptive fault tolerance: issues and approaches , 1990, [1990] Proceedings. Second IEEE Workshop on Future Trends of Distributed Computing Systems.

[9]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[10]  Matthieu Roy,et al.  From Design for Adaptation to Component-Based Resilient Computing , 2012, 2012 IEEE 18th Pacific Rim International Symposium on Dependable Computing.

[11]  Israel Koren,et al.  Adaptive fault-tolerance fault-tolerance for cyber-physical systems , 2013, 2013 International Conference on Computing, Networking and Communications (ICNC).

[12]  Jean-Claude Laprie,et al.  From Dependability to Resilience , 2008, DSN 2008.

[13]  Matthieu Roy,et al.  Architecting Resilient Computing Systems: a Component-Based Approach. (Conception et implémentation de systèmes résilients par une approche à composants) , 2013 .