Behavior of DEVS

From HandWiki

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, =<X,Y,S,s0,ta,δext,δint,λ> has

  1. the external state transition δext:Q×XS.
  2. the total state set Q={(s,te)|sS,te(𝕋[0,ta(s)])} where te denotes elapsed time since last event and 𝕋=[0,) denotes the set of non-negative real numbers, and

Then the DEVS model, is a Timed Event System 𝒢=<Z,Q,Q0,QA,Δ> where

  • The event set Z=XYϕ.
  • The state set Q=QAQN where QN={s¯∉S}.
  • The set of initial states Q0={(s0,0)}.
  • The set of accepting states QA=.Q.
  • The set of state trajectories ΔQ×ΩZ,[tl,tu]×Q is defined for two different cases: qQN and qQA. For a non-accepting state qQN, there is no change together with any even segment ωΩZ,[tl,tu] so (q,ω,q)Δ.

For a total state q=(s,te)QA at time t𝕋 and an event segment ωΩZ,[tl,tu] as follows.

If unit event segment ω is the null event segment, i.e. ω=ϵ[t,t+dt]

(q,ω,(s,te+dt))Δ.

If unit event segment ω is a timed event ω=(x,t) where the event is an input event xX,

(q,ω,(δext(q,x),0))Δ.

If unit event segment ω is a timed event ω=(y,t) where the event is an output event or the unobservable event yYϕ,

{(q,ω,(δint(s),0))Δifte=ta(s),y=λ(s)(q,ω,s¯)otherwise.

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, =<X,Y,S,s0,ta,δext,δint,λ> has

  1. the total state set Q={(s,ts,te)|sS,ts𝕋,te(𝕋[0,ts])} where ts denotes lifespan of state s, te denotes elapsed time since last tsupdate, and 𝕋=[0,){} denotes the set of non-negative real numbers plus infinity,
  2. the external state transition is δext:Q×XS×{0,1}.

Then the DEVS Q=𝒟 is a timed event system 𝒢=<Z,Q,Q0,QA,Δ> where

  • The event set Z=XYϕ.
  • The state set Q=QAQN where QN={s¯∉S}.
  • The set of initial statesQ0={(s0,ta(s0),0)}.
  • The set of acceptance states QA=.Q.
  • The set of state trajectories ΔQ×ΩZ,[tl,tu]×Q is depending on two cases: qQN and qQA. For a non-accepting state qQN, there is no changes together with any segment ωΩZ,[tl,tu] so (q,ω,q)Δ.

For a total state q=(s,ts,te)QA at time t𝕋 and an event segment ωΩZ,[tl,tu] as follows.

If unit event segment ω is the null event segment, i.e. ω=ϵ[t,t+dt]

(q,ω,(s,ts,te+dt))Δ.

If unit event segment ω is a timed event ω=(x,t) where the event is an input event xX,

{(q,ω,(s,ta(s),0))Δifδext(s,ts,te,x)=(s,1),(q,ω,(s,ts,te))Δotherwise,i.e.δext(s,ts,te,x)=(s,0).

If unit event segment ω is a timed event ω=(y,t) where the event is an output event or the unobservable event yYϕ,

{(q,ω,(s,ta(s),0))Δifte=ts,y=λ(s),δint(s)=s,(q,ω,s¯)Δotherwise.

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)Q

and

ta(s)=σ

where σ is the remaining time [Zeigler84] [ZPK00]. In other words, the set of partial states is indeed S={(d,σ)|dS,σ𝕋} where S is a state set.

When a DEVS model receives an input event xX, 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

σ=σte

in the external state transition function δext that is the responsibility of the modellers.

Since the number of possible values of σ 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,σ)S 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 σ as above, which is not explicitly explained in δext itself but in Δ.

Features of View2

View2 has been introduced by Hwang and Zeigler[HZ06][HZ07] in which given a total state q=(s,ts,te)Q, the remaining time, σ is computed as

σ=tste.

When a DEVS model receives an input event xX, View2 resets the elapsed time te by zero only if δext(q,x)=(s,1). If the DEVS model needs to ignore x in terms of the lifespan control, modellers can use δext(q,x)=(s,0).

Unlike View1, since the remaining time σ 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

  • DEVS
  • Behavior of Coupled DEVS
  • Simulation Algorithms for Atomic DEVS
  • Simulation Algorithms for Coupled DEVS

References