Monday, 16 July 2012

A Background to DO-178C


In late 2011 RTCA’s DO-178B received a significant update to bring it in line with modern software development practices. DO-178B replaced the previous DO-178A standard in 1992 and has been used by a number of aviation authorities as the basis on which they base their certification of civil aviation software.

Over the past few years DO-178B has received criticism over the fact that it does not address modern software development techniques such as object orientation and the use of modelling languages like UML.             
        
Like its predecessors, DO-178C, published in Europe by EUROCAE as ED-12C,   defines 5 levels of software based on the effect of system failure:

A – Catastrophic (inability to safely fly aircraft)
B – Hazardous (serious or fatal injuries to some)
C – Major (discomfort and possible injuries)
D – Minor (some inconvenience to occupants)
E – No Effect (not addressed in DO-178B)

Each of these levels identifies a number of objectives which must be satisfied before the software can be certified. These range from 66 at level A to 28 at level D. These are further divided by identified processes which must satisfy between 1 and 13 of the objectives. These processes are:
  •    Software Planning Process
  •    Software Development Process
  •    Verification of Software Requirements Output Process
  •    Verification of Software Design Output Process
  •    Verification of Software Coding and Integration Output Process
  •    Testing Outputs of Integration Process
  •    Verification of Verification Process
  •    Software Configuration Management Process
  •    Software Quality Assurance Process
  •    Certification Liaison Process
DO-178C is a non-prescriptive standard which means that it only identifies the objectives to be met and allows individual projects to decide how they achieve that.

All of the above remains consistent between DO-178B and C with only minor changes to clarify the use of terminology (e.g. purpose, goal, objective, activity etc.). DO-178C, however, aims to address modern software development techniques such as the use of:
  •    Object-Oriented design and languages
  •    Model based design
  •    Automatic code generation
  •   CASE tools for design and code development
Given the recent report detailing the system failure and pilot error that caused the loss of 228 lives on an Air FranceAirbus A330 in 2009 one hopes that, once DO178C has been fully implemented by the worlds aviation authorities, future aircraft systems will provide even greater reliability thereby minimising the need for human intervention.

No comments :

Post a Comment