Behavior Of DEVS
   HOME

TheInfoList



OR:

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 PK00 In this article, we use a sub-class of General System formalism, called
timed event system The General System has been described in Timed Event System#References, eigler76and Timed Event System#References, PK00with the standpoints to define (1) the time base, (2) the admissible input segments, (3) the system states, (4) the state ...
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 The General System has been described in Timed Event System#References, eigler76and Timed Event System#References, PK00with the standpoints to define (1) the time base, (2) the admissible input segments, (3) the system states, (4) the state ...
. 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, \mathcal= has # the external state transition \delta_:Q \times X \rightarrow S. # the total state set Q=\ where t_e denotes elapsed time since last event and \mathbb= DEVS model, \mathcal is a
Timed Event System The General System has been described in Timed Event System#References, eigler76and Timed Event System#References, PK00with the standpoints to define (1) the time base, (2) the admissible input segments, (3) the system states, (4) the state ...
\mathcal= where
* The event set Z=X \cup Y^\phi. * The state set Q=Q_A \cup Q_N where Q_N=\. * The set of initial states \,Q_0 = \. * The set of accepting states Q_A = \mathcal.Q. * The set of state trajectories \Delta \subseteq Q \times \Omega_ \times Q is defined for two different cases: q \in Q_N and q \in Q_A . For a non-accepting state q \in Q_N , there is no change together with any even segment \omega \in \Omega_ so (q,\omega,q) \in \Delta. For a total state q=(s,t_e) \in Q_A at time t \in \mathbb and an event segment \omega \in \Omega_ as follows.
If unit event segment \omega is the null event segment, i.e. \omega=\epsilon_
\, (q, \omega, (s, t_e+dt)) \in \Delta.
If unit event segment \omega is a timed event \omega=(x, t) where the event is an input event x \in X,
(q, \omega, (\delta_(q,x), 0)) \in \Delta.
If unit event segment \omega is a Event Segment#Timed event">timed event \omega=(y, t) where the event is an output event or the unobservable event y \in Y^\phi,
\begin (q, \omega,(\delta_(s), 0)) \in \Delta& \textrm ~ t_e = ta(s), y = \lambda(s)\\ (q, \omega, \bar) & \textrm. \end
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, \mathcal= has # the total state set Q=\ where t_s denotes lifespan of state s , t_e denotes elapsed time since last t_s update, and \mathbb^\infty= DEVS Q=\mathcal is a timed event system \mathcal= where
* The event set Z=X \cup Y^\phi. * The state set Q=Q_A \cup Q_N where Q_N=\. * The set of initial states \,Q_0 = \. * The set of acceptance states Q_A = \mathcal.Q. * The set of state trajectories \Delta \subseteq Q \times \Omega_ \times Q is depending on two cases: q \in Q_N and q \in Q_A . For a non-accepting state q \in Q_N , there is no changes together with any segment \omega \in \Omega_ so (q,\omega,q) \in \Delta. For a total state q=(s,t_s, t_e) \in Q_A at time t \in \mathbb and an event segment \omega \in \Omega_ as follows.
If unit event segment \omega is the null event segment, i.e. \omega=\epsilon_
(q, \omega, (s, t_s, t_e+dt)) \in \Delta.
If unit event segment \omega is a timed event \omega=(x, t) where the event is an input event x \in X,
\begin (q, \omega, (s', ta(s'), 0))\in \Delta& \textrm ~\delta_(s,t_s,t_e,x)=(s',1),\\ (q, \omega, (s', t_s, t_e))\in \Delta& \textrm ~\delta_(s,t_s,t_e,x)=(s',0). \end
If unit event segment \omega is a Event Segment#Timed event">timed event \omega=(y, t) where the event is an output event or the unobservable event y \in Y^\phi,
\begin (q, \omega, (s', ta(s'),0)) \in \Delta& \textrm ~t_e = t_s, y = \lambda(s), \delta_(s)=s',\\ (q, \omega, \bar )\in \Delta& \textrm. \end
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 Behavior of DEVS#References, [Zeigler84] in which given a total state q=(s,t_e) \in Q and
\, ta(s)=\sigma
where \sigma is the remaining time eigler84[ZPK00">PK00.html" ;"title="eigler84[ZPK00">eigler84[ZPK00 In other words, the set of partial states is indeed S=\ where S' is a state set. When a DEVS model receives an input event x \in X, View1 resets the elapsed time t_e 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 - t_e
in the external state transition function \delta_ 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) \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 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 \delta_ itself but in \Delta.


Features of View2

View2 has been introduced by Hwang and Zeigler [HZ06HZ07">Behavior of DEVS#References">[HZ06HZ07">Z06<_a>HZ07.html" ;"title="Behavior of DEVS#References">[HZ06HZ07">Behavior of DEVS#References">[HZ06HZ07in which given a total state q=(s, t_s, t_e) \in Q , the remaining time, \sigma is computed as
\, \sigma = t_s - t_e.
When a DEVS model receives an input event x \in X, View2 resets the elapsed time t_e by zero only if \delta_(q,x)=(s',1). If the DEVS model needs to ignore x in terms of the lifespan control, modellers can use \delta_(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 Z06HZ07 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 Z06HZ07].


See also

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


References

* eigler76 * eigler84 * KP00{{cite book, author = Bernard Zeigler , author2=Tag Gon Kim , author3=Herbert Praehofer, year = 2000, title = Theory of Modeling and Simulation, publisher = Academic Press, New York , isbn= 978-0-12-778455-7 , edition=second, author-link=Bernard P. Zeigler * Z06M. H. Hwang and Bernard Zeigler, ``A Reachable Graph of Finite and Deterministic DEVS Networks``, ''Proceedings of 2006 DEVS Symposium'', pp48-56, Huntsville, Alabama, USA, (Available at https://web.archive.org/web/20120726134045/http://www.acims.arizona.edu/ and http://moonho.hwang.googlepages.com/publications) * Z07M.H. Hwang and Bernard Zeigler, ``Reachability Graph of Finite & Deterministic DEVS``, IEEE Transactions on Automation Science and Engineering, Volume 6, Issue 3, 2009, pp. 454–467, http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?isnumber=5153598&arnumber=5071137&count=19&index=7 Automata (computation) Formal specification languages