WP3 Details

De MARMOTE

The purpose of this work package is to provide to the general scientific user a “modeling envi- ronment” which should give them access to algorithms devised by specialists. This environment will be conceived as open as possible, so that users typically will be able to use their favorite modeling software (Matlab (R), Mathematica (R), Maple (R), or direct C, C++, Python, Java pro- gramming). Symmetrically, contributors of algorithms should have minimal constraints. Within the time- and resource-frame of this project, realizing a fully functional platform is not realistic. Instead, the work will concentrate on setting up a solid architecture based on modern participa- tive software development concepts. It will be populated with the minimum user input interfaces (description languages, configuration files, basic graphical interfaces), with the basic solution al- gorithms taken “from the book” (e.g. Tijms [89], Latouche and Ramaswami [77]), and with the algorithms conceived in other work packages of the present project. It is not the purpose of this project to provide a fully packaged, commercial-grade software. The success of the approach should be validated by the adoption of the software by scientists: from WP 5 applications, and others if possible. A strong emphasis of this project is on the exploitation of “qualitative” properties of the mod- els in order to facilitate the analysis, be it by Monte Carlo simulation (see WP 1 and WP 2) or by numerical algorithms (WP 4). Such qualitative properties include properties of state-to-state transition rules (monotonicity, convexity, submodularity...), as well as structural properties of the transition graph/matrix (quasi-birth-death, reversibility, symmetries...). It is therefore essential that the environment be capable to identify such properties in a formal description of the model. This work package will be realized by software engineers, starting from specifications provided by the members of the whole project (WP 0) early in the course of the project. We can nevertheless identify at this point the following sub-tasks devoted to the development staff:

  1. Set up the project’s engineering method; gather functionality needs from potential users (see the “Application” work package WP5) and initial contributors; design software architecture, maintain documentation;
  2. Develop/collect ontologies for: classes of models, mathematical objects, metrics, methods, results (data representations);
  3. Develop high-level modeling languages for the families of models under consideration: Markov and semi-Markov models, both in discrete and continuous time; Markov-additive processes (see WP 4) and their controlled versions.
  4. Develop a classification tool, capable to recognize from the formal specification large families of models (e.g. for Markov models: birth-death, quasi-birth-death, reversible, etc.)
  5. Develop software modules for new algorithmic techniques [13] and basic and “well-known” algorithms (from bibliographical sources under the guidance of research staff); adapt/embed software already developed by the participants to the project. In particular, the package Xborne ([13],[25]) developed by UVSQ/PRiSM will be contributed to the environment.
  6. Develop classical algorithms dedicated to the computation of the optimal policy in a MDP (and in a SMDP). These will be implemented based on the usual value iteration and policy iteration and extensions of them.
  7. Develop several classical methods to compute Markov Games Equilibria, taken from the literature on competitive MDPs or using “cobweb” approaches. Most of them are a mixture of dynamic programming and Nash Equilibria computations.
  8. Perform porting tasks: adapting algorithms to the different target software environments.
  9. Set up the web site of the project, allowing in particular a web access to the tools developed.

The environment OpenAlea [47], devoted to Plant Modeling, will be a source of inspiration since it shares many operational objectives with the environment we envision. This is a component-oriented platform embedding contributed software modules written in C or C++ inside a common Python environment. The modeling language itself is interpreted and allows a dynamic interaction with the user. The environment allows the specification of a workflow for the analysis of models. Actually, OpenAlea does include Markovian modeling modules, and the possibility to interface both environments will be investigated from the beginning of the project.

References

  • [13] A. Bušić and J.-M. Fourneau. Iterative component-wise bounds for the steady-state distribution of a Markov chain. Numerical Linear Algebra with Applications, 18(6):1031–1049, 2011.
  • [25] J.-M. Fourneau, M. Le Coz, N. Pekergin, and F. Quessette. An open tool to compute stochastic bounds on steady-state distributions and rewards. In 11th International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS 2003), Orlando, FL. IEEE Computer Society, 2003.
  • [47] OpenAlea, software enviroment for plant modeling. [1].
  • [77] G. Latouche and V. Ramaswami. Introduction to Matrix Analytic Methods in Stochastic Modeling. ASA-SIAM, 1999.
  • [89] H.C. Tijms. Stochastic Modeling and Analysis – A Computational Approach. J. Wiley & Sons, 1986.