Download Chapter 1. Introduction

Transcript
16
CHAPTER 1 Introduction
Code gen
to target
C/C++ code
Loadable
module
Compile
and link
Model
Application
Application
OS
OS
Simulated hardware
Real hardware
Simics
Host OS
Host hardware
FIGURE 1.5
Simics and autogenerated code.
MODEL-DRIVEN DEVELOPMENT
Model-driven development (MDD) is widely applied in the domain of control systems and is the standard development methodology for automotive, aerospace, avionics, and defense systems. A key part of MDD is to generate code from the model,
as illustrated in Figure 1.5, rather than writing it manually. For Simics, whether code
is generated or handwritten does not matter—it will run the same on Simics.
PROCESSOR-IN-THE-LOOP TESTING
In a typical model-driven workflow, a model is first tested using model-in-the-loop
(MIL) testing within the modeling tool (e.g., Simulink, Labview, MATLAB, or
SCADE). In MIL testing, the model of the code to be generated is tested against a
model of the world it interacts with. Next, simulation-in-the-loop (SIL) testing is
performed, where code is generated to run on the development host, testing the
code part against the world model. This makes sure that code generation from the
model works. Once this is proven, processor-in-the-loop (PIL) testing is performed