Behavior of DEVS explained

The behavior of a given DEVS model is a set of sequences of timed events including null events, called event segments, which make the model move from one state to another within a set of legal states. To define it this way, the concept of a set of illegal state as well a set of legal states needs to be introduced.

In addition, since the behavior of a given DEVS model needs to define how the state transition change both when time is passed by and when an event occurs, it has been described by a much general formalism, called general system [ZPK00]. In this article, we use a sub-class of General System formalism, called timed event system instead.

Depending on how the total state and the external state transition function of a DEVS model are defined, there are two ways to define the behavior of a DEVS model using Timed Event System.Since the behavior of a coupled DEVS model is defined as an atomic DEVS model, the behavior of coupled DEVS class is also defined by timed event system.

View 1: total states = states * elapsed times

Suppose that a DEVS model,

l{M}=<X,Y,S,s0,ta,\deltaext,\deltaint,λ>

has
  1. the external state transition

\deltaext:Q x XS

.
  1. the total state set

Q=\{(s,te)|s\inS,te\in(T\cap[0,ta(s)])\}

where

te

denotes elapsed time since last event and

T=[0,infty)

denotes the set of non-negative real numbers, and

Then the DEVS model,

l{M}

is a Timed Event System

l{G}=<Z,Q,Q0,QA,\Delta>

where

Z=X\cupY\phi

.

Q=QA\cupQN

where

QN=\{\bar{s}\not\inS\}

.

Q0=\{(s0,0)\}

.

QA=l{M}.Q.

\Delta\subseteqQ x

\Omega
Z,[tl,tu]

x Q

is defined for two different cases:

q\inQN

and

q\inQA

. For a non-accepting state

q\inQN

, there is no change together with any even segment

\omega\in

\Omega
Z,[tl,tu]
so

(q,\omega,q)\in\Delta.

For a total state

q=(s,te)\inQA

at time

t\inT

and an event segment

\omega\in

\Omega
Z,[tl,tu]
as follows.

\omega

is the null event segment, i.e.

\omega=\epsilon[t,

(q,\omega,(s,te+dt))\in\Delta.

\omega

is a timed event

\omega=(x,t)

where the event is an input event

x\inX

,

(q,\omega,(\deltaext(q,x),0))\in\Delta.

\omega

is a timed event

\omega=(y,t)

where the event is an output event or the unobservable event

y\inY\phi

,

\begin{cases} (q,\omega,(\deltaint(s),0))\in\Delta&rm{if}~te=ta(s),y=λ(s)\\ (q,\omega,\bar{s})&rm{otherwise}. \end{cases}

Computer algorithms to simulate this view of behavior are available at Simulation Algorithms for Atomic DEVS.

View 2: total states = states * lifespans * elapsed times

Suppose that a DEVS model,

l{M}=<X,Y,S,s0,ta,\deltaext,\deltaint,λ>

has
  1. the total state set

Q=\{(s,ts,te)|s\inS,ts\inTinfty,te\in(T\cap[0,ts])\}

where

ts

denotes lifespan of state

s

,

te

denotes elapsed time since last

ts

update, and

Tinfty=[0,infty)\cup\{infty\}

denotes the set of non-negative real numbers plus infinity,
  1. the external state transition is

\deltaext:Q x XS x \{0,1\}

.

Q=l{D}

is a timed event system

l{G}=<Z,Q,Q0,QA,\Delta>

where

Z=X\cupY\phi

.

Q=QA\cupQN

where

QN=\{\bar{s}\not\inS\}

.

Q0=\{(s0,ta(s0),0)\}

.

QA=l{M}.Q

.

\Delta\subseteqQ x

\Omega
Z,[tl,tu]

x Q

is depending on two cases:

q\inQN

and

q\inQA

. For a non-accepting state

q\inQN

, there is no changes together with any segment

\omega\in

\Omega
Z,[tl,tu]
so

(q,\omega,q)\in\Delta.

For a total state

q=(s,ts,te)\inQA

at time

t\inT

and an event segment

\omega\in

\Omega
Z,[tl,tu]
as follows.

\omega

is the null event segment, i.e.

\omega=\epsilon[t,

(q,\omega,(s,ts,te+dt))\in\Delta.

\omega

is a timed event

\omega=(x,t)

where the event is an input event

x\inX

,

\begin{cases} (q,\omega,(s',ta(s'),0))\in\Delta&rm{if}~\deltaext(s,ts,te,x)=(s',1),\\ (q,\omega,(s',ts,te))\in\Delta&rm{otherwise,i.e.}~\deltaext(s,ts,te,x)=(s',0).\end{cases}

\omega

is a timed event

\omega=(y,t)

where the event is an output event or the unobservable event

y\inY\phi

,

\begin{cases} (q,\omega,(s',ta(s'),0))\in\Delta&rm{if}~te=ts,y=λ(s),\deltaint(s)=s',\\ (q,\omega,\bar{s})\in\Delta&rm{otherwise}. \end{cases}

Computer algorithms to simulate this view of behavior are available at Simulation Algorithms for Atomic DEVS.

Comparison of View1 and View2

Features of View1

View1 has been introduced by Zeigler [Zeigler84] in which given a total state

q=(s,te)\inQ

and

ta(s)=\sigma

where

\sigma

is the remaining time [Zeigler84] [ZPK00]. In other words, the set of partial states is indeed

S=\{(d,\sigma)|d\inS',\sigma\inTinfty\}

where

S'

is a state set.

When a DEVS model receives an input event

x\inX

, View1 resets the elapsed time

te

by zero, if the DEVS model needs to ignore

x

in terms of the lifespan control, modellers have to update the remaining time

\sigma=\sigma-te

in the external state transition function

\deltaext

that is the responsibility of the modellers.

Since the number of possible values of

\sigma

is the same as the number of possible input events coming to the DEVS model, that is unlimited. As a result, the number of states

s=(d,\sigma)\inS

is also unlimited that is the reason why View2 has been proposed.

If we don't care the finite-vertex reachability graph of a DEVS model, View1 has an advantage of simplicity for treating the elapsed time

te=0

every time any input event arrives into the DEVS model. But disadvantage might be modelers of DEVS should know how to manage

\sigma

as above, which is not explicitly explained in

\deltaext

itself but in

\Delta

.

Features of View2

View2 has been introduced by Hwang and Zeigler[HZ06][HZ07] in which given a total state

q=(s,ts,te)\inQ

, the remaining time,

\sigma

is computed as

\sigma=ts-te.

When a DEVS model receives an input event

x\inX

, View2 resets the elapsed time

te

by zero only if

\deltaext(q,x)=(s',1)

. If the DEVS model needs to ignore

x

in terms of the lifespan control, modellers can use

\deltaext(q,x)=(s',0)

. Unlike View1, since the remaining time

\sigma

is not component of

S

in nature, if the number of states, i.e.

|S|

is finite, we can draw a finite-vertex (as well as edge) state-transition diagram [HZ06][HZ07]. As a result, we can abstract behavior of such a DEVS-class network, for example SP-DEVS and FD-DEVS, as a finite-vertex graph, called reachability graph [HZ06][HZ07].

See also

References