Real-time critical systems are those whose failures may cause loss of transactions/data, missions/batches, vehicles/properties, or even people/human life. Accordingly, some regulations prescribe their maximum acceptable probability of failures to range from about 10−4 to 10−10 failures per hour. Examples of such systems are the ones involving nuclear plants, aircrafts, satellites, automobiles, or traffic controls. They are becoming increasingly complex and/or highly integrated as prescribed by the SAE-ARP-4754A Standard. Those systems include, most of the time, real time critical software that must be specified, designed, implemented, validated, verified and accredited (VVA). To do that, models, specially the V-Model, are frequently adopted, together with methods and tools which perform software VVA to ensure compliance (of correctness, reliability, robustness, etc.) of software to several specific standards such as DO178-B/DO-178C (aviation) or IEC 26262 (automotive) among others.
This paper presents an overview of models, methods and tools for verification, validation and accreditation of real time critical software.
To do that, it: 1) discusses how models, specially the V-Model, are used to develop the software life cycle; 2) reviews several methods and tools for VVA of real time critical software available in the literature; and 3) compares such methods and tools according to compliance of software to several specific standards.
It is expected to show that: 1) an early analysis at system-level of the models, methods and tools to be used to along the software life cycle is advantageous; and 2) the overview presented here promote a better understanding of what role such models, methods and tools should play to provide better and safer systems considering social-technical objectives as a whole.