DAL A
   HOME

TheInfoList



OR:

DO-178B, Software Considerations in Airborne Systems and Equipment Certification is a guideline dealing with the safety of
safety-critical A safety-critical system or life-critical system is a system whose failure or malfunction may result in one (or more) of the following outcomes: * death or serious injury to people * loss or severe damage to equipment/property * environmental h ...
software used in certain airborne systems. It was jointly developed by the safety-critical working group RTCA SC-167 of the
Radio Technical Commission for Aeronautics RTCA, Inc. (formerly known as Radio Technical Commission for Aeronautics) is a United States non-profit organization that develops technical guidance for use by government regulatory authorities and by industry. It was founded in 1935 and was re-in ...
(RTCA) and WG-12 of the
European Organisation for Civil Aviation Equipment The European Organisation for Civil Aviation Equipment (EUROCAE) is an international organisation that deals exclusively with aviation standardisation, for both airborne and ground systems and equipment. It was created in 1963 in Lucerne, Switzerl ...
(EUROCAE). RTCA published the document as RTCA/DO-178B, while EUROCAE published the document as ED-12B. Although technically a
guideline A guideline is a statement by which to determine a course of action. It aims to streamline particular processes according to a set routine or sound practice. They may be issued by and used by any organization (governmental or private) to make ...
, it was a ''de facto'' standard for developing
avionics software Avionics software is embedded software with legally mandated safety and reliability concerns used in avionics. The main difference between avionic software and conventional embedded software is that the development process is ''required by law ...
systems until it was replaced in 2012 by
DO-178C DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary document by which the certification authorities such as Federal Aviation Administration, FAA, European Aviation Safety Agency, EASA and Transport Can ...
. The
Federal Aviation Administration The Federal Aviation Administration (FAA) is a Federal government of the United States, U.S. federal government agency within the United States Department of Transportation, U.S. Department of Transportation that regulates civil aviation in t ...
(FAA) applies DO-178B as the document it uses for guidance to determine if the software will perform reliably in an airborne environment, when specified by the
Technical Standard Order A Technical Standard Order (TSO) is a minimum performance standard issued by the United States Federal Aviation Administration for specified materials, parts, processes, and appliances used on civil aircraft. Articles with TSO design approval are ...
(TSO) for which certification is sought. In the United States, the introduction of TSOs into the airworthiness certification process, and by extension DO-178B, is explicitly established in Title 14: Aeronautics and Space of the
Code of Federal Regulations In the law of the United States, the ''Code of Federal Regulations'' (''CFR'') is the codification of the general and permanent regulatory law, regulations promulgated by the executive departments and agencies of the federal government of the ...
(CFR), also known as the
Federal Aviation Regulations The Federal Aviation Regulations (FARs) are rules prescribed by the Federal Aviation Administration (FAA) governing all aviation activities in the United States. The FARs comprise Title 14 of the Code of Federal Regulations (14 CFR). A wide var ...
, Part 21, Subpart O.


Software level

The ''Software Level'', also termed the ''Design Assurance Level'' (DAL) or ''Item Development Assurance Level'' (IDAL) as defined in
ARP4754 ARP4754(), Aerospace Recommended Practice (ARP) Guidelines for Development of Civil Aircraft and Systems, is a published standard from SAE International, dealing with the development processes which support certification of Aircraft systems, add ...
(
DO-178C DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary document by which the certification authorities such as Federal Aviation Administration, FAA, European Aviation Safety Agency, EASA and Transport Can ...
only mentions IDAL as synonymous with Software LevelRTCA/DO-178C "Software Considerations in Airborne Systems and Equipment Certification", p. 116. "One example is the term “item development assurance level” (IDAL), which for software is synonymous with the term “software level."), is determined from the safety assessment process and
hazard analysis A hazard analysis is one of many methods that may be used to assess risk. At its core, the process entails describing a system object (such as a person or machine) that intends to conduct some activity. During the performance of that activity, a ...
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. Error or loss of critical function required to safely fly and land aircraft. * ''Hazardous'' – Failure has a large negative impact on safety or performance, or reduces the ability of the crew to operate the aircraft due to physical distress or a higher workload, or causes serious or fatal injuries among the passengers. (Safety-significant) * ''Major'' – Failure is significant, but has a lesser impact than a Hazardous failure (for example, leads to passenger discomfort rather than injuries) or significantly increases crew workload (safety related) * ''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. DO-178B alone is not intended to guarantee software safety aspects. Safety attributes in the design and implemented as functionality, must receive additional mandatory system safety tasks to drive and show objective evidence of meeting explicit safety requirements. Typically IEEE STD-1228-1994 Software Safety Plans are allocated and software safety analyses tasks are accomplished in sequential steps (requirements analysis, top level design analysis, detailed design analysis, code level analysis, test analysis and change analysis). These software safety tasks and artifacts are integral supporting parts of the process for hazard severity and DAL determination to be documented in system safety assessments (SSA). The certification authorities require and DO-178B specifies the correct DAL be established using these comprehensive analyses methods to establish the software level A-E. Any software that commands, controls, and monitors safety-critical functions should receive the highest DAL - Level A. It is the software safety analyses that drive the system safety assessments that determine the DAL that drives the appropriate level of rigor in DO-178B. The system safety assessments combined with methods such as SAE ARP 4754A determine the after mitigation DAL and may allow reduction of the DO-178B software level objectives to be satisfied if redundancy, design safety features and other architectural forms of hazard mitigation are in requirements driven by the safety analyses. Therefore, DO-178B central theme is design assurance and verification after the prerequisite safety requirements have been established. The number of objectives to be satisfied (eventually with independence) is determined by the software level A-E. The phrase "with independence" refers to a separation of responsibilities where the objectivity of the verification and validation processes is ensured by virtue of their "independence" from the software development team. For objectives that must be satisfied with independence, the person verifying the item (such as a requirement or source code) may not be the person who authored the item and this separation must be clearly documented. In some cases, an automated tool may be equivalent to independence.RTCA/DO-178B "Software Considerations in Airborne Systems and Equipment Certification", p.82 However, the tool itself must then be qualified if it substitutes for human review.


