Ece 449 549
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

ECE 449/549 PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

ECE 449/549. Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept. 2008. Basic Entities and Relations in Modeling and Simulation. Experimental Frame. Source. Simulator. System. behavior database. Modeling Relation. Simulation Relation. Model.

Download Presentation

ECE 449/549

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ece 449 549

ECE 449/549

Class Notes #2

Introduction to Discrete-Event Systems Specification (DEVS)

Sept. 2008


Ece 449 549

Basic Entities and Relations in Modeling and Simulation

Experimental Frame

Source

Simulator

System

behavior database

Modeling

Relation

Simulation

Relation

Model


Devs formalism

DEVS Formalism

DEVS = Discrete Event Systems Specification

  • Atomic Models

  • Coupled Models

  • Hierarchical Models


Ece 449 549

x

x

0

1

Discrete Event Time Segments

X

t1

t0

t2

S

e

y0

Y


Devs atomic model

DEVS Atomic Model

Elements of an atomic model:

  • input events

  • output events

  • state variables

  • state transition functions

  • output function

  • time advance function


Atomic model operation

Atomic Model Operation

  • Ports are represented explicitly – there can be any number of input and output ports on which values can be received and sent

  • The time advance function determines the maximum lifetime in a state

  • A bag can contain many elements with possibly multiple occurrences of its elements.

  • Atomic DEVS models can handle bags of inputs and outputs.

  • The external transition function handles inputs of bags by causing an immediate state change, which also may modify the time advance.

  • The output function can generate a bag of outputs when the time advance has expired.

  • The internaltransition function is activated immediately after the output function causing an immediate state change, which also may modify the time advance.

  • The confluent transition function decides the next state in cases of collision between external and internal events.


Ece 449 549

Basic specification:

DEVS = <X,S,Y, dint , d ext ,dcon, ta,l >

X : a set of input events.

Y: a set of output events.

S: a set of states

ta :S-> R+0,inf time advance function

dint :S -> Sinternal transition function.

d ext :Q x Xb-> Sexternal transition function,

d con :Q x Xb-> Sconfluent transition function,

where Xb is a set of bags over elements in X.

Q= {(s,e)|se S, 0<= e<=ta(s)}

l:S -> Youtput function


Devs atomic model implements basic devs

DEVS Atomic Model Implements Basic DEVS

Make a transition

(internal)

Make a transition

(external)

input

State

internal

external

time advance

Handle input

output

output

Hold for

some time

Send an output


Ece 449 549

Internal Transition /Output Generation

output

Generate output

s’

Time advance

s

Make a transition

using the

output

function

using the

internal

transition

function


Ece 449 549

Response to External Input

input

Make a transition

using the

external

transition

function

elapsed

time

Time advance


Ece 449 549

Response to Simultaneous External Input and Internal Event

output

input

Make a transition

Generate output

elapsed

time

using the

confluent

transition

function

Time advance


Atomic model examples

start

out

receptive

active

passive

fire

refract

Atomic Model Examples

pulse

Pulse

Generator

time

Pulse Generator

interPulseTime >0

Output

start

ta = ∞

Output

Fire-once Neuron

Input

Firing delay >0

ta = ∞

ta = ∞

external event

Internal event

output event


Ece 449 549

Dive

Plan

Emergency

Phone

Call

Response

Basic DEVS: Example Scuba Model

=dint (“five”) for phase != “five” ,“surface1”, “surface2”

dint (“five”,s ) otherwise //except when already on “five


Devs hierarchical modular composition

DEVS Hierarchical Modular Composition

Atomic: lowest level model, contains structural dynamics -- model level modularity

Coupled: composed of one or more atomic and/or coupled models

hierarchical construction

+ coupling


Ece 449 549

Coupled model specification:

DN = < X,Y,D,{Mi },{Ii },{Zi,j }>

X : a set of input events.

Y: a set of output events.

D : an index set for the components of the coupled model.

For eachieD ,

Mi is a component DEVS model.

For eachieDu self, Iiis the set of influencees ofi .

For eachjeDu self ,

Zi,jis output translation mapping


Ece 449 549

create components

class ef:public digraph{

public:

ef():digraph(){

genr * g = new genr("g);

transd * t = new transd("t");

add(g);

add(t);

ef

out

start

start

g

result

ariv

out

t

in

out

done

add coupling

add_coupling(this, "in", t, "done");

add_coupling(this, "start", g, "start");

t->add_coupling(t,"out",g,"stop");

t->add_coupling(t, "out", this, "result");

g->add_coupling(g, "out", this, "out");

g->add_coupling(g, "out", t, "ariv");

declare ports

inports->add("in");

outports->add("out");

inports->add("start");

outports->add("result");

DIGRAPH


Ece 449 549

Legend

inherits

can hold

ENTITY

Object Oriented

DEVS CLASSES

DEVS

ATOMIC

devs

COUPLED

MESSAGE

CONTAINER

content

entity

port,

value ->ENTITY


Ece 449 549

wrap_deltfunc(t,m)

deltext(t-tN,m)

deltint()

deltcon(m)

Simulation Cycle for DEVS Parallel /Confluent

  • Compute the global next event time, tN: use reduce to get minimum of component times to next event (tN)

  • Tell all components the global tN and

  • if component is imminent (tN == global tN ),

  • then generate output message(using l)

  • Sort and distribute (using coupling) output messages.

  • Tell all components

  • if component is imminent (tN == global tN )

  • or has incoming mail (external events)

  • or both

  • then execute transition function (wrap_deltfunc).


Ece 449 549

Block

(UI)

Tell_all (next_tN) Ensemble Message

+ 2

i

i

+ 1

compute tN

compute tN

return MIN tN

return MIN tN

+ 5

+ 6

i

i

+ 4

i

i

+ 3

compute tN

compute tN

compute tN

compute tN

return tN

return MIN tN

return MIN tN

return MIN tN

+ 10

i

i

+ 9

i

+ 7

compute tN

compute tN

compute tN

compute tN

compute tN

return tN

return tN

return tN

return tN

return tN

Simulation Cycle Step 1

Compute the next event time (tN) : uses reduction to get

minimum of the component times to next event.

Collection of Minimum tN Values

i

compute tN

return MIN tN

Low Node

+ 8

i

+ 11

i

High Node


Ece 449 549

Tell_all (compute_IO) Ensemble Message

i

+ 1

compute_IO

compute_IO

compute_IO

compute_IO

compute_IO

compute_IO

i

+ 7

compute_IO

compute_IO

compute_IO

compute_IO

compute_IO

Simulation Cycle Step 2

Tell all components global tN:

if component is imminent generate and sort output messages

i

compute_IO

Low Node

+ 2

i

+ 6

i

+ 5

i

+ 4

i

+ 3

i

i

+ 10

i

+ 9

+ 11

+ 8

i

i

High Node


Ece 449 549

i

+ 4

+ 3

i

+ 1

+ 2

i

i

+ 5

i

Step 1 : Mail Message Size Information

Step 2 : Mail Exchange

Mail Exchange in Step3

tell all imminents,

sort, and distribute output messages (mail) using coupling


Ece 449 549

Tell_all (wrap_deltfunc) Ensemble Message

i

+ 1

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

i

+ 7

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

wrap_deltfunc

Simulation Cycle Step 4

Tell all components with to execute their

transition functions.

i

wrap_deltfunc

Low Node

+ 2

i

+ 6

i

+ 5

i

+ 4

i

+ 3

i

i

+ 10

i

+ 9

+ 11

+ 8

i

i

High Node


  • Login