Automated fault tolerance augmentation in model-driven engineering for CPS - Hu, Tingting; Cibrario Bertolotti, Ivan; Navet, Nicolas; Havet, Lionel (Computer standards and interfaces, 2020)
•A framework to augment design models with dependability mechanisms is presented.•The proposed approach decouples functional and non-functional concerns.•The augmentation process is automated by the NHC tool.•NHC’s viability is shown with NVP, a leading fault-tolerance pattern.•Data correctness and timing correctness of the augmented model are preserved. Cyber-Physical Systems are usually subject to dependability requirements such as safety and reliability constraints. Over the last 50 years, a body of efficient fault-tolerance mechanisms has been devised to handle faults occurring at run-time. However, properly implementing those mechanisms is a time-consuming task that requires a great deal of know-how. In this paper, we propose a general framework which allows system designers to decouple functional and non-functional concerns, and express non-functional properties at design time using domain-specific languages. In the spirit of generative programming, functional models are then automatically “augmented” with dependability mechanisms. Importantly, the real-time behavior of the initial models in terms of sampling times and meeting deadlines is preserved. The practicality of the approach is demonstrated with the automated implementation of one prominent software fault-tolerance pattern, namely N-Version Programming, in the CPAL model-driven engineering workflow.