DO-178B
From Wikipedia, the free encyclopedia
DO-178B / ED-12B | |
Software Considerations in Airborne Systems and Equipment Certification | |
Latest Revision | December 1, 1992 |
Prepared by | RTCA SC-167 EUROCAE WG-12 |
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.
Contents |
[edit] 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 |
[edit] 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.
[edit] 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.
[edit] 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:
[edit] 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
[edit] 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
[edit] 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.
[edit] Certification liaison
- Typically a Designated Engineering Representative (DER) working for e.g. FAA in an airplane manufacturing company.
[edit] Certification in Europe
[edit] Tools
This part contains examples of software which can be used to automate, assist or otherwise handle or help in the DO-178B processes.
[edit] Requirements management
[edit] Development Environments
- SCADE and DO-178B Code Generator from Esterel Technologies
- SCORE from DDC-I
- Wind River Platform for Safety Critical DO-178B from Wind River Systems
- MULTI from Green Hills Software
[edit] Real-time operating systems and other commercial off the shelf software
- VAPS Qualifiable Code Generator (safety-critical embedded graphics tools) from Engenuity Technologies
- GL Studio® DO-178B (Graphics Display Development) from DiSTI
- Seawind®/178 Certifiable OpenGL drivers from Seaweed Systems
- INTEGRITY-178B RTOS from Green Hills Software
- LynxOS-178 from LynuxWorks
- QNX® Neutrino® RTOS from QNX Software Systems
- uC/OS-II from Micrium Inc.
[edit] Test, verification and analysis tools
- Cantata++ and AdaTEST from IPL
- CodeTest from Metrowerks
- PolySpace Verifier from PolySpace Technologies
- The LDRA tool suite from LDRA
- Test RealTime from Rational
- T-VEC from T-VEC Technologies
- VectorCAST from Vector Software
[edit] Configuration management
- A problem management tool can provide traceability for changes.
- SCI and SECI can be created from logs in a revision control tool.
[edit] Traceability tools
- Reqtify from TNI-Software
[edit] 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
[edit] See also
- Avionics software
- ARP4761 (Safety assessment process)
- ARP4754 (System development process)
- DO-248B (Final Report for clarification of DO-178B)
- DO-254 (similar to DO-178B, but for hardware)
- Requirements management (too general to be "directly applied" to DO-178B)
- IEC 61508