Processes and documents

Processes are intended to support the objectives, according to the software level (A through D—Level E was outside the purview of DO-178B). Processes are described as abstract areas of work in DO-178B, and it is up to the planners of a real project to define and document the specifics of how a process will be carried out. On a real project, the actual activities that will be done in the context of a process must be shown to support the objectives. These activities are defined by the project planners as part of the Planning process. This objective-based nature of DO-178B allows a great deal of flexibility in regard to following different styles of
software life cycle The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the fi ...
. Once an activity within a process has been defined, it is generally expected that the project respect that documented activity within its process. Furthermore, processes (and their concrete activities) must have well defined entry and exit criteria, according to DO-178B, and a project must show that it is respecting those criteria as it performs the activities in the process. The flexible nature of DO-178B's processes and entry/exit criteria make it difficult to implement the first time, because these aspects are abstract and there is no "base set" of activities from which to work. The intention of DO-178B was not to be prescriptive. There are many possible and acceptable ways for a real project to define these aspects. This can be difficult the first time a company attempts to develop a civil avionics system under this standard, and has created a
niche market A niche market is the subset of the market on which a product is appealed to a small group of consumers. The market niche defines the product features aimed at satisfying specific market needs, as well as the price range, production quality and the ...
for DO-178B training and consulting. For a generic DO-178B based process,
visual summary
is provided including the Stages of Involvement (SOIs) defined by FAA on the "Guidance and Job Aids for Software and Complex Electronic Hardware".


Planning

System requirements are typically input to the entire project. The last 3 documents (standards) are not required for software level D..


Development

DO-178B is not intended as a software development standard; it is software assurance using a set of tasks to meet objectives and levels of rigor. The development process output documents: *Software requirements data (SRD) *Software design description (SDD) *
Source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
*Executable
object code In computing, object code or object module is the product of an assembler or compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' ...
Traceability from system requirements to all source code or executable object code is typically required (depending on software level). Typically used
software development process In software engineering, a software development process or software development life cycle (SDLC) is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or s ...
: *
Waterfall model The waterfall model is a breakdown of developmental activities into linear sequential phases, meaning that each phase is passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a speciali ...
*
Spiral model The spiral model is a risk-driven software development process model. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolu ...
* V model


Verification

Document outputs made by this process: *
Software verification Software verification is a discipline of software engineering, programming languages, and theory of computation whose goal is to assure that software satisfies the expected requirements. Broad scope and classification A broad definition of verif ...
cases and procedures (SVCP) *Software verification results (SVR): **Review of all requirements, design and code **Testing of executable
object code In computing, object code or object module is the product of an assembler or compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' ...
**
Code coverage In software engineering, code coverage, also called test coverage, is a percentage measure of the degree to which the source code of a program is executed when a particular test suite is run. A program with high code coverage has more of its ...
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 In software engineering, code coverage, also called test coverage, is a percentage measure of the degree to which the source code of a program is executed when a particular test suite is run. A program with high code coverage has more of its ...
analyzer tools Other names for tests performed in this process can be: *
Unit testing Unit testing, component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior. Unit testing describes tests that are run at the unit-level to contrast testing at the Integration ...
*
Integration testing Integration testing is a form of software testing in which multiple software components, modules, or services are tested together to verify they work as expected when combined. The focus is on testing the interactions and data exchange between i ...
*
Black-box In science, computing, and engineering, a black box is a system which can be viewed in terms of its inputs and outputs (or transfer characteristics), without any knowledge of its internal workings. Its implementation is "opaque" (black). The te ...
and
acceptance testing In engineering and its various subdisciplines, acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical tests, physical tests, or performance tests. In systems ...


