industry standard for safety-critical avionics software
D0-178C
what the system must do
requirements
translating requirements into code
design and coding
combining software modules with avionics hardware
integration
Does the software behave as expected?
testing and verification
proving safety to aviation authorities
certification
“Are we building the system right?”
verification
“Are we building the right system?”
validation
flight scenarios in lab
simulation
connect code to real avionics hardware
hardware-in-the-loop testing
extreme conditions
stress testing
software must respond in milliseconds
real-time performance
multiple systems run in parallel for backup
redundancy and fault tolerance
up to 70% of project time spent on verification
certification costs
protecting avionics software from hacking
cybersecurity
four (4) core components of avionics hardware
ensures data acquisition, processing power, and pilot interface
hardware
acts as the bridge between real-world signals (speed, altitude, engine data) and
software algorithms
hardware
combines GPS data (hardware) + navigation software to guide aircraft
flight management system (FMS)
hardware sensors + control algorithms for fuel management
engine control unit (ECU)
a specialized computer system built into hardware to perform dedicated functions in real time
embedded systems
its key traits in avionics:
- real-time response (must act within milliseconds)
- high reliability & fault tolerance
- low power and efficient performance
embedded systems
processes altitude & speed
air data computer (ADC)
manages fuel & thrust
engine control unit (ECU)