slides

advertisement
COMM
Coupling
Of
Multidisciplinary
Models
Nataliya Mulyar
Laci Posta
1
COMM
Outline
•
•
•
•
•
Introduction: COMM within Bode-RC
Rose-RT
Simulink
Rose-RT and Matlab/Simulink: how to couple?
State-of-affairs in COMM
2
COMM
Boderc Project
Goal:
improve multi-disciplinary system design,
i.e. combining mechanics, electronics and
informatics, such that
• Consequences of design decisions can
be predicted as early as possible
• System-level decisions can be
analyzed
• Trade-offs can be made between
functions, price, performance, etc.
Universiteit Twente
3
COMM
The COMM project
• COMM = Coupling of Multidisciplinary Models
• 9- month duo OOTI final project
• Started on 1st of December 2003
4
COMM
Problem Description
Sequential development  long development cycle
Parallel development
 lack of communication btw.disciplines
 incorrect assumptions
 problems during integration
 late time-to-market
Possible solution: simulate an embedded system in
its intended environment
5
COMM
COMM Project
Focuses on design of Multidisciplinary Coupling Tool (MCT)
Business Case
The problem of Coupling of models from different disciplines (M, E, I)
Affects
The development of real-time embedded systems
The MCT
Is a tool that couples two tools widely used for
modeling of software and physical components
respectively
That
• Helps to detect potential problems earlier
• Shortens development time (if used properly)
• Provides communication means between multiple
disciplines
6
COMM
Concrete Goals
• Explore possibilities of coupling of tools used in MD
modeling
– Use Rose-RT and Matlab/Simulink as a concrete case for
coupling
• Get better understanding of coupling:
– relation simulation-reality
– the notion of time in multidisciplinary modeling
7
COMM
Simulation
Simulation contains a set of models of one or more
dynamical systems and the interaction between
those systems and their environment (Jim Ledin).
Model is a physical,
mathematical, or other logical
representation of a
system/process.
Simulation advances through time and solves the
equations for all models at each point in time.
8
COMM
Simulation
Two basic representation methods of simulation
models:
 The discrete event simulation, where time is
moving forward from one change of state to the
event 1
event 2 event 3
next
t1
t2
t3
 The time step simulation, where time is divided
into intervals
t1 t2 t3 t4 …
Time step
9
COMM
Real vs. Simulated
Simulated system environment
Discrete
Rose-RT
SW
model
MCT
Matlab/
Simulink
physical
model
Discrete
and/or
continuous
Hybrid
SW
HW
Target system
Simulate the real-time behavior of the embedded system
10
COMM
Case Study
Motor Control Loop Model
Set-point
generator
Controller
Motor
Encoder
+
Criteria for case-study selection:
1) Low level of model complexity
2) Multidisciplinary aspect: SW + HW components
3) Interaction btw. SW and HW components
11
COMM
Mapping on Tools
Motor Control Loop Model
Set-point
generator
Controller
Motor
Encoder
+
Rose-RT
Matlab/ Simulink
Centralized Software Control
12
COMM
Mapping on Tools
Motor Control Loop Model
Set-point
generator
Rose-RT
Controller
Motor
Encoder
+
Matlab/ Simulink
Distributed Software Control
Decision 1: select Distributed Software Control
13
COMM
Computing resources
1 PC or 2 PC’s?
Rose-RT and
Matlab/
Simulink
Rose-RT
Matlab/
Simulink
Decision 2: use a single PC for simulation
14
COMM
Outline
•
•
•
•
•
Introduction: COMM within Bode-RC
Rose-RT
Simulink
Rose-RT and Matlab/Simulink: how to couple?
State-of-affairs in COMM
15
COMM
What is Rose-RT?
Software development environment for:
• Creating UML models using the elements and diagrams
defined in the UML
• Generating complete code implementations for those models
• Executing, testing and debugging models
 Uses the extensibility features of the UML for real-time
reactive system development
16
COMM
Rose-RT from inside
• Stereotypes (special form) of class
– Capsules
• Template of active objects
– Protocols
• Template of ports
Capsule
S1
port
Environment
S2
Ports: created and destroyed along with their capsule
17
COMM
Active objects
Encapsulation
shell
Ports
18
COMM
Capsule: Behavior
• Optional hierarchical state machine (signal handler with
run-to-completion semantics)
transitionS1toS2:
{int x;
x = 0;
p2.send(s1);
p3.send(s2);
…
};
S1
S2
S3
19
COMM
Traffic Lights example
20
COMM
Goal: Understand the notion of time in multidisciplinary modeling
Timing in Rose-RT
21
COMM
Goal: Understand the notion of time in multidisciplinary modeling
Timing in Rose-RT
• Time in Rose-RT is strongly connected with the system clock
• Precision is dependent on the granularity of the OS
• Accuracy is not guaranteed
• Timing in Rose-RT is unpredictable
• Simulation in Rose-RT can be achieved only by step-by-step
execution
22
COMM
Outline
•
•
•
•
•
Introduction: COMM within Bode-RC
Rose-RT
Simulink
Rose-RT and Matlab/Simulink: how to couple?
State-of-affairs in COMM
23
COMM
What is Simulink?
Simulink is a software package for modeling and
simulating dynamic systems
process of computing a system’s
states and outputs over a span of
time, using information provided
by the system’s model
u
(input)
x
(states)
y
(output)
24
COMM
Components of a Simulink model
 Continuous blocks respond continuously to changing input.
 Discrete blocks respond to changes in input only at
