An in-the-loop testing strategy is often used as itemized below and
summarized in Table 2:
1. Simulation test cases are derived and run on the model using
Model-In-the-Loop (MIL) testing.
2. Source code is verified by compiling and executing it on a host computer
using Software-In-the-Loop (SIL) testing.
3. Executable object code is verified by cross-compiling and executing it on
the
embedded
processor or an instruction set simulator using Processor-In-the-Loop (PIL)
testing.
4. Hardware implementation is verified by synthesizing HDL and executing it
on an FPGA using FPGA-In-the-Loop (FIL) testing.
5. The
embedded
system is verified and validated using the original plant model using
Hardware-In-the-Loop (HIL) testing.
A requirements-based test approach with
test reuse for models and code is explicitly described in ARP4754A, DO-178C, and
DO-331, the model-based design supplement to DO-178C.
Introduction to model-based design
With model-based design, UAV engineers develop and simulate system models
comprised of hardware and software using block diagrams and state charts, as
shown in Figures 1 and 2. They then automatically generate, deploy, and verify
code on their
embedded
systems. With textual computation languages and block diagram model tools,
one can generate code in C, C++, Verilog, and VHDL languages, enabling
implementation on MCU, DSP[], FPGA[], and ASIC hardware. This lets system,
software, and hardware engineers collaborate using the same tools and
environment to develop, implement, and verify systems. Given their auto-nomous
nature, UAV systems heavily employ closed-loop controls, making system modeling
and closed-loop simulation, as shown in Figures 1 and 2, a natural
fit.
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.
refer to:
http://mil-embedded.com/articles/transitioning-do-178c-arp4754a-uav-using-model-based-design/