Roadmap

Versions
The VLE Environment proposes a simple rule for its versions numbers. We use three numbers which represent the major, the minor version and the patches.


 * For example, for vle-0.8.5:
 * 0 : major version, major improvement of VLE.
 * 8 : minor version, new features, bug fix etc.
 * 5 : patch, the patches applied to the current version.

RVLE
but do not launch simulation. to set default initial conditions, experiment parameters and output plugin
 * Modifications of the vpz via the function "run" are not persistent any more
 * To make persistent modifications use instead the new function "setDefault" which has the same signature as "run"
 * Modifications of output plugins are now available
 * Read and write acces to config are deprecated, instead use the generic function "setDefault"

VLE 1.1 development branch
Available on the master branch:

Goals

 * API / ABI stable
 * To simplify the development of VLE, we focus our development towards stable API and ABI.
 * All public API will use the Pimpl Pimpl (pointor to implentation) idiom.

Currently available
In VFL (VLE Library Foundation), current changes are:
 * libvleutils:
 * Rewrite the plug-in system.
 * libvledevs, libvleutils:
 * Remove the tag model for dynamics plug-ins.
 * libvlegeometry:
 * Removed.

Todo

 * libvledevs:
 * Use boost::graph to replace the graph::AtomicModel, graph::CoupledModel in devs::Simulator and devs::Coordinator.
 * libvlevpz:
 * Add an attribute version in dynamic and output plug-ins to ensure the version of the plug-in to load.
 * Use boost::graph, and the source code of graph::AtomicModel and graph::CoupledModel in libvlevpz to remove the vpz::AtomicModels.
 * Add dynamics, conditions and observables to graph::AtomicModel to remove the vpz::AtomicModels.
 * libvlegraph:
 * To be removed.
 * Move to the libvlevpz and remove from the libvledevs.
 * libvleextension:
 * To be removed.
 * All extension will be move into packages.

Changes

 * Simulators (devs::Dynamics or devs::Executive)
 * Now, the dynamics plug-ins need to be installed into the plugins/simulators directory instead of the lib directory. The lib directory is used for shared libraries.


 * Remote repository
 * To upload and use correctly the remote repository, you need to add a Description.txt file at the root of your package. The syntax of this file is:

version 2.x

 * A new DSDE kernel
 * An pessimist and optimistic kernel for cluster architecture.
 * Add clone of simulation capabilities.