Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni...

25
Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager The MathWorks © 2006 The MathWorks, Inc.

Transcript of Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni...

Page 1: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Modeling Complex Systems Using SimEvents

Giovanni Mancini SimEvents Product Marketing Manager The MathWorks

© 2

006

The

Mat

hWor

ks, I

nc.

Page 2: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Topics

� Discrete Event Simulation � SimEvents Components � System Example

2

Page 3: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

What is SimEvents?

� SimEvents provides a natural, SimEvents Modelefficient way of modeling systems that are activity-based versus systems that are purely continuous­time based

– Systems can be modeled at the transaction level

– Model semantics are primarilyactivity- or event-based

– Untimed means no explicit notion of time is needed

� SimEvents adds Discrete Event Modeling (DES) to Simulink®

– DES and continuous time are integrated

3

Page 4: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Modeling A Hybrid System: Golf!

Control logic and FSM: • Situation determines action • Club selection

“If… or if… or if…”When do you

tee off?

Time-driven dynamics: Trajectory of the ball

SimEvents Stateflow® Simulink®

Y=v0t + ½gt2

Discrete event: • Tee is available • You tee off

4

Page 5: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Hybrid System: Communication System

Simulink SimEvents Simulink

Event-Based Decisions

Continuous Time

Processing

Time-Based

Analyzers

State-Based Control Stateflow

5

Page 6: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

What does SimEvents give you?

� Model systems requiring access to a shared resource

� Model systems that selectively route data and items through blocks

� Model systems that are activity-based rather than time-based

SERVER

X

6

Page 7: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

What is the relationship with Simulink?

� SimEvents transforms a continuous­time model in Simulink Simulink ∂

– WITH

∫s

1

∂x

� Addition of elements to model: 1– Asynchronous or discrete event behavior 1

s– Delays m

– Queuing – Routing – Priority and preemption

� To more accurately model non­continuous time systems behavior τunder real world conditions

� Model is not restricted to processing 1 1data in a serial fashion ∫s s

– Interrupting processes in an RTOS

SimEvents

m

1

τ x∂∂

7

Page 8: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

What is the value of SimEvents? Model is adapted to the level of complexity required!

Engineering Roles � System Architect

– Analyzes system features and applications before committing to a final choice

� System Engineer – Models system features and

applications mapped onto aselected implementation

� Module Developer – Verifies that module(s) deliver

the required feature subset while meeting performance requirements imposed by the rest of the system

Roles with SimEvents � System Architect

– Models system functions without having to worry about detailed timing

� System Engineer – Evaluates the robustness of the chosen

implementation: � Timing � Discrete event behavior � With other implementation details

� Module Developer – Verifies module behavior and

performance in the presence of real world uncertainties associated with � Timing � Non-periodic or discrete behavior � System loading

8

Page 9: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Typical Applications

� Mission planning � Logistics � Packet-based communications � Base station access � RTOS modeling � Supervisory and distributed control � Manufacturing systems � Service scheduling � Etc.

9

Page 10: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

SimEvents Key Features

� Libraries – Queues – Servers – Switches – Gates

� Generators – Entities – Events – Signals

� Automatic statistics gathering – Delay – Throughput

� Enables evaluating a systemwith a given set of delay andthroughput conditions

� Statistic gathering simplifieslocating bottlenecks in the system

� Supports hybrid simulation ofmodels containing event­based and time-based execution components

10

Page 11: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

SimEvents Components

� Entities and attributes

� Queues and servers

� Routing entities

� Accessing statistics

� Interfaces with Simulink and Stateflow

11

Page 12: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Entities and Attributes

� Entities – Abstraction of something in the simulation (i.e., packet or a token) – Move through queues, servers, gates, and switches

� Attributes – Data carried by entities (i.e., length, dest. address) – Model a range of vertical applications

Simulink Signal Line

SimEvents Entity Path

12

Page 13: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Queues and Servers

� Queue/Server pair creates delays and storage locations for entities – Setting service time of server enables you to model

bank teller, machine, packet delay– Setting capacity of queue enables you to model

waiting in lines, buffers, packet storage

� Blocking: Entities advance only when there is a place to go � Event Priorities: Control of execution order of simultaneous events

13

Page 14: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Routing Entities

Various network topologies can be created: � Merge entity paths � Select entity from input path � Select output path for entity � Replicating entities

14

Page 15: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Statistics Library Statistics and block state can be accessed through various blocks by means of output signal ports: � Entities departed � Entities in block � Entity delay and average delay � Utilization � Pending entity (blocking status) � Timer blocks – end-to-end delays � Number of events

