DEVS

DEVS abbreviating Discrete Event System Specification is a modular and hierarchical formalism for modeling and analyzing general systems that can be discrete event systems which might be described by state transition tables, and continuous state systems which might be described by differential equations, and hybrid continuous state and discrete event systems. DEVS is a timed event system.
History.
DEVS abbreviating Discrete Event System Specification is a modular and hierarchical formalism for modeling and analyzing general systems that can be discrete event systems which might be described by state transition tables, and continuous state systems which might be described by differential equations, and hybrid ...
DEVS is a formalism for modeling and analysis of discrete event systems (DESs). The DEVS formalism was invented by Bernard P. Zeigler, who is emeritus professor at the University of Arizona. DEVS was introduced to the public in Zeigler's first book, "Theory of Modeling and Simulation", in 1976, while Zeigler was an associate professor at University of Michigan. DEVS can be seen as an extension of the Moore machine formalism, which is a finite state automaton where the outputs are determined by the current state alone (and do not depend directly on the input). The extension was done by 
Since the lifespan of each state is a real number (more precisely, non-negative real) or infinity, it is distinguished from discrete time systems, sequential machines, and Moore machines, in which time is determined by a tick time multiplied by non-negative integers. Moreover, the lifespan can be a random variable; for example the lifespan of a given state can be distributed exponentially or uniformly. The state transition and output functions of DEVS can also be stochastic.
Zeigler proposed a hierarchical algorithm for DEVS model simulation in 1984 [Zeigler84] which was published in "Simulation" journal in 1987. Since then, many extended formalism from DEVS have been introduced with their own purposes: DESS/DEVS for combined continuous and discrete event systems, P-DEVS for parallel DESs, G-DEVS for piecewise continuous state trajectory modeling of DESs, RT-DEVS for realtime DESs, Cell-DEVS for cellular DESs, Fuzzy-DEVS for fuzzy DESs, Dynamic Structuring DEVS for DESs changing their coupling structures dynamically, and so on. In addition to its extensions, there are some subclasses such as SP-DEVS and FD-DEVS have been researched for achieving decidability of system properties.
Due to the modular and hierarchical modeling views, as well as its simulation-based analysis capability, the DEVS formalism and its variations have been used in many application of engineering (such as hardware design, hardware/software codesign, communications systems, manufacturing systems) and science (such as biology, and sociology)
Formalism.
DEVS defines system behavior as well as system structure. System behavior in DEVS formalism is described using input and output events as well as states. For example, for the ping-pong player of Fig. 1, the input event is "?receive", and the output event is "!send". Each player, "A", "B", has its states: "Send" and "Wait". "Send" state takes 0.1 seconds to send back the ball that is the output event "!send", while the "Wait" state lasts until the player receives the ball that is the input event "?receive".
The structure of ping-pong game is to connect two players: Player "A" 's output event "!send" is transmitted to Player "B" 's input event "?receive", and vice versa.
In the classic DEVS formalism, "Atomic DEVS" captures the system behavior, while "Coupled DEVS" describes the structure of system.
The following formal definition is for Classic DEVS [ZKP00]. In this article, we will use the time base, formula_1 that is the set of non-negative real numbers; the extended time base,formula_2 that is the set of non-negative real numbers plus infinity.
Atomic DEVS.
An atomic DEVS model is defined as a 7-tuple 
 formula_3 
where 
The atomic DEVS model for player A of Fig. 1 is given 
Player=formula_16 
such that 
formula_17
Both Player A and Player B are atomic DEVS models.
Behavior of Atomic DEVS.
Simply speaking, there are two cases that an atomic DEVS model formula_18 can change its state formula_19: (1) when an external input formula_20 comes into the system formula_18; (2) when the elapsed time formula_22 reaches the lifespan of formula_23 which is defined by formula_24. (At the same time of (2), formula_18 generates an output formula_26 which is defined by formula_27.) .
For formal behavior description of given an Atomic DEVS model, refer to the page Behavior of DEVS. Computer algorithms to implement the behavior of a given Atomic DEVS model are available at Simulation Algorithms for Atomic DEVS.
Coupled DEVS.
The coupled DEVS defines which sub-components belong to it and how they are connected with each other. A coupled DEVS model is defined as an 8-tuple
 formula_28 
where
The ping-pong game of Fig. 1 can be modeled as a coupled DEVS model formula_38 where formula_39;formula_40;formula_41; formula_42 is described as above; formula_43; formula_44; and formula_45.
Behavior of Coupled DEVS.
Simply speaking, like the behavior of the atomic DEVS class, a coupled DEVS model formula_46 changes its components' states (1) when an external event formula_47 comes into formula_46; (2) when one of components formula_49 where formula_50 executes its internal state transition and generates its output formula_51. In both cases (1) and (2), a triggering event is transmitted to all influencees which are defined by coupling sets formula_52 and formula_53.
For formal definition of behavior of the coupled DEVS, you can refer to Behavior of Coupled DEVS. Computer algorithms to implement the behavior of a given coupled DEVS mode are available at Simulation Algorithms for Coupled DEVS.
Analysis Methods.
Simulation for Discrete Event Systems.
The simulation algorithm of DEVS models considers two issues: time synchronization and message propagation. "Time synchronization" of DEVS is to control all models to have the identical current time. However, for an efficient execution, the algorithm makes the current time jump to the most urgent time when an event is scheduled to execute its internal state transition as well as its output generation. "Message propagation" is to transmit a triggering message which can be either an input or output event along the associated couplings which are defined in a coupled DEVS model. For more detailed information, the reader can refer to Simulation Algorithms for Atomic DEVS and Simulation Algorithms for Coupled DEVS.
Simulation for Continuous State Systems.
By introducing a quantization method which abstracts a continuous segment as a piecewise const segment, DEVS can simulate behaviors of continuous state systems which are described by networks of differential algebraic equations. This research has been initiated by Zeigler in 1990s and many properties have been clarified by Prof. Kofman in 2000s and Dr. Nutaro. In 2006, Prof. Cellier who is the author of "Continuous System Modeling"[Cellier91], and Prof. Kofman wrote a text book, "Continuous System Simulation"[CK06] in which Chapters 11 and 12 cover how DEVS simulates continuous state systems. Dr. Nutaro's book [Nutaro10], covers the discrete event simulation of continuous state systems too.
Verification for Discrete Event Systems.
As an alternative analysis method against the sampling-based simulation method, an exhaustive generating behavior approach, generally called "verification" has been applied for analysis of DEVS models. It is proven that infinite states of a given DEVS model (especially a coupled DEVS model ) can be abstracted by behaviorally isomorphic finite structure, called a "reachability graph" when the given DEVS model is a sub-class of DEVS such as Schedule-Preserving DEVS (SP-DEVS), Finite & Deterministic DEVS (FD-DEVS) [HZ09], and Finite & Real-time DEVS (FRT-DEVS) [Hwang12]. As a result, based on the rechability graph, (1) dead-lock and live-lock freeness as qualitative properties are decidable with SP-DEVS [Hwang05], FD-DEVS [HZ06], and FRT-DEVS [Hwang12]; and (2) min/max processing time bounds as a quantitative property are decidable with SP-DEVS so far by 2012.
Variations of DEVS.
Extensions (Superclassing).
Numerous extensions of the classic DEVS formalism have been developed in the last decades.
Among them formalisms which allow to have changing model structures while the simulation time evolves.
G-DEVS [Giambiasi01][Zacharewicz08], Parallel DEVS, Dynamic Structuring DEVS, Cell-DEVS [Wainer09], dynDEVS, Fuzzy-DEVS, GK-DEVS, ml-DEVS, Symbolic DEVS, Real-Time DEVS, rho-DEVS
Restrictions (Subclassing).
There are some sub-classes known as Schedule-Preserving DEVS (SP-DEVS) and Finite and Deterministic DEVS (FD-DEVS) which were designated to support verification analysis.
SP-DEVS and FD-DEVS whose expressiveness are "E"(SP-DEVS) formula_54 "E"(FD-DEVS)formula_54 "E"(DEVS) where "E"("formalism") denotes the expressiveness of "formalism".