Testing actual UAV systems via ground-controlled flight tests is expensive. A better way is to test early in the design process using desktop simulation and lab test benches. With model-based design, verification starts as soon as models are created and simulated for the first time. Tests cases based on high-level requirements formalize simulation testing. A common verification workflow is to reuse the simulation tests throughout model-based design as the model transitions from system model to software model to source code to executable object code using code generators and cross-compilers.
Reused as an entry point for software design
Elaborated on during detailed software design (for example, by discretizing continuous time blocks and changing double-precision data to single-precision or fixed-point)
Used as input for embedded code generation
The test cases for system requirement validation likewise are reused on the model, source code, and executable object code to perform functional testing and collect coverage metrics.
While not advocating for any particular mapping, the use and reuse of models for systems and software design along with code generation have long provided UAV system developers using MathWorks products of Simulink and Embedded Coder with streamlined processes. It is nice to see that this same approach is now clearly acknowledged as an acceptable means to certification by the governing standards. MathWorks provides verification tool qualification kits and workflow guidance regarding the use of model-based design for DO-178.