COMM 1 Nataliya Mulyar Laci Posta Coupling Of Multidisciplinary Models
2 COMM 2 Outline Introduction: COMM within Bode-RC Rose-RT Simulink Rose-RT and Matlab/Simulink: how to couple? State-of-affairs in COMM
3 COMM 3 Boderc Project 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. Goal: improve multi-disciplinary system design, i.e. combining mechanics, electronics and informatics, such that
4 COMM 4 The COMM project COMM = Coupling of Multidisciplinary Models 9- month duo OOTI final project Started on 1 st of December 2003
5 COMM 5 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
6 COMM 6 COMM Project The problem ofCoupling of models from different disciplines (M, E, I) AffectsThe development of real-time embedded systems The MCTIs 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 Focuses on design of Multidisciplinary Coupling Tool (MCT) Business Case
7 COMM 7 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
8 COMM 8 Simulation Simulation contains a set of models of one or more dynamical systems and the interaction between those systems and their environment (Jim Ledin). Simulation advances through time and solves the equations for all models at each point in time. Model is a physical, mathematical, or other logical representation of a system/process.
9 COMM 9 Simulation Two basic representation methods of simulation models: The discrete event simulation, where time is moving forward from one change of state to the next The time step simulation, where time is divided into intervals Time step t1 t2 t3 t4 … event 3event 2event 1 t1 t2 t3
10 COMM 10 Real vs. Simulated Target system Simulated system environment HW Rose-RT SW model Matlab/ Simulink physical model MCT SW DiscreteDiscrete and/or continuous Hybrid Simulate the real-time behavior of the embedded system
11 COMM 11 Case Study Motor Control Loop Model Set-point generator ControllerMotorEncoder + Criteria for case-study selection: 1)Low level of model complexity 2)Multidisciplinary aspect: SW + HW components 3)Interaction btw. SW and HW components
12 COMM 12 Mapping on Tools Motor Control Loop Model Matlab/ Simulink Set-point generator ControllerMotorEncoder + Rose-RT Centralized Software Control
13 COMM 13 Mapping on Tools Motor Control Loop Model Matlab/ Simulink Set-point generator ControllerMotorEncoder + Rose-RT Distributed Software Control Decision 1: select Distributed Software Control
14 COMM 14 Computing resources 1 PC or 2 PC’s? Rose-RT and Matlab/ Simulink Rose-RTMatlab/ Simulink Decision 2: use a single PC for simulation
15 COMM 15 Outline Introduction: COMM within Bode-RC Rose-RT Simulink Rose-RT and Matlab/Simulink: how to couple? State-of-affairs in COMM
16 COMM 16 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
17 COMM 17 Rose-RT from inside Stereotypes (special form) of class – Capsules Template of active objects – Protocols Template of ports Environment Capsule port S1 S2 Ports: created and destroyed along with their capsule
18 COMM 18 Active objects Encapsulation shell Ports
19 COMM 19 Capsule: Behavior Optional hierarchical state machine (signal handler with run-to-completion semantics) S1 S2S3 S1 S2 S1 transitionS1toS2: {int x; x = 0; p2.send(s1); p3.send(s2); … };
20 COMM 20 Traffic Lights example
21 COMM 21 Timing in Rose-RT Goal: Understand the notion of time in multidisciplinary modeling
22 COMM 22 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 Goal: Understand the notion of time in multidisciplinary modeling
23 COMM 23 Outline Introduction: COMM within Bode-RC Rose-RT Simulink Rose-RT and Matlab/Simulink: how to couple? State-of-affairs in COMM
24 COMM 24 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 x (states) u (input) y (output)
25 COMM 25 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. y2 (output) x1 (states) u1 (input) y1 (output) x2 (states) u2 (input)
26 COMM 26 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
27 COMM 27 Simulink Environment The Library Browser displays a tree-structured view of the Simulink block libraries installed on your system.
28 COMM 28 Motor model
29 COMM 29 Components of a Simulink model Solvers You can specify the solver to use in the model or when running a simulation. 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.
30 COMM 30 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 Goal: Understand the notion of time in multidisciplinary modeling
31 COMM 31 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 Goal: Understand the notion of time in multidisciplinary modeling
32 COMM 32 Outline Introduction: COMM within Bode-RC Rose-RT Simulink Rose-RT and Matlab/Simulink: how to couple? State-of-affairs in COMM
33 COMM 33 Rose-RT and Matlab/Simulink: How to couple? Goal: Explore ways of coupling of tools used in MD modeling Approach 1Approach 2 MCT MATLAB/ SIMULINK ROSE-RT MATLAB/ SIMULINK ROSE-RT Decision 3: select loosely-coupled architecture
34 COMM 34 Rose-RT and Matlab/Simulink: Where to place timing? Goal: Explore ways of coupling of tools used in MD modeling Not feasible due to the timing service of Rose-RT Provide timing MATLAB/ SIMULINK Timing request Provide timing Timing request Data ROSE-RT MCT
35 COMM 35 Rose-RT and Matlab/Simulink: Where to place timing? Goal: Explore ways of coupling of tools used in MD modeling Provide timing MATLAB/ SIMULINK Timing request ROSE-RT Provide timing Timing request Data MCT Timing is enforced to both modeling toolsets No advantage of Matlab/Simulink timing is taken
36 COMM 36 Rose-RT and Matlab/Simulink: Where to place timing? Goal: Explore ways of coupling of tools used in MD modeling Rose-RT timing is not used Matlab/Simulink provides a well-defined notion of simulation time MCT Provide timing MATLAB/ SIMULINK Timing request ROSE-RT Provide timing Timing request Data Decision 4: use Matlab/Simulink as a timing provider
37 COMM 37 Outline Introduction: COMM within Bode-RC Rose-RT Simulink Rose-RT and Matlab/Simulink: how to couple? State-of-affairs in COMM
38 COMM 38 MCT Design
39 COMM 39 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
40 COMM 40 Questions