Flight Code Generation for Aerospace Systems

Flight code generation automatically converts models into high-quality, well-documented code embedded in line replaceable units (LRUs), which has enabled aerospace companies to save 40% per line of code, achieve Six-Sigma flight software quality, and have an autopilot work on the first try.

With millions of lines of flight code generated from Embedded Coder in LRUs today, MathWorks continues to develop technologies that production organizations use for:

  • Software architecture and design
  • Flight code generation
  • Flight code verification, including software-in-the-loop and processor-in-the-loop tests
  • DO-178 certification

“We use our system design model in Simulink for ARP4754 to establish stable, objective requirements. We save time by using the model as the basis for our software design model for DO-178—from which we generate flight code—and reusing validation tests for software verification.”

Software Architecture and Design

Simulink and Stateflow are well suited for developing avionics, GN&C, propulsion, radar, and other aerospace system designs. Using executable specifications instead of static diagrams accelerates design and enables early verification and validation. With System Composer and Requirements Toolbox, you can create architecture models and trace to requirements.

alt text needed here

SIMD code generation from Simulink model.

Flight Code Generation and Integration

Embedded Coder generates embedded code from MATLAB files or Simulink models. ANSI/ISO C or C++ is generated by default for any device. In addition, code is easily optimized for specific MCUs and DSPs using flexible APIs. Integrating handwritten code during simulation or code generation is supported. Use GPU Coder to generate code for GPUs.

Flight Code Verification

Simulink Code Inspector helps automate source code reviews for safety standards by performing structural equivalence analysis and generating traceability reports involving a model and its generated code.

Software-in-the-loop (SIL), processor-in-the-loop (PIL), and hardware-in-the-loop (HIL) testing form the cornerstone of flight code verification by automating execution and comparison of code results with reference model behavior. Creating a PIL test environment is supported when using Embedded Coder or direct connection to your processor boards. You can author, execute, review, and organize tests and test suites using Simulink Test. You can calculate structural coverage of the generated code using Simulink Coverage to measure testing completeness.

DO-178B Certification

DO-178 is the primary aerospace software safety standard. MathWorks support for DO-178 is available in the DO Qualification Kit. It enables a qualifiable code generation workflow by using qualifying tools to verify models and code, including Simulink Code Inspector.