integer multiples of a fixed interval called the block’s
sample time.
u1
(input)
x1
(states)
y1
(output)
u2
(input)
x2
(states)
y2
(output)
25
COMM
Structure of a Simulink model
• A typical Simulink model includes sources, systems and
sinks.
Simulink provides:
•graphical block diagram capability
•drag-and-drop blocks facility
26
COMM
Simulink Environment
The Library Browser displays
a tree-structured view of the
Simulink block libraries
installed on your system.
27
COMM
Motor model
28
COMM
Components of a Simulink model
• Solvers
A program, called ordinary
differential equation (ODE)
solver, updates block inputs and
computes block outputs and
states at intervals from the
simulation start time to the
simulation end time.
 You can specify the solver to
use in the model or when
running a simulation.
29
COMM
Goal: Understand the notion of time in multidisciplinary modeling
Timing in Matlab/Simulink
• The simulation time in Matlab/Simulink and real clock are not
the same
The amount of time it takes to run a simulation depends on
- model complexity, computer’s speed, solver’s type, etc.
• Simulation time and real time are not proportional
Simulation time can run faster  time acceleration
slower  time stretching
• Facilities for scheduling and dealing with concurrency are
not offered
 is not suitable for simulation of SW
30
COMM
Goal: Understand the notion of time in multidisciplinary modeling
TrueTime
Real-time kernels and network transmissions can be simulated
• Different processing times, priorities, and arbitrary scheduling
policies in the computer nodes can be specified
• Various network protocols may be evaluated
• By introducing disturbing traffic on the network, the effects of
unpredictability in the network communication can be studied
Limitations
• Code generated by other
applications cannot be directly
used in TrueTime framework
31
COMM
Outline
•
•
•
•
•
Introduction: COMM within Bode-RC
Rose-RT
Simulink
Rose-RT and Matlab/Simulink: how to couple?
State-of-affairs in COMM
32
COMM
Goal: Explore ways of coupling of tools used in MD modeling
Rose-RT and Matlab/Simulink:
How to couple?
Approach 1
Approach 2
MCT
ROSE-RT
MATLAB/
SIMULINK
ROSE-RT
MATLAB/
SIMULINK
Decision 3: select loosely-coupled architecture
33
COMM
Goal: Explore ways of coupling of tools used in MD modeling
Rose-RT and Matlab/Simulink:
Where to place timing?
Timing request
Timing request
Data
MCT
Provide timing
ROSE-RT
Data
Provide timing
MATLAB/
SIMULINK
• Not feasible due to the timing service of Rose-RT
34
COMM
Goal: Explore ways of coupling of tools used in MD modeling
Rose-RT and Matlab/Simulink:
Where to place timing?
Timing request
Data
Timing request
MCT
Provide timing
ROSE-RT
Data
Provide timing
MATLAB/
SIMULINK
• Timing is enforced to both modeling toolsets
• No advantage of Matlab/Simulink timing is taken
35
COMM
Goal: Explore ways of coupling of tools used in MD modeling
Rose-RT and Matlab/Simulink:
Where to place timing?
Timing request
Data
Timing request
MCT
Provide timing
ROSE-RT
Data
Provide timing
MATLAB/
SIMULINK
• Rose-RT timing is not used
• Matlab/Simulink provides a well-defined notion of simulation time
Decision 4: use Matlab/Simulink as a timing provider
36
COMM
Outline
•
•
•
•
•
Introduction: COMM within Bode-RC
Rose-RT
Simulink
Rose-RT and Matlab/Simulink: how to couple?
State-of-affairs in COMM
37
COMM
MCT Design
38
COMM
ToDo
• Rose-RT automated step-by-step execution
 changes in RTController needed (complex!)
• Rose-RT timing compatibility with Simulink
replacement of Windows NT Timing Services
• Simulation in intended target environment
 durations of execution of Rose-RT functions on a
target OS should be available
39
COMM
Questions
40
Download