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