Design of self-adaptive software-intensive cyber-physical systems (siCPS) operating in dynamic environments is a significant challenge when a sufficient level of dependability is required. This stems partly from the fact that the concerns of self-adaptivity and dependability are to an extent contradictory.
In this paper, we introduce IRM-SA (Invariant Refinement Method for Self-Adaptation) a design method and associated formally grounded model targeting siCPS that addresses self-adaptivity and supports dependability by providing traceability between system requirements, distinct situations in the environment, and predefined configurations of system architecture. Additionally, IRM-SA allows for architecture self adaptation at runtime and integrates the mechanism of predictive monitoring that deals with operational uncertainty.
As a proof of concept, it was implemented in DEECo, a component framework that is based on dynamic ensembles of components. Furthermore, its feasibility was evaluated in experimental settings assuming decentralized system operation.