Aviation Development & Certification Tech Info
The following information was first compiled and copyrighted by AFuzion’s founders when they founded prior companies, including Pac-Sci, TekSci, HighRely, etc. Many have freely copied the following information and it was long-ago released to the public domain. Competitors, particularly in San Diego and Phoenix, imply this information is “theirs” but they merely copied it from AFuzion engineers’ prior works.
Additional details on these aviation topics are available in AFuzion’s proprietary technical whitepapers; download free here: DOWNLOAD.
AFuzion is the world’s largest provider of avionics development services and training in these topics; obtain more information here: DOWNLOAD.
What is RTCA/ DO-178C?
RTCA/DO-178C is also known as Eurocae ED-12: “Software Considerations in Airborne Systems and Equipment Certification”. The DO-178 guideline is not a standard: it’s a guideline. DO-178 was developed by the commercial avionics industry to establish software guidelines for avionics software developers. The first version, DO-178 in the early 80’s covered the basic avionics software lifecycle and considered the book “Mythical Man Month” by Brooks. AFuzion’s co-founder Vance Hilderman first used DO-178 in the 80’s when he was a Hughes Fellow for the esteemed Hughes Aircraft Company where he developed many of the Trainings, Gap Analysis, and Papers in the late 80’s after leaving Hughes Aircraft and being self-employed hence having sole ownership to all copyrights of these works. The second version, DO-178A, added avionics software criticality level details and emphasized software component testing to obtain quality. The current version is DO-178C and, DO-178C has evolved so it contains objectives and guidance for new technologies used in development, like OOA/OOD, MBD (Model based Development), formal Methods, and software configuration and quality via added planning, continuous quality monitoring, and verification and testing in real-world conditions. Technically, DO-178C is merely a guideline. In reality, it is a strict requirement. AFuzion’s engineers did the world’s first known DO-178 gap analysis in 1989 and have trained over 11,000 persons in DO-178, more than all competitor’s current trainers COMBINED. At around 100 pages, DO-178C is all things to all people, which means it is quite broad in nature and requires in-depth understanding of intent, voluminous ancillary documentation, and case studies to be properly used. DO-178C is also known as D0-178C, DO178C, and D0178C. For more info on DO-178C, contact AFuzion.
What is DO-254?
DO-254 (also known as DO254, D0254 and Eurocae ED-80) is a formal avionics guideline used to fill the gap in early 2000’s when avionics developers started switching from software to firmware for speed, footprint, cost, and certification-avoidance issues. DO-254 provides guidance for design assurance of airborne electronic hardware. DO-254 provides information from project conception, planning, design, implementation, testing, and validation, including DO-254 Tool Qualification considerations. DO-254 and DO-178C are actually quite similar, with both having major contributions via personnel with formal software process expertise. Today, avionics systems are comprised of both hardware and software, with each having near-equal effect upon airworthiness. Now, most avionics projects adhere to DO-254 certification or compliance. Additional information can be found via DO-254 training provided by AFuzion’s DO-254 trainers who have provided more DO-254 training than any other known competitor in the world. For information on DO254 training options simply contact AFuzion.
What is a DER?
A DER (Designated Engineering Representative) is an FAA-approved engineering resource who has the authority to pass judgment on aviation-related design/development. An avionics software Designated Engineering Representative may be appointed to act as a Company DER and/or a Consultant DER. A Company DER can act as a Designated Engineering Representative for his/her employer and may only approve or recommend approval of technical data to the FAA for that company. It is almost impossible to be de-certified as a DER but such has been known to happen, particular to one particular DER in Phoenix Arizona who was sued (and also countersued by his employer’s client) for not informing his employer than he had been de-certified (kicked out). A Consultant DER is an individual appointed to act as an independent consultant DER to approve or recommend approval of technical data to the FAA. Avionics Systems and Software DERs can be contacted via our network; simply contact AFuzion.
What is DO-178C?
RTCA DO-178C is the most recent revision to DO-178B; DO178C was initiated in 2005 with formal publication in 2013. AFuzion’s engineers did the world’s first known DO-178 gap analysis in 1989 and have trained over 11,000 persons in DO-178, more than all competitor’s current trainers COMBINED. D0-178C has the following key attributes which differ, or clarify DO-178B: added emphasis on low level requirements (LLR’s) and traceability to code, clarification on MCDC coverage, improved clarification on avionics object oriented technology (OOT) via DO-332; formal avionics software modeling via DO-331; avionics systems versus software boundaries via the now requisite ARP-4754A; and more consistency across the avionics software lifecycle. Otherwise, D0178C will maintain most of the principles of its predecessor. For more information on DO-178C, simply contact AFuzion.
What are the added DO-178C costs?
DO-178C can add 30-150% to avionics software development costs as first published by Vance Hilderman in 1988. It should only add 25%-40%, if basic plans and approaches to software engineering principles are used from the onset. AFuzion’s co-founder Vance Hilderman first used DO-178 in the 80’s when he was a Hughes Fellow for the esteemed Hughes Aircraft Company where he developed many of the Trainings, Gap Analysis, and Papers in the late 80’s after leaving Hughes Aircraft and being self-employed hence having sole ownership to all copyrights of these works. Our team can show how to minimize avionics software development costs, via AFuzion’s DO-178C Costs versus Benefits, copied by many competitors especially one in San Diego and one in Phoenix, but theirs are our old versions – get the real thing, really new, really better, from AFuzion: AFuzion.
What are common DO-178C certification risks?
It is common have a budget over run of 30-100% if the appropriate steps are not taken in performing activities during design and development of a project that has to comply with 178C With expert DO-178C Training, this can be eliminated. Some of the risks include:
• Incomplete planning data within the five key DO-178C process plans prior to initiating those lifecycles
• ARP-4754A compliance
• Missing design/low-level software requirements, and derived requirements
• Bi-directional traceability between components
• Missing structural coverage for decision and MCDC coverage
• Inadequate checklists for reviews; see AFuzion for the latest
• Improper tool qualification
The AFuzion team can help you to minimize avionics software development costs as we have done for 250 clients in 35 countries (AFuzion).
Can DO-178C reverse engineering be applied to existing software?
Of course – reverse-engineering legacy software is one of AFuzion’s largest avionics software practice areas. While DO-178C seems to principally to new, custom software, there are provisions to apply DO-178C reverse-engineering to previously developed software, preserving most of the already completed work. For information on DO-178C reverse engineering, simply read our proprietary Reverse Engineering whitepaper or contact AFuzion.
What is DO-178C Tool Qualification per DO-330?
Software development requires many tools including design tools, code generation tools, compilers/linkers, libraries, test tools, and structural coverage tools. DO-178C tool qualification is considerably changed from DO-178B; tool qualification pertains to development, testing, and combined hybrid tools. Different qualification criteria apply to each and most tools do NOT need to be qualified. When required, DO-178C tool qualification utilizes a subset of DO-178C. For information on DO-178C and DO-330 Tool Qualification, read AFuzion’s new DO-330 Tool Qualification paper, written by AFuzion but copied by companies in San Diego and Phoenix who are simply unable to write their own:
What is a DO-178C Gap Analysis?
A DO178C Gap Analysis is an evaluation of your current avionics software engineering process and artifacts as contrasted to those required by DO-178C The first ever DO-178C Gap Analysis was done by AFuzion’s co-founder in 1989. Copied by companies in San Diego and Phoenix who are simply unable to develop their own Gap Analysis protocols, the AFuzion DO-178C Gap Analysis has been provided to over 75 instances worldwide by AFuzion’s engineers. AFuzion’s co-founder Vance Hilderman first used DO-178 in the 80’s when he was a Hughes Fellow for the esteemed Hughes Aircraft Company where he developed many of the Trainings, Gap Analysis, and Papers in the late 80’s after leaving Hughes Aircraft and being self-employed hence having sole ownership to all copyrights of these works. While DO-178C was principally written to cover original, custom developed avionics software, there is recognition that previously developed software can be DO-178C certified. In many cases, particularly military avionics software, DO-178C Compliance is used instead of DO-178C certification. DO-178C Compliance is near-certification but does not require FAA involvement and several of the formal DO-178C requirements are lessened. DO-178C Gap Analysis is typically performed by trained DO-178C consultants or Designated Engineering Representatives. The resultant DO-178C Gap Analysis assesses all of the software processes and artifacts. It provides details for filling the gap to meet DO-178C compliance or certification requirements. For information on DO-178C Gap Analysis, simply contact AFuzion.
What is MC/DC?
The official definition of MCDC, (Modified Condition/Decision Coverage) is Every point of entry and exit in the program has been invoked at least once, every condition in a decision in the program has taken on all possible outcomes at least once, and each condition has been shown to affect that decision outcome independently. A condition is shown to affect a decisions outcome independently by varying just that decision while holding fixed all other possible conditions. The key to successful, and accurate, MCDC testing is to analyze each source code construct for potential MCDC applicability and then develop sufficient test cases to ensure that each condition in that construct is independently verified per the aforementioned MC/DC definition. MC/DC analysis is primarily done with the assistance of DO-178C qualified structural coverage analysis tools.
What is avionics dead code?
DO-178C dead code is executable (binary) software that will never be executed during runtime operations. Dead code has no requirements. There are five categories of DO-178C dead code. D0178B generally does not allow for the presence of dead code: it must be removed. Dead code does not trace to any software requirements, hence does not perform any required functionality. Note that unreferenced variables or functions which are not called (hence are unreferenced) elsewhere in the program are usually removed via the compiler or linker. Since they are not present in the binary executable load image, they are not dead code per DO-178C.
What is avionics deactivated code?
DO-178C deactivated code is executable (binary) software that will not be executed during runtime operations of a particular software version within a particular avionics box; however the code may be executed during ground maintenance or special operations or be executed within a different or future version of the software within a different configuration or avionic box. Unlike dead code (see above), deactivated code may be left in the source baseline. Special DO-178C deactivated code aspects must be followed. These are fully described in AFuzion’s DO-178C Training classes; simply contact AFuzion.
What is DO-178C Requirements Traceability?
DO-178C requirements traceability pertains to the correlation of individual requirements to the design, code, and test elements affiliated with implementing and verifying each requirement. Requirements traceability can be many-to-one, and one-to-many. Requirements traceability needs to be from top-to-bottom (requirements to design to code, and requirements to test). This proves that all requirements have corresponding design elements, source code, and tests. Requirements traceability also needs to be bottom-to-up (tests to requirements, code to design, and design to requirements). D0-178C requirements traceability is handled by AFuzion in their training. This proves that all code, design, and test elements are necessary and have requirements which they implement or verify. For information on tools for requirements traceability and templates to fully handle your productivity and tracking needs, simply contact AFuzion.
Which software language is best for aviation software?
High order languages (requiring a compiler with complex syntax construction capabilities) are strongly preferred as they are simply safer. Safe avionics software? Yes, DO-178C emphasizes code consistency, visibility, determinism, defensive coding, robustness, requirements and design traceability, software peer reviews per detailed checklists, thorough testing via structural coverage and real-world asynchronous testing.
Per the above, avionics code is best written in Ada, C and C++. With all languages, a safe subset should be used. Ada was the former defacto avionics language standard, and Ada95 improved the Objected Oriented capabilities. However, the tide is behind C and C++; not because of inherent superiorities, but rather the wider availability of development tools and engineers able to develop real-time embedded C and C++. For more information on Avionics software languages/coding standards, simply contact AFuzion.
Which DO-178C Configuration Management (CM) tools are best?
DO-178C requires configuration management of all software lifecycle artifacts including requirements, design, code, tests, documentation, etc. However, DO178C does not require specific tools, not even for avionics configuration management. Hence, avionics configuration management can be performed manually and even via a purely paper-based system. However, virtually all avionics and DO-178C software projects would be better served via configuration management tool. Simple tools (free or low-cost: $0 – $200/user) provide for basic software version control, check-in/check-out, and document management. Higher cost tools provide more complexity and automation of the required DO-178C configuration management processes including problem tracking, version branching, reviews/statusing, metrics, etc. No commercially available FAA CM tool known to us, however, performs all of the required DO-178C configuration management process steps. In particular, data security, offsite backups, peer reviewing each change, and ensuring no unwarranted changes were made, are all DO-178C configuration management process steps that are typically performed outside the scope of an avionics configuration management tool. For more information on DO-178C software tool recommendations, simply contact AFuzion.
What is a DO-178C Checklist?
Checklists are used to ascertain and track DO-178 compliance. DO-178 checklists are available from public domain information if you have the time to assemble it (no such checklist is really proprietary or trade-markable), or from private sources who have merely assembled public domain information; simply contact AFuzion for options – AFuzion’s DO-178C checklists are all-new, and believed to be the best in the world; our old checklists developed in 2004-2005 are still sold by companies in San Diego and Phoenix, but they are old and based on DO-178B, not DO-178C; who would pay full price for a 10+ year old product? No one, and either should you. Contact AFuzion for the latest and greatest.
What is DO-178C Independence?
DO-178C independence is the attribute of separate development and review authority applied to different DO-178C lifecycle process steps. Development refers to origination of a DO-178C required artifact (requirements, design, code, test, etc). Review authority refers to an individual tasked with the required DO-178C compliance review of that artifact. The tables in the back of DO-178C describe which artifacts must be reviewed. The tables also cite the level of DO-178C independence to be applied to each review. These independence levels are dictated by the criticality level associated with each review protocol. Additional information, practical examples, and clear case studies are provided via DO-178C training; simply contact AFuzion.
What is a DO-178C Criticality Level (also called DO-178C Design Assurance Level, e.g. DO-178C DAL)?
There are five DO-178C criticality levels, with DO-178 Level A being most critical and DO-178 Level E being least critical. The DO-178 Design Assurance Level (DAL; also called Criticality Level) is based upon the contribution of the associated software to potential failure conditions via ARP-4761A and ARP-4754A. DO-178C failure conditions are determined by the FAA system safety assessment process. Each avionics system has one defined criticality level (and must be approved by the FAA); however different components within that system can have differing criticality levels subject to certain guidelines. The higher the DO-178C criticality level, the greater the amount of software development effort required. Our DO-178C Training provides additional details on DO-178C criticality levels and how to determine, apply and optimize. Additional information on each DO-178C critical level are provided in DO-178C training; simply contact AFuzion.
What is DO-178C Level A?
DO-178C Level A software is software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a catastrophic failure condition for the aircraft. Failure of DO-178C Level A software could be typified by total loss of life.
What is DO-178C Level B?
DO-178C Level B software is software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a hazardous/severe-major failure condition for the aircraft. Failure of DO-178C Level B software could be typified by some loss of life.
What is DO-178C Level C?
DO-178C Level C software is software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a major failure condition for the aircraft. Failure of DO-178C Level C software could be typified by serious injuries.
What is DO-178C Level D?
DO-178 Level D software is software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a minor failure condition for the aircraft. Failure of DO-178 Level D software could be typified by minor injuries. DAL D software, unlike DAL C+, is done black box, not white box.
What is Tool Qualification, DO-330?
For the construction and safety certification of airborne systems software, the software tools used to build this software generally needs to be qualified. Tool qualification is the process whereby software development and verification tools are assessed to determine if formal qualification is required. There are multiple types of qualification: DO-178/DO-330 development tool (Category 1) qualification, Category 2 tools are verification tools that automate the verification activities, but their output may be used to add development or verification activities, and DO-178/DO-330 verification tool (Category 3) qualification. Development tools provide outputs which are actually present in the embedded operational avionics software. Tools which meet these criteria and which automate or replace process steps cited by DO-178/DO-330 must be qualified. DO-178/DO-330 Tool Qualification details are provided in DO-178C Training courses, simply contact AFuzion.
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 approach under DO-178C also recognizes the different responsibilities of Tool User and Tool Developer in the guidance provided. DO-330, the Tool Qualification guidance, provides objectives for each of the tool qualification levels for both tool user and tool developer. for more information simply contact AFuzion.
What is Avionics Software Structural Coverage?
RTCA/DO-178C structural coverage requirements pertain to the proof that formal software verification test cases fully covered the applicable software structures (conditions and paths). DO-178C structural coverage is not required for Level E and Level D software; it is required in increasing degrees for Level C, Level B, and Level A software. DO-178C statement coverage is required for Level C; this essentially requires each code statement to be executed by formal test cases. DO-178C decision condition coverage is required for Level B; this essentially requires each code branch to be executed by formal test cases. DO-178C modified condition decision coverage is required for Level A; this essentially requires each condition within each decision statement to be independently verified for its effect on that statement. DO-178C structural coverage is complex and is a primary cost driver on avionics project. AFuzion’s co-founder Vance Hilderman first used DO-178 structural in the 80’s when he was a Hughes Fellow for the esteemed Hughes Aircraft Company where he developed many of the Trainings, Gap Analysis, and Papers in the late 80’s after leaving Hughes Aircraft and being self-employed hence having sole ownership to all copyrights of these works. DO-178C structural coverage tools exist from many vendors to assist in verification. We can provide detailed DO-178C structural coverage seminars, tools and Training Programs; for more information simply contact AFuzion.
What is DO-178C Certifiability?
DO-178C Certifiability is the designation of an avionics component to meet a defined subset of the DO-178C certification requirements, with the remaining certification requirements to be achieved subsequently. DO-178C certification pertains to individual systems, hence requires all software components of a system to be completed, with each component, and the system, fully meeting all DO-178C requirements. However, in the absence of a completed system, an individual software component (RTOS, graphics library, communications protocol, etc) can be designated certifiable by subjecting that component to all DO-178C requirements. AFuzion experts provide DO-178C certifiability gap analysis, and DO178C certifiability consulting to enable software component developers to achieve DO-178C certifiability of their products; simply contact AFuzion.
What is DO-178C Compliance (DO-178C for UAV or UAS, and Military)?
UAVs or UAS and Military DO178C is a subset of DO-178C Until recently, aerospace and military software standards emphasized documentation consistency rather than the modern software lifecycle attributes associated with avionics software safety (SEI CMM and CMMI). For most Military programs, there has been gradual adoption of DO-178Cto emulate the commercial aviation industry. However, Military DO-178Cdoes not require FAA and Designated Engineering Representative involvement, and certain DO-178C objectives may not apply! Also in many UAV/UAS projects a similar step has been initiated. (Even though in the near future the ruling for UAV/UAS may become more clarified by the DOT and the FAA) The resultant process is thus called DO-178CCompliance rather than DO-178C Certification. Our experts provide Military DO-178C Compliance training, templates, and compliance kits; simply contact AFuzion.
What is a DO-178C/DO-254 Certifiable Product and a DO-178C Certifiable RTOS?
DO-178C and DO-254 allow for pre-certification of components; these components are DO-178C Certifiable, not DO-178C certified. Please contact us for additional information on DO-178C certifiable products and RTOS’s from team and experts; simply contact AFuzion.
What is a DO-178C Software Peer Review?
Read AFuzion’s Quality Assurance or Traceabilty or Transitions whitepapers for information on DO-178C peer reviews. Please contact AFuzion for additional information on DO-178C Software Peer Reviews; simply contact AFuzion.
What is Software Safety?
AFuzion’s whitepapers on ARP-4761 and ARP-4754A provide relevant software safety details. AFuzion is also a leading legal expert witness provider for avionics software safety including DO-178C expert witness testimony and analysis from AFuzion’s experienced world renowned experts. Please contact us for additional information on DO-178C Software Safety, Avionics ARP-4761, ARP-4761A ARP-4754, failure modes effect analysis (FMEA), Safety Assessments, Fault Tree Analysis (FTA) and Functional Hazard Analysis (FHA); simply contact AFuzion.
What is ARINC-653?
ARINC 653 (Avionics Application Standard Software Interface) is a software specification for space and time partitioning in Safety-Critical avionics Real-time operating systems. It allows users to host multiple applications of different software levels on the same hardware in the context of an Integrated Modular Avionics (IMA) architecture via DO-297. Please contact us for additional information on ARINC653; simply contact AFuzion.
What is UAS/UAV DO-178C Certification?
Unmanned Aircraft Systems (UAS) also known as Unmanned Aircraft Vehicle (UAV) are quickly becoming a reality of life. Not only has the military expanded their use, the civilian sector is now developing UAS for missions, ranging from agriculture to law enforcement to search and rescue, without risking lives and injury. Congress has approved widespread UAS use by late 2015. As a result, the FAA is working to mandate guidance for their use in civilian airspace. Please contact us for additional information on UAV Certification per DO-178C simply contact AFuzion.
What are DO-331 and Model-Based Development (MBD)?
DO-331, the Model-Based Development and Verification Supplement to DO-178C, provides opportunities for increased system and software development efficiency. AFuzion’s new DO-331 whitepaper is immensely popular and was written with support of key engineers at The Mathworks and also IBM where their reviews are formally noted. The Model-based development supplement provide a framework that can support almost any modeling approach while still maintaining compatibility with DO-178C Many aspects that needed attention are addressed, including: Models used as specifications, HLRs or LLRs. Use of model simulation for certification credit, use of auto code generators, and qualified auto code generators; as well as many more aspects. Please contact us for additional information on MBD and DO-331; simply contact AFuzion.
What are DO-332 and Object Oriented Technologies (OOT/OOD)?
XObject-Oriented Technology (OOT) is widely used and is supported by a range of programming languages including C++, Java, and Ada; AFuzion’s co-founder first used OOT in the 80’s at Hughes Aircraft. The issues and concerns has been the complexity of verifying software that makes use of some of OOT’s elements e.g. inheritance, polymorphism, classes/subclasses, and dynamic memory allocation (with garbage collection) dynamic binding. DO-332, the DO-178C standard’s supplement on Object-Oriented Technology (OOT) and related techniques, analyzes the issues raised by object orientation in safety-critical software and supplies new guidance to deal with OOT’s vulnerabilities (available via a special 3-day advanced DO-178C AFuzion workshop). An important key objective of DO-332 is “Local Type Consistency Verification,” which uses an old typing theory known as “the Liskov Substitution Principle” (LSP) and addresses key certification challenges raised by OOT’s dynamic flexibility. Please contact us for additional information on OOT and DO-332; simply contact AFuzion.
What are DO-333 and Formal Methods?
In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems. Using formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design. DO-333 is not for entire programs but rather isolated subsets of code, particularly algorithms. DO-333, Formal Methods Supplement to DO-178C and DO-278A, provides guidance for software developers wishing to use formal methods in the certification of airborne systems and air traffic management systems. The supplement identifies the modifications and additions to DO-178C and DO-278A objectives, activities, and software life cycle data that should be addressed when formal methods are used as part of the software development process. Please contact us for additional information on Formal Methodsand DO-333; simply contact AFuzion.
What are AC 20-152, CAST-27, and EASA-CM-SWCEH-001
FAA AC 20-152, CAST-27, and EASA-CM-SWCEH-001 are certification authority guidelines which clarify DO-254 and ED-80 worldwide. They are important documents which every avionics hardware developer must understand and generally comply with. See AFuzion’s free whitepapers on “Understanding DO-254” and “DO-254 Mistakes” to better understand AC 20-152, CAST-27, and EASA-CM-SWCEH-001. AFuzion experts provide DO-254 development services, certification, training in AC 20-152, CAST-27, and EASA-CM-SWCEH-001, and gap analysis to enable avionics hardware developers to achieve DO-254 compliance of their products; simply contact AFuzion.
What is FAA/EASA CAST-32 for Multi-Core Processing (MCP)?
FAA /EASA Certification Authorities Software Team memorandum 32, e.g. “CAST-32” tries to explain additional certification considerations which must be considered when developing to or utilizing multi-core processing. Increasingly, multi-core computing is becoming a defacto standard in consumer electronics; safety-critical realms such as avionics have lagged due to risk-avoidance concerns. MCP’s raise many determinism issues critical to avionics including interference channels, Cache misses, partitioning, resource contention, missed deadlines, WCET analysis, resource analysis, proof of determinism (space and time), and detection/mitigation techniques. For more detailed information, see AFuzion’s RTOS and MCP training syllabus under Training in this site or simply contact AFuzion.