The Virtual Laboratory Environment
VLE is a multi-modelling and simulation platform. It is a powerful modeller and a simulator supporting the use of different formalisms for the specification of models and implementing the corresponding solvers in a unified manner.
In addition to the classical use of one single formalism for modelling and simulation, VLE integrates, i.e. couples, heterogeneous formalisms in one coherent simulation model. VLE supports the new generation of inter- disciplinary simulation models…
VLE is a powerful modeller and a simulator supporting the use of different formalisms for the specification of models and implementing the corresponding solvers in a unified manner. VLE proposes a lot of formalisms called DEVS extensions: Difference equation, Differential equation for the resolution of differential equation systems with QSS, Euler, Runge Kutta methods, Finite State Automate, High level Petri net, CellDEVS, CellQSS and a Decision making system.
Based on the DEVS theory, we ensure the compatibility of models and DEVS extensions at formal and operational levels.
As an environment
VLE provides complete libraries named VLE Foundation Libraries (VFL) and tools for models design and simulation:
- VLE is the core of the environment. The four other applications depend on VLE (that is why the name of this application is the same as the general framework). VLE implements the DEVS abstracts simulators and the extensions cited in the previous section. To perform simulations, VLE records the experimental frame generated by GVLE and then dynamically loads simulation and visualisation components of EOV and finally connect them to the DEVS-Bus. The Simulation plug-ins simulate the behaviours of the DEVS atomic models and VLE coordinates the simulation.
- GVLE is a graphical user interface. It provides tools to visually construct a hierarchy of coupled models. A modelling plug-in can be use to define and to modify the behaviour of atomic models displaying a text editor where DEVS functions can be coded. Moreover, GVLE enables the definition of experimental frames. Results of the modelling activity (structure and dynamics of the models) are stored in a particular XML format call VPZ.
- RVLE is a R-Package to build experimental frames, to edit VPZ, to launch the simulation and to get the results of the simulation within the R environment.
- PyVLE is a Python package to build experimental frames, to edit VPZ, to launch the simulation and to get the results of the simulation within the R environment.
In addition to the structure and the dynamic of models, the VPZ format stores the experimental frame. In the experimental design phase, the modeller chooses the states to observe and how to look at their evolution over time, i.e. the visualization component to use. Moreover, the modeller defines the initial conditions and the duration of the simulation. The modeller can define the variation domain for the initial parameters. Thereafter, VLE computes the number of simulations needed to achieve the experimental plan. The default behaviour is an exhaustive experimental plan (i.e. the cross product of initials conditions). Starting from this stage, tools as RVLE and [PyVLE since they provide tools to parametrize experimental designs, display results, edit VPZ.
The VLE framework is written in the standardized C++ programming language. C++ ensures the compatibility with a large number of operating systems and the interoperability with the major programming languages as Java, Fortran or Python for instance. We increase the portability of VLE using the portable libraries provided by the GNU Project and the Boost library. The choices of C++, the GNU libraries and the concepts of components have made the VLE an efficient and portable environment, easily modifiable and fast to develop.