classParallelDEVS

Parallel DEVS

Information

Parallel DEVS Formalism

Models in DEVS are constituted by an state (or a set of sequential states), input ports and output ports. The input and output ports are used to communicate with other models, sending and receiving events. The state of the model is modified in transitions, that occur at discrete points in time. These transitions are divided into external and internal ones. External transitions occur when a new event is received in the model. Internal transitions occur when a predefined time interval passes without receiving any event.

The main difference between Parallel DEVS and other DEVS formalisms, like Classic DEVS is that in Parallel DEVS an external transition and an internal transition can be executed at the same time. In Classic DEVS, only one of them will be executed at a time.

As described in [1], the basic formalism of a Parallel DEVS model is:
  DEVS = (X,Y,S,σext,σint,σcon,λ,ta)
with
   X is the set of input events.
   S is the set of sequential states.
   Y is the set of output events.
   σint: S -> S is the internal transition function.
   σext: Q × Xb -> S is the external transition function, where Xb is a set of bags over elements in X.
   σcon: S × Xb -> S S is the confluent transition function, subject to σcon(s,φ) = σint(s).
   λ: S -> Yb is the output function.
   ta: S -> R+0Uinf is the time advance function, where Q = {(s,e)|sS,0<e<ta(s)}. e is the elapsed time since the last transition.

Model behavior

The behavior of a Parallel DEVS model is the following:

  • When the model receives an external event (or a bag of external events, if more than one event is received at the same time), the state is updated using the external transition function. After this, the time advance function calculates the new time interval until the next internal transition.
  • If the time interval, calculated by the time advance function, passes without receiving any event, an internal transition occurs. First, the model sends an output using the current state and the output function. After that, the internal transition function updates the state. At the end, the time advance function recalculates the time interval until the next internal transition. It has to be noticed that the time interval can be any positive real number, included zero and infinity.
  • In Parallel DEVS is possible to execute an internal transition and an external transition at the same time. when this situation happens the confluent transition function is used to update the state, by executing the internal and external transitions in the desired order. It is also possible to calculate the new state without using the internal and external transition functions.

References

[1] B.P.Zeigler, H.Praehofer and T.G.Kim.Theory of Modeling and Simulation (2ed). Academic Press,2000.