Configuration management

Documents maintained by the
configuration management Configuration management (CM) is a management process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. ...
process: *Software configuration index (SCI) *
Software life cycle The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the fi ...
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 Quality assurance (QA) is the term used in both manufacturing and service industries to describe the systematic efforts taken to assure that the product(s) delivered to customer(s) meet with the contractual and other agreed upon performance, design ...
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) reviews technical data as part of the submission to the FAA for approval.


Tools

Software can automate, assist or otherwise handle or help in the DO-178B processes. All tools used for DO-178B development must be part of the certification process. Tools generating embedded code are qualified as development tools, with the same constraints as the embedded code. Tools used to verify the code (simulators, test execution tool, coverage tools, reporting tools, etc.) must be qualified as verification tools, a much lighter process consisting in a comprehensive
black box testing Black-box testing, sometimes referred to as specification-based testing, is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applie ...
of the tool. A third party tool can be qualified as a verification tool, but development tools must have been developed following the DO-178 process. Companies providing these kind of tools as
COTS COTS may refer to: * Commercial off-the-shelf, products that are commercially available and can be bought "as is" * Commercial Orbital Transportation Services, a NASA program for delivery to the International Space Station by private companies * ...
are subject to audits from the certification authorities, to which they give complete access to source code, specifications and all certification artifacts. Outside of this scope, output of any used tool must be manually verified by humans. *A problem management tool can provide traceability for changes. *SCI and SECI can be created from logs in a
revision control Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code ...
tool.


Requirements management

Requirements traceability is concerned with documenting the life of a requirement. It should be possible to trace back to the origin of each requirement and every change made to the requirement should therefore be documented in order to achieve traceability. Even the use of the requirement after the implemented features have been deployed and used should be traceable.


Criticism

VDC Research notes that DO-178B has become "somewhat antiquated" in that it is not adapting well to the needs and preferences of today's engineers. In the same report, they also note that
DO-178C DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary document by which the certification authorities such as Federal Aviation Administration, FAA, European Aviation Safety Agency, EASA and Transport Can ...
seems well-poised to address this issue.


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

*
DO-178C DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary document by which the certification authorities such as Federal Aviation Administration, FAA, European Aviation Safety Agency, EASA and Transport Can ...
*
Avionics software Avionics software is embedded software with legally mandated safety and reliability concerns used in avionics. The main difference between avionic software and conventional embedded software is that the development process is ''required by law ...
*
ARP4761 ARP4761, Guidelines for Conducting the Safety Assessment Process on Civil Aircraft, Systems, and Equipment is an Aerospace Recommended Practice from SAE International. In conjunction with ARP4754, ARP4761 is used to demonstrate compliance with ...
(Safety assessment process) *
ARP4754 ARP4754(), Aerospace Recommended Practice (ARP) Guidelines for Development of Civil Aircraft and Systems, is a published standard from SAE International, dealing with the development processes which support certification of Aircraft systems, add ...
(System development process) *
DO-248B DO-248C, ''Supporting Information for DO-178C and DO-278A'', published by RTCA, Incorporated, is a collection of Frequently Asked Questions and Discussion Papers addressing applications of DO-178C and DO-278A in the safety assurance of software f ...
(Final Report for clarification of DO-178B) *
DO-254 RTCA DO-254 / EUROCAE ED-80, Design Assurance Guidance for Airborne Electronic Hardware is a document providing guidance for the development of airborne electronic hardware, published by RTCA, Incorporated and EUROCAE. Initially released in 20 ...
(similar to DO-178B, but for hardware) *
Requirements management Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requ ...
(too general to be "directly applied" to DO-178B) *
IEC 61508 IEC 61508 is an international standard published by the International Electrotechnical Commission (IEC) consisting of methods on how to apply, design, deploy and maintain automatic protection systems called safety-related systems. It is titled '' ...
*
ISO/IEC 12207 ISO/IEC/IEEE 12207 ''Systems and software engineering – Software life cycle processes'' is an international standard for software lifecycle processes. First introduced in 1995, it aims to be a primary standard that defines all the processes requi ...
(software life cycle process development standard) * ED-153 (Guidelines for ANS software safety assurance) * Modified condition/decision coverage


References


Further reading

* * {{cite book, url= https://books.google.com/books?id=nAlEDwAAQBAJ , title= Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance , author= Leanna Rierson , isbn= 9781351834056 , orig-date= 7 January 2013 , date= 19 December 2017 , access-date= 2022-03-03 , publisher=
CRC Press The CRC Press, LLC is an American publishing group that specializes in producing technical books. Many of their books relate to engineering, science and mathematics. Their scope also includes books on business, forensics and information technol ...


External links


AC 25.1309-1A

AC 20-115B

FAA Order 8110.49 Change 1
Computer-related introductions in 1992 RTCA standards Computer standards Avionics Safety engineering Software requirements