Main Content

Validation and Verification for System Development

An approach to validating and verifying system development is the V-model.

V-Model for System Development

The V-model is a representation of system development that highlights verification and validation steps in the system development process. The left side of the ‘V’ identifies steps that lead to code generation, including system specification and detailed software design. The right side of the V focuses on the verification and validation of steps cited on the left side, including software and system integration.

V-model for system development

Depending on your application and its role in the process, you might focus on one or more of the steps called out in the V-model or repeat steps at several stages of the V-model. Code generation technology and related products provide tooling that you can apply to the V-model for system development. For more information about how you can apply MathWorks® code generation technology and related products to the V-model process, see:

Types of Simulation and Prototyping in the V-Model

Use the V-model for system development for different types of simulation and prototyping, such as rapid simulation, system simulation, rapid prototyping, and rapid prototyping on target hardware. This table compares the types of simulation and prototyping identified on the left side of the V-model diagram shown in V-Model for System Development.

 SimulationRapid SimulationSystem Simulation, Rapid PrototypingRapid Prototyping on Target Hardware
PurposeTest and validate functionality of concept model Refine, test, and validate functionality of concept model in nonreal time Test new ideas and researchRefine and calibrate design during development process
Execution hardwareDevelopment computer

Development computer

Standalone executable runs outside of MATLAB® and Simulink® environments

PC or nontarget hardwareEmbedded computing unit (ECU) or near-production hardware
Code efficiency and I/O latencyNot applicableNot applicableLess emphasis on code efficiency and I/O latencyMore emphasis on code efficiency and I/O latency
Ease of use and cost

Can simulate component (algorithm or controller) and environment (or plant)

Normal mode simulation in Simulink enables you to access, display, and tune data during verification

Can accelerate Simulink simulations

Easy to simulate models of hybrid dynamic systems that include components and environment models

Ideal for batch or Monte Carlo simulations

Can repeat simulations with varying data sets, interactively or programmatically by using scripts, without rebuilding the model

Can connect to Simulink to monitor signals and tune parameters

Might require custom real-time simulators and hardware

Might be done with inexpensive, off-the-shelf PC hardware and I/O cards

Might use existing hardware for less expense and more convenience

Types of In-the-Loop Testing in the V-Model

This table compares types of in-the-loop testing for verification identified on the right side of the V-model diagram shown in V-Model for System Development.

 SIL SimulationPIL Simulation on Embedded HardwarePIL Simulation on Instruction Set SimulatorHIL Simulation
PurposeVerify component source code Verify component object codeVerify component object codeVerify system functionality
Fidelity and accuracy

Two options:

Same source code as target, but might have numerical differences

Changes source code to emulate word sizes, but is bit accurate for fixed-point math

Same object code

Bit accurate for fixed-point math

Cycle accurate because code runs on hardware

Same object code

Bit accurate for fixed-point math

Might not be cycle accurate

Same executable code

Bit accurate for fixed-point math

Cycle accurate

Use real and emulated system I/O

Execution platformsDevelopment computerTarget hardwareDevelopment computerTarget hardware
Ease of use and cost

Desktop convenience

Executes only in Simulink

Reduces hardware cost

Executes on desktop or test bench

Uses hardware — process board and cables

Desktop convenience

Executes on development computer with Simulink and integrated development environment (IDE)

Reduces hardware cost

Executes on test bench or in a lab

Uses hardware — processor, embedded computer unit (ECU), I/O devices, and cables

Real-time capabilityNot real timeNot real time (between samples)Not real time (between samples)Hard real time