What Counts as Software Under DO-178C? Understanding the True Scope of Airborne Software Certification
When developing airborne systems, one of the most critical aspects of certification is understanding what the term “software” actually means under DO-178C — the Software Considerations in Airborne Systems and Equipment Certification standard.
This definition has far-reaching implications: it determines what components must follow the DO-178C software life cycle, what artifacts must be produced, and how verification and certification evidence are generated. Misinterpreting it can lead to costly rework, compliance gaps, or unnecessary certification effort.
Let’s explore how DO-178C defines software, what’s included within its scope, and how this understanding shapes the certification process.
The DO-178C Definition of Software
The RTCA DO-178C (and its European counterpart EUROCAE ED-12C) defines software as:
System Requirement Allocation and Software Scope
According to ARP 4754A, system-level requirements are allocated to either hardware or software, depending on which element implements them.
This allocation process is fundamental: it defines the boundary between hardware and software responsibilities, ensuring each is developed and verified under the correct assurance standard.
In practice:
-
Any system requirement that does not rely on physical hardware behavior is considered a software requirement.
-
Functions implemented through code, algorithms, or digital processing fall under DO-178C.
-
Requirements tied to electrical characteristics, timing signals, or physical components are allocated to hardware and governed by DO-254, the hardware counterpart to DO-178C.
For example, data processing, control laws, and fault detection logic realized through code are classified as software functions, while signal conditioning circuits or sensor interfaces fall under hardware.
FPGA Logic: Hardware, Not Software
In airborne systems, Field Programmable Gate Array (FPGA) logic is classified as hardware, even though it is “programmed” using code-like languages such as VHDL or Verilog.
Under DO-254 (Design Assurance Guidance for Airborne Electronic Hardware), FPGA designs are treated as electronic hardware because they define physical signal paths, timing relationships, and logic gates. The FPGA bitstream determines hardware behavior—it does not execute instructions like a processor running software.
Thus, FPGA design and verification are performed under DO-254, while the software that interacts with the FPGA follows DO-178C.
What Is Considered Software Under DO-178C
DO-178C and its companion document DO-248C clarify that software includes any computer-executed logic that contributes to an airborne function. This includes:
1. Executable Code
2. Configuration and Parameter Data
3. Embedded Scripts and Logic
4. Software Libraries and Operating Systems
5. Initialization and Calibration Data
Any data influencing how the software initializes or operates — such as boot tables, calibration constants, or hardware setup scripts — are considered software-controlled items. They must be verified and managed as part of the software configuration.
These elements collectively form what DO-178C refers to as a Software Configuration Item (SCI) — the fundamental unit of airborne software subject to development, verification, and configuration management.
What Is Not Considered Software
Certain items fall outside the DO-178C scope:
-
FPGA/ASIC logic (covered under DO-254)
-
Development tools and scripts not used in airborne execution
-
Verification test data and reports, which are certification artifacts, not software
-
Configuration management metadata, such as build logs or repository labels
However, when system boundaries blur — such as parameterized control laws or firmware-based logic — the system safety assessment determines whether DO-178C or DO-254 applies.
Why This Definition Matters
Understanding what qualifies as software under DO-178C directly affects certification planning, resource allocation, and compliance evidence. It defines:
-
Which components require Software Requirements Data (SRD), Software Design Descriptions (SDD), and Verification Test Results.
-
Which items must undergo traceability, configuration control, and independent verification according to their software level (A through E).
-
Where to apply DO-330 tool qualification or DO-200B data assurance.
A clear boundary prevents both over-certification (wasting effort on non-airborne items) and under-certification (missing items that affect behavior).
Conclusion: Defining Software for Safety and Compliance
Under DO-178C, software is not just source code — it includes everything that determines what an airborne system does and how it behaves in flight. Executable logic, configuration data, initialization scripts, and parameter files all fall under this scope when they influence airborne performance.
Accurately defining software early in the lifecycle ensures proper traceability, verification, and certification — the cornerstones of aviation safety.
Ultimately, DO-178C’s definition ensures that no element influencing aircraft behavior is left unexamined, reinforcing the industry’s commitment to reliability, accountability, and airworthiness.



Comments
Post a Comment