DO-178C is the long awaited revision to DO-178B and addresses new avionics software development factors and will be required for new projects beginning in 2011.
DO-178C is a modest update to DO-178B, whereas DO-178B was a substantial revision to DO-178A. DO-178B was developed to address serious safety-related shortcomings within the software engineering life-cycle for then-modern avionics systems.
DO-178C by comparison aims to clarify areas of repeated misconception while addressing advances in complex avionics software development including formal methods for avionics, model-based development for avionics, object oriented technology for avionics, and qualification of certain tools used in avionics software development and verification. The core DO-178C document has relatively minor changes because the revisions are contained in supplements for each of the aforementioned topics. These DO-178C topics are summarized below:
- DO-330 Software Tool Qualification
- DO-331 Model Based Development and Verification
- DO-332 Object-Oriented Technology
- DO-333 Formal Methods
Each of the supplements provide additional or modified guidance for the application of these technologies within the framework of DO-178C.
How does DO-178C fit in with Model-Based Development (MBD) and Object Oriented Technologies (OOT)?
DO-178B preceded widespread usage of model-based development and object oriented technology for safety-critical applications such as avionics. More recently, development tool advances coupled with gradual FAA acceptance means that DO-178C embraces a safely controlled use of these technologies and practices. Specifically, DO-178C allows for controlled modeling and object oriented software in all avionics development, even Level A. DO-178C bounds the acceptability for MBD and OO, meaning discrete acceptability criteria are provided. DO-178C traceability is emphasized through the model, objects, and development lifecycle are mandated along with deterministic proof of type consistency across all possible run-time type instantiations. Developers using OOT for DO-178C will need to ensure each subclass passes all types applicable to parent classes and also verify that each invocation is verified for all callable methods. Defined generics are allowed via DO-178C providing all run-time instantiations are verified and traced. DO-178B allows for all the above provided each aspect is fully detailed within the project’s design standard.
What is DO-178C for Formal Methods?
DO-178C will, for the first time, officially recognize the validity of using Formal Methods within the avionics software development process. Subject to DO-178C guidelines, formal methods can be used to augment or replace verification steps which must normally be performed via DO-178B. Formal methods will be allowed to verify requirements correctness, consistency, and augment reviews. DO-178C source code reviews can utilize formal methods, particularly for auto-generated code (typically developed via Model-Based Development; see above). Also, DO-178C will allow formal methods to verify or replace test cases used to verify low-level requirements and replace some forms of testing via formal method based reviews. Ultimately, DO-178C provides the framework to use formal methods to reduce effort in many aspects of the process by themselves or in conjunction with other technologies such as Model-Based Development.
What is DO-178C Tool Qualification?
- DO-178C extends DO-178B’s overly simple “development tool or verification tool” categorization into three distinct criteria: Software Development Tools
- Software Verification Tools which also augment other development or verification activities
- Software Verification-only tools
Depending on the tool criteria and design assurance level of the application, the tool will need to be qualified to one of the five new Tool Qualification Levels. The new Tool Qualification Levels under DO-178C are TQL1 (highest) to TQL5 (lowest). The new tool qualification regime under DO-178C also recognizes the different responsibilities of Tool User and Tool Developer in the guidance provided. DO-330, the Tool Qualification Supplement, provides guidance for each of the tool qualification levels for both tool user and tool developer.
The following associated products are available: