Misplaced Pages

Behavior of DEVS

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
A major contributor to this article appears to have a close connection with its subject. It may require cleanup to comply with Misplaced Pages's content policies, particularly neutral point of view. Please discuss further on the talk page. (November 2012) (Learn how and when to remove this message)
The topic of this article may not meet Misplaced Pages's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.
Find sources: "Behavior of DEVS" – news · newspapers · books · scholar · JSTOR (November 2012) (Learn how and when to remove this message)
This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Behavior of DEVS" – news · newspapers · books · scholar · JSTOR (November 2012) (Learn how and when to remove this message)
This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (November 2012) (Learn how and when to remove this message)
(Learn how and when to remove this message)

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 . 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, M =< X , Y , S , s 0 , t a , δ e x t , δ i n t , λ > {\displaystyle {\mathcal {M}}=<X,Y,S,s_{0},ta,\delta _{ext},\delta _{int},\lambda >} has

  1. the external state transition δ e x t : Q × X S {\displaystyle \delta _{ext}:Q\times X\rightarrow S} .
  2. the total state set Q = { ( s , t e ) | s S , t e ( T [ 0 , t a ( s ) ] ) } {\displaystyle Q=\{(s,t_{e})|s\in S,t_{e}\in (\mathbb {T} \cap )\}} where t e {\displaystyle t_{e}} denotes elapsed time since last event and T = [ 0 , ) {\displaystyle \mathbb {T} =[0,\infty )} denotes the set of non-negative real numbers, and

Then the DEVS model, M {\displaystyle {\mathcal {M}}} is a Timed Event System G =< Z , Q , Q 0 , Q A , Δ > {\displaystyle {\mathcal {G}}=<Z,Q,Q_{0},Q_{A},\Delta >} where

  • The event set Z = X Y ϕ {\displaystyle Z=X\cup Y^{\phi }} .
  • The state set Q = Q A Q N {\displaystyle Q=Q_{A}\cup Q_{N}} where Q N = { s ¯ S } {\displaystyle Q_{N}=\{{\bar {s}}\not \in S\}} .
  • The set of initial states Q 0 = { ( s 0 , 0 ) } {\displaystyle \,Q_{0}=\{(s_{0},0)\}} .
  • The set of accepting states Q A = M . Q . {\displaystyle Q_{A}={\mathcal {M}}.Q.}
  • The set of state trajectories Δ Q × Ω Z , [ t l , t u ] × Q {\displaystyle \Delta \subseteq Q\times \Omega _{Z,}\times Q} is defined for two different cases: q Q N {\displaystyle q\in Q_{N}} and q Q A {\displaystyle q\in Q_{A}} . For a non-accepting state q Q N {\displaystyle q\in Q_{N}} , there is no change together with any even segment ω Ω Z , [ t l , t u ] {\displaystyle \omega \in \Omega _{Z,}} so ( q , ω , q ) Δ . {\displaystyle (q,\omega ,q)\in \Delta .}

For a total state q = ( s , t e ) Q A {\displaystyle q=(s,t_{e})\in Q_{A}} at time t T {\displaystyle t\in \mathbb {T} } and an event segment ω Ω Z , [ t l , t u ] {\displaystyle \omega \in \Omega _{Z,}} as follows.

If unit event segment ω {\displaystyle \omega } is the null event segment, i.e. ω = ϵ [ t , t + d t ] {\displaystyle \omega =\epsilon _{}}

( q , ω , ( s , t e + d t ) ) Δ . {\displaystyle \,(q,\omega ,(s,t_{e}+dt))\in \Delta .}

If unit event segment ω {\displaystyle \omega } is a timed event ω = ( x , t ) {\displaystyle \omega =(x,t)} where the event is an input event x X {\displaystyle x\in X} ,

( q , ω , ( δ e x t ( q , x ) , 0 ) ) Δ . {\displaystyle (q,\omega ,(\delta _{ext}(q,x),0))\in \Delta .}

