Towards seamless integration of N-version programming in model-based design
Authors:
Open Access
- 1 September 2017
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-8
Abstract
The ever-growing complexity of present-day software systems raises new and more stringent requirements on their availability, pushing designers to make use of sophisticated fault tolerance techniques far beyond the areas they were traditionally conceived for, and bringing new challenges to both the modelling and implementation phases. In this paper, we propose a design pattern to model in a domain-specific language one of the prominent fault-tolerant techniques, namely the N-version programming. It can be integrated seamlessly into existing applications to enhance their functional correctness, while still preserving the timing characteristics, in particular the sampling times. Besides, it is also designed in a way to ease the automatic code generation. A counterpart of the same framework is also implemented in a lower-level programming language, for use when direct model execution is impractical, like in severely resource-limited embedded targets.Keywords
This publication has 8 references indexed in Scilit:
- The Multiple Facets of Software DiversityACM Computing Surveys, 2015
- VARAN the Unbelievable2015
- A confidence-based software voter for safety-critical systems2014
- A Dependent Model for Fault Tolerant Software Systems During DebuggingIEEE Transactions on Reliability, 2012
- A Taxonomy for Software Voting Algorithms Used in Safety-Critical SystemsIEEE Transactions on Reliability, 2004
- Programming real-time applications with SIGNALProceedings of the IEEE, 1991
- The synchronous data flow programming language LUSTREProceedings of the IEEE, 1991
- The ESTEREL languageProceedings of the IEEE, 1991