# Devs

## Extensions

VLE provides several vle::devs::Dynamics subclass to simplify the development of atomic models. These sub-classes provides behavior like: finite state automaton, ordinary differential equation solver, Petrinet, planning and decision making etc. Some extensions also provide graphical interfaces and C ++ code generators. Extensions available vle.output provides output plug-ins. These plugins are in charge of recording the outputs of simulations in files (using a csv, a R data or gnuplot format).

## DEVS

DEVS is a recognised formalism for specifying complex discrete or continuous systems. This formalism is represented by a network of atomic and coupled models, interacting and competing over time. Atomic model DEVS defines an atomic model as a set of input and output ports, states and state transition functions. $M = \left\langle X,Y, S, \delta_{\text{int}}, \delta_{\text{ext}}, \delta_{\text{con}},\lambda, \tau \right\rangle$ Where: $$X$$ is the set of all input values $$Y$$ is the set of all output values $$S$$ is the set of all sequential states $$\tau: S \to \mathbb{R}_0^+$$ is the time advance function $$Q = \{(s,e) | s \in S, 0 \leq e \leq \tau(s)\}$$, $$Q$$ is the set of total states where: $$e$$ is the time since the last transition $$\delta_{\mathit{int}}: S \to S$$ is the internal transition function $$\delta_{\mathit{ext}}: Q \times X^b \to S$$ is the external transition function $$X^b$$ is the set of values in $$X$$ built at $$t$$ $$\delta_{con}: S \times X^b \to S$$ is the confluent function subject to $$\delta_{con}(s, \emptyset) = \delta_{\mathit{int}}(s)$$ $$\lambda: S \to Y$$ is the output function If no external event occurs, the system will stay in state $$s$$ for $$\tau(s)$$ time.

## Documentation

Keywords: devs, kernel, packages, extensions, distributions. What's DEVS DEVS, Discrete Event System Specification is a modular and hierarchic formalism for modelling, simulation and study of complex systems. These system can be discrete event systems describe by state transition functions or continuous systems describe by differential equation for instance or hybrid systems. VLE In VLE, we have implemented the DSDE abstract simulator developed by Fernando J. Barros which enables parallelization of atomic models and dynamic structure changes during simulation.

## Extensions

VLE provides several vle::devs::Dynamics subclass to simplify the development of atomic models. These sub-classes provides behavior like: finite state automaton, ordinary differential equation solver, Petrinet, planning and decision making etc. Some extensions also provide graphical interfaces and C ++ code generators. Extensions available vle.output provides output plug-ins. These plugins are in charge of recording the outputs of simulations in files (using a csv, a R data or gnuplot format).