VLE 2.0

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.


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. We also introduced an observation framework in the DEVS kernel simulator of VLE.

VLE is a C++ implementation of a DEVS kernel. The C++ API documentations are daily generated from the source code.

With VLE, a model or an extension is a system plug- in (dll or so) which is obtained from compiling a C++ code. Thus, it is necessary to know the part of the VLE's C++ API corresponding to the model or extension. Since VLE2, it is possible to develop VLE and GVLE with the Qt Creator IDE.

  • Packages

    VLE packages are standard Unix tar archives optionally compressed with gzip or bzip2 which can store the source code of the models, documentation and data. The accepted program for handling these packages are the command line interface of VLE, GVLE, RVLE and PyVLE.

  • Extensions

    VLE provides several packages to simplify the development of atomic models. These packages are called extensions and provides behaviour like: finite state automaton, ordinary differential equation solver, Petri net, planning and decision making... Some extensions also provide graphical interfaces and C++ code generators.

  • Distributions

    Package distributions are sets of VLE packages available through http. You can either use a distribution which is already available or provide your own distribution. VLE offers the possibility to automatically download and install packages from distributions. The modelling extension and tools developed by the VLE development team are thus provided into the VLE package distribution.

  • Programs and ports : VLE provides the VFL (VLE Foundation Library). This library is used to develop:

    • VLE: the command line interface. It can be used in particular for simulating models, installing packages.
    • GVLE: the graphical user interface. It is required for developing models.
    • MVLE: a program to run simulations in a parallel way; it requires a MPI library.
    • RVLE: the R package. This port allows to use VLE Into a R session.
    • PYVLE: the python package. This port allows to use VLE Into a python session.

Other VLE 1.1, 2.0 and 3.0