DO-178B, Software Considerations in Airborne Systems and Equipment Certification is a standard for software development. The standard was developed by RTCA and EUROCAE. The FAA accepts use of DO-178B as a means of certifying software in avionics.
Software level
The required level is determined from the
safety assessment process and
hazard analysis by examining the effects of a failure condition in the system. The failure conditions are categorized by their effects on the aircraft, crew, and passengers.
- Catastrophic - Failure may cause a crash.
- Hazardous - Failure has a large negative impact on safety or performance, or reduces the ability of the crew to operate the plane due to physical distress or a higher workload, or causes serious or fatal injuries among the passengers.
- Major - Failure is significant, but has a lesser impact that a Hazardous failure (for example, leads to passenger discomfort rather than injuries).
- Minor - Failure is noticeable, but has a lesser impact than a Major failure (for example, causing passenger inconvenience or a routine flight plan change)
- No Effect - Failure has no impact on safety, aircraft operation, or crew workload.
The number of objectives to be satisfied (with independence) is determined by the software level.
| Level
| Failure condition
| Objectives
| With independence
|
| A
| Catastrophic
| 66
| 25
|
| B
| Hazardous
| 65
| 14
|
| C
| Major
| 57
| 2
|
| D
| Minor
| 28
| 2
|
| E
| No effect
| 0
| 0
|
Processes and documents
The processes, activities and documents described here reflects naming and structure from DO-178B. This can be different in a real-life project.
Planning
Output documents from this process:
- Plan for software aspects of certification (PSAC)
- Software development plan (SDP)
- Software verification plan (SVP)
- Software configuration management plan (SCMP)
- Software quality assurance plan (SQAP)
- System requirements
- Software requirements standard (SRS)
- Software design standard (SDS)
- Software code standard (SCS)
System requirements are typically input to the entire project.
The last 3 documents (standards) are not required for software level D.
Development
This process can be divided into sub-processes: requirements, design, code and integration.
The development process output documents:
- Software requirements data (SRD)
- Software design description (SDD)
- Source code
- Executable object code
Traceability from system requirements to all source code or executable object code is typically required (depending on software level).
Typically used software development process:
Verification
Document outputs made by this process:
- Software verification cases and procedures (SVCP)
- Software verification results (SVR):
- Review of all requirements, design and code
- Testing of executable object code
- Code coverage analysis
Analysis of all code and traceability from tests and results to all requirements is typically required (depending on software level).
This process typically also involves:
- Requirements based test tools
- Code coverage analyser tools
Other names for tests performed in this process can be:
- Unit testing
- Integration testing
- Black box and acceptance testing
Configuration management
Documents maintained by the
configuration management process:
- Software configuration index (SCI)
- Software life cycle environment configuration index (SECI)
This process handles problem reports, changes and related activities. The configuration management process typically provides archive and revision identification of:
- Source code development environment
- Other development environments (for e.g. test/analysis tools)
- Software integration tool
- All other documents, software and hardware
Quality assurance
Output documents from the quality assurance process:
- Software quality assurance records (SQAR)
- Software conformity review (SCR)
- Software accomplishment summary (SAS)
This process performs reviews and audits to show compliance with DO-178B. The interface to the certification authority is also handled by the quality assurance process.
Certification liaison
- Typically a Designated Engineering Representative (DER) working for e.g. FAA in an airplane manufacturing company.
Certification in Europe
- Replace FAA with EASA, JAA or CAA
- Replace FAR with JAR or CS
- Replace AC with AMJ
Tools
This part contains examples of software which can be used to automate, assist or otherwise handle or help in the DO-178B processes.
Requirements management
Development Environments
Real-time operating systems and other commercial off the shelf software
Test, verification and analysis tools
Configuration management
Traceability tools
Resources
- FAR Part 23/25 §1301/§1309
- FAR Part 27/29
- AC 23/25.1309
- AC 20-115B
- RTCA DO-178B
- FAA Order 8110.49 Software Approval Guidelines
See also
External links
Avionics | Safety | Embedded systems | Software development | RTCA standards
DO-178B