If unit event segment ω {\displaystyle \omega } is a timed event ω = ( y , t ) {\displaystyle \omega =(y,t)} where the event is an output event or the unobservable event y Y ϕ {\displaystyle y\in Y^{\phi }} ,

{ ( q , ω , ( δ i n t ( s ) , 0 ) ) Δ if   t e = t a ( s ) , y = λ ( s ) ( q , ω , s ¯ ) otherwise . {\displaystyle {\begin{cases}(q,\omega ,(\delta _{int}(s),0))\in \Delta &{\textrm {if}}~t_{e}=ta(s),y=\lambda (s)\\(q,\omega ,{\bar {s}})&{\textrm {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, M =< X , Y , S , s 0 , t a , δ e x t , δ i n t , λ > {\displaystyle {\mathcal {M}}=<X,Y,S,s_{0},ta,\delta _{ext},\delta _{int},\lambda >} has

  1. the total state set Q = { ( s , t s , t e ) | s S , t s T , t e ( T [ 0 , t s ] ) } {\displaystyle Q=\{(s,t_{s},t_{e})|s\in S,t_{s}\in \mathbb {T} ^{\infty },t_{e}\in (\mathbb {T} \cap )\}} where t s {\displaystyle t_{s}} denotes lifespan of state s {\displaystyle s} , t e {\displaystyle t_{e}} denotes elapsed time since last t s {\displaystyle t_{s}} update, and T = [ 0 , ) { } {\displaystyle \mathbb {T} ^{\infty }=[0,\infty )\cup \{\infty \}} denotes the set of non-negative real numbers plus infinity,
  2. the external state transition is δ e x t : Q × X S × { 0 , 1 } {\displaystyle \delta _{ext}:Q\times X\rightarrow S\times \{0,1\}} .

Then the DEVS Q = D {\displaystyle Q={\mathcal {D}}} is a timed event system G =< Z , Q , Q 0 , Q A , Δ > {\displaystyle {\mathcal {G}}=<Z,Q,Q_{0},Q_{A},\Delta >} where

  • The event set Z = X Y ϕ {\displaystyle Z=X\cup Y^{\phi }} .
  • The state set Q = Q A Q N {\displaystyle Q=Q_{A}\cup Q_{N}} where Q N = { s ¯ S } {\displaystyle Q_{N}=\{{\bar {s}}\not \in S\}} .
  • The set of initial states Q 0 = { ( s 0 , t a ( s 0 ) , 0 ) } {\displaystyle \,Q_{0}=\{(s_{0},ta(s_{0}),0)\}} .
  • The set of acceptance states Q A = M . Q {\displaystyle Q_{A}={\mathcal {M}}.Q} .
  • The set of state trajectories Δ Q × Ω Z , [ t l , t u ] × Q {\displaystyle \Delta \subseteq Q\times \Omega _{Z,}\times Q} is depending on two cases: q Q N {\displaystyle q\in Q_{N}} and q Q A {\displaystyle q\in Q_{A}} . For a non-accepting state q Q N {\displaystyle q\in Q_{N}} , there is no changes together with any segment ω Ω Z , [ t l , t u ] {\displaystyle \omega \in \Omega _{Z,}} so ( q , ω , q ) Δ . {\displaystyle (q,\omega ,q)\in \Delta .}

For a total state q = ( s , t s , t e ) Q A {\displaystyle q=(s,t_{s},t_{e})\in Q_{A}} at time t T {\displaystyle t\in \mathbb {T} } and an event segment ω Ω Z , [ t l , t u ] {\displaystyle \omega \in \Omega _{Z,}} as follows.

If unit event segment ω {\displaystyle \omega } is the null event segment, i.e. ω = ϵ [ t , t + d t ] {\displaystyle \omega =\epsilon _{}}

( q , ω , ( s , t s , t e + d t ) ) Δ . {\displaystyle (q,\omega ,(s,t_{s},t_{e}+dt))\in \Delta .}

If unit event segment ω {\displaystyle \omega } is a timed event ω = ( x , t ) {\displaystyle \omega =(x,t)} where the event is an input event x X {\displaystyle x\in X} ,

{ ( q , ω , ( s , t a ( s ) , 0 ) ) Δ if   δ e x t ( s , t s , t e , x ) = ( s , 1 ) , ( q , ω , ( s , t s , t e ) ) Δ otherwise,i.e.   δ e x t ( s , t s , t e , x ) = ( s , 0 ) . {\displaystyle {\begin{cases}(q,\omega ,(s',ta(s'),0))\in \Delta &{\textrm {if}}~\delta _{ext}(s,t_{s},t_{e},x)=(s',1),\\(q,\omega ,(s',t_{s},t_{e}))\in \Delta &{\textrm {otherwise,i.e.}}~\delta _{ext}(s,t_{s},t_{e},x)=(s',0).\end{cases}}}

If unit event segment ω {\displaystyle \omega } is a timed event ω = ( y , t ) {\displaystyle \omega =(y,t)} where the event is an output event or the unobservable event y Y ϕ {\displaystyle y\in Y^{\phi }} ,

{ ( q , ω , ( s , t a ( s ) , 0 ) ) Δ if   t e = t s , y = λ ( s ) , δ i n t ( s ) = s , ( q , ω , s ¯ ) Δ otherwise . {\displaystyle {\begin{cases}(q,\omega ,(s',ta(s'),0))\in \Delta &{\textrm {if}}~t_{e}=t_{s},y=\lambda (s),\delta _{int}(s)=s',\\(q,\omega ,{\bar {s}})\in \Delta &{\textrm {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 in which given a total state q = ( s , t e ) Q {\displaystyle q=(s,t_{e})\in Q} and

t a ( s ) = σ {\displaystyle \,ta(s)=\sigma }

where σ {\displaystyle \sigma } is the remaining time . In other words, the set of partial states is indeed S = { ( d , σ ) | d S , σ T } {\displaystyle S=\{(d,\sigma )|d\in S',\sigma \in \mathbb {T} ^{\infty }\}} where S {\displaystyle S'} is a state set.

When a DEVS model receives an input event x X {\displaystyle x\in X} , View1 resets the elapsed time t e {\displaystyle t_{e}} by zero, if the DEVS model needs to ignore x {\displaystyle x} in terms of the lifespan control, modellers have to update the remaining time

σ = σ t e {\displaystyle \,\sigma =\sigma -t_{e}}

in the external state transition function δ e x t {\displaystyle \delta _{ext}} that is the responsibility of the modellers.

Since the number of possible values of σ {\displaystyle \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 , σ ) S {\displaystyle s=(d,\sigma )\in 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 t e = 0 {\displaystyle t_{e}=0} every time any input event arrives into the DEVS model. But disadvantage might be modelers of DEVS should know how to manage σ {\displaystyle \sigma } as above, which is not explicitly explained in δ e x t {\displaystyle \delta _{ext}} itself but in Δ {\displaystyle \Delta } .

Features of View2

View2 has been introduced by Hwang and Zeigler in which given a total state q = ( s , t s , t e ) Q {\displaystyle q=(s,t_{s},t_{e})\in Q} , the remaining time, σ {\displaystyle \sigma } is computed as

σ = t s t e . {\displaystyle \,\sigma =t_{s}-t_{e}.}

When a DEVS model receives an input event x X {\displaystyle x\in X} , View2 resets the elapsed time t e {\displaystyle t_{e}} by zero only if δ e x t ( q , x ) = ( s , 1 ) {\displaystyle \delta _{ext}(q,x)=(s',1)} . If the DEVS model needs to ignore x {\displaystyle x} in terms of the lifespan control, modellers can use δ e x t ( q , x ) = ( s , 0 ) {\displaystyle \delta _{ext}(q,x)=(s',0)} .

Unlike View1, since the remaining time σ {\displaystyle \sigma } is not component of S {\displaystyle S} in nature, if the number of states, i.e. | S | {\displaystyle |S|} is finite, we can draw a finite-vertex (as well as edge) state-transition diagram . 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 .

See also

References

Categories: