Paris/mgs

From 2007.igem.org

< Paris
Revision as of 12:13, 25 October 2007 by Spicher (Talk | contribs)



MGS is a experimental programming language developed at the university of Evry dedicated to the modeling and the simulation of dynamical systems with a dynamical structure. We briefly present in this section the philosophy of MGS programming. A complete presentation of the language is available here.

Contents

Dynamical Systems with a Dynamical Structure

Intuitively, characterizing a dynamical system (DS) is a formal description of how a point, the state of the system, moves in the phase space, the set of all possible states of the system. This displacement is specifying a rule, the evolution function, saying where the point goes from its current position. A lot of formalisms have been developed to describe DS like differential equations, iterating of function, cellular automata, ... providing the right formalism in accordance with the discrete or continuous nature of time and space.

The state of a DS at a given t can be characterized by the elements that composed the system at t. The most of the time, interactions occurs between parts that are neighbor in this partition of the system. So the definition of the evolution function (that specifies which parts are interacting) relies on this neighborhood and often corresponds to local evolution laws.

From the biological point of view, we can note that a lot of dynamical systems exhibit a dynamical structure: not only do the values of state variables evolve, but the phase space and the definition of the evolution function do. The phase space has to be considered as an observable of the system. We call these systems Dynamical Systems with a Dynamical Structure (DS2).

An obvious example of biological DS2 is the embryo development. Initially, the state of the system is described by the chemical state of the egg (however complex is this description). After many divisions, the systems is not well described by the chemical state of one cell, but many cells. Moreover the spatial organization of the cells matter in the future (spatial) development of the organism. The number of cells, their spatial organization and the interactions continually evolve.

In terms of simulation, DS2 are very hard to model/implement cause the data structure required for the representation of the system state, can be topologically modified. MGS was developed to answer this question.

Rewriting to Model and Simulate

A rewriting system (RS) is a computational device. Computations are done by replacing a subpart of an object by another one. By iterating this process on a object, the object can be transformed in an other object with respect to a set of rewriting tool. A computational example is arithmetical expression evaluation: given an expression e (for example e=1+0), it is reduced in an other expression e' by a simplification rule like x + 0 -> x meaning that 0 is neutral for +.

This computational process is suitable for specifying the evolution of a DS2. The relation between DS2 and RS is given as follows:

  • the state of the system = a data structure (this structure fits the organization of the system)
  • the dynamics of the system = a set of rewriting rules. A rewriting rule a => b specifies a local evolution law. It is composed of two parts: the left hand side a is a pattern of interaction, and the right hand side b evaluates the products of the interaction.

MGS Features

MGS embeds these notions through the notions of topological collections, transformations and rules application strategies.

Topological Collections

Transformations

Rules Application Strategies

MGS for SMB