15

Page 16: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Interfacing with Simulink and Stateflow

Function-calls, triggers (and value change) allow interfacing between SimEvents and Simulink and Stateflow: � SimEvents controls StateChart � StateChart controls SimEvents block

16

Page 17: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Continuous Time versus Discrete Event� Simulink – Time advance happens at � SimEvents – Time advance is

regular intervals controlled by the event activity

Simulink Counter SimEvents Counter

17

SimEvents provides a more efficient execution flow because blocks are evaluated only when they need to be!

Page 18: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Comparison of Routing Policies

Comparison of Routing Policies

Shortest Queue Routing

Round-Robin Routing

Probabilistic Routing

IN OUT

Start Timer2

IN OUT

Start Timer1

IN OUT

Start Timer

Arriv al Departure

Shortest Queue Routing

Arriv al Departure

Round-Robin Routing

IN OUT

w

Read Timer3

IN OUT

w

Read Timer1

IN OUT

w

Read Timer

Arriv al Departure

Probabil istic Routing

IN

Entity Sink2

IN

Entity Sink1

IN

Entity Sink

OUT

Arrival Process2

OUT

Arrival Process1

OUT

Arrival Process

Yellow curve AvgDelay SQ

1.434 Info

Magenta curve

AvgDelay Prob

1.964 Average

System Time

Cyan curve

AvgDelay RR

1.575

18

Page 19: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Comparison of Routing Policies

Routing Block

Shortest Queue Routing

Round-Robin Routing

Probabilistic Routing

IN OUT

Start Timer2

IN OUT

Start Timer1

IN OUT

Start Timer

Arriv al Departure

Shortest Queue Routing

Arriv al Departure

Round-Robin Routing

IN OUT

w

Read Timer3

IN OUT

w

Read Timer1

IN OUT

w

Read Timer

Arriv al Departure

Probabil istic Routing

IN

Entity Sink2

IN

Entity Sink1

IN

Entity Sink

OUT

Arrival Process2

OUT

Arrival Process1

OUT

Arrival Process

Yellow curve AvgDelay SQ

1.434 Info

Magenta curve

AvgDelay Prob

1.964 Average

System Time

Cyan curve

AvgDelay RR

1.575

19

Page 20: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

t IN OUT OUT

IN

FIFO Queue1 Server 1

1 OUT1 IN1 2Serve 1 RNG Arrival IN OUT Departure OUT2

Route in round-robin fashionto the two queues.

IN2

Output Switch1 Path Combiner1

Serve 2 RNG

t OUT

IN OUT IN

Server 2 FIFO Queue2

20

Page 21: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Comparison of Routing PoliciesComparison of Routing Policies

Shortest Queue Routing

IN OUT

Start Timer1

IN OUT

Start Timer

Arriv al Departure

Shortest Queue Routing

IN OUT

w

Read Timer1

IN OUT

w

Read Timer

Arriv al Departure

Probabil istic Routing

IN

Entity Sink1

IN

Entity Sink

OUT

Arrival Process1

OUT

Arrival Process

Probabilistic Routing

Round-Robin Routing

Yellow curve AvgDelay SQ

1.434 Info

Magenta curve

AvgDelay Prob

1.964 Average

System Time

Cyan curve

AvgDelay RR

1.575

IN OUT

Start Timer2

Arriv al Departure

Round-Robin Routing

IN OUT

w

Read Timer3 IN

Entity Sink2

OUT

Arrival Process2

21

Page 22: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

22

Page 23: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

SimEvents � Provides a natural, efficient way of modeling activity-based

systems versus systems that are purely continuous-time based – Systems can be modeled at the transaction level – Model semantics are primarily activity- or event-based – Untimed – no explicit notion of time is needed

� Adds Discrete Event Modeling (DES) to Simulink – DES and continuous time are integrated – Asynchronous and discrete event behavior – Delays – Queuing – Routing – Priority and preemption

� Models systems requiring access to a shared resource

23

Page 24: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Applications of SimEvents

� Mission planning

� Logistics

� Packet-based communications

� RTOS modeling

� Base station access

� Supervisory and distributed control

� Manufacturing systems

� Service scheduling

24

Page 25: Modeling Complex Systems Using SimEvents · Modeling Complex Systems Using SimEvents Giovanni Mancini SimEvents Product Marketing Manager ... SimEvents provides a natural, SimEvents

Modeling Complex Systems Using SimEvents

© 2

006

The

Mat

hWor

ks, I

nc.