Towards an Engineering Discipline for Resilient Cyber-Physical Systems

Ricardo D. Caldas
2024-07-22
Abstract:Resilient cyber-physical systems comprise computing systems able to continuously interact with the physical environment in which they operate, despite runtime errors. The term resilience refers to the ability to cope with unexpected inputs while delivering correct service. Examples of resilient computing systems are Google's PageRank and the Bubblesort algorithm. Engineering for resilient cyber-physical systems requires a paradigm shift, prioritizing adaptability to dynamic environments. Software as a tool for self-management is a key instrument for dealing with uncertainty and embedding resilience in these systems. Yet, software engineers encounter the ongoing challenge of ensuring resilience despite environmental dynamic change. My thesis aims to pioneer an engineering discipline for resilient cyber-physical systems. Over four years, we conducted studies, built methods and tools, delivered software packages, and a website offering guidance to practitioners. This paper provides a condensed overview of the problems tackled, our methodology, key contributions, and results highlights. Seeking feedback from the community, this paper serves both as preparation for the thesis defense and as insight into future research prospects.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to develop an engineering discipline for Resilient Cyber - Physical Systems (RCPSs). Specifically, the paper focuses on how to ensure the resilience of RCPSs in dynamic environmental changes. This includes designing, implementing, and testing systems that can adapt to uncertain environments and ensuring that these systems can continuously interact with the physical environment and provide correct services even in the case of runtime errors. The core problems of the paper are: 1. **How to design efficient adaptive mechanisms** so that RCPSs can automatically adjust their behavior to meet the specification requirements in the face of uncertainty and change. 2. **How to formally verify whether the adaptive RCPSs conform to the specifications** to ensure that the system can still maintain reliability and safety in a dynamic environment. 3. **How to verify large - scale and complex RCPSs in real - world scenarios** to ensure that the performance of these systems in practical applications meets expectations. By solving these problems, the author aims to provide software engineers with a set of methods and tools for better designing, implementing, and testing resilient cyber - physical systems.