Paris/mgs

From 2007.igem.org

< Paris
Revision as of 12:46, 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 [http://mgs.ibisc.univ-evry.fr/ 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

They are the only way to aggregate data in MGS. Collections are used to describe the state of a DS2. They are composed of a set of elements, the different parts of the system, together with a neighborhood relationship between its elements, representing possible interactions. For example, if collection elements are molecules, if two molecules are neighbor that means they are "close" enough to react.

There exists several types of topological collections in MGS. In this project we have used three of them:

  • square grids: this collection is typically used to specify cellular automaton based models. The elements of the collection are the cases of the square grid and the neighborhood is regular: each case has four neighbors following north, south, east and west direction. We use them to simulate the DAP diffusion in our system.
  • Delaunay triangulations: a Delaunay triangulation is procedure that, given a finite set of points localized in a euclidean space, computes the triangulation between the points that is as regular as possible. This provides a very natural neighborhood between points. As the neighborhood depends on the localization of each element of the collection, Delaunay triangulations are useful to describe dynamical structure. We use this triangulation to represent the spatial organization of cells in this model. The points used for the triangulation are the position of cells. As the cells are diffusing, dividing, dying, ... , the neighborhood is recomputed and updated. This example also consider that a spring exists between two cells that are neighbors in order to simulate the aggregation of cells in the population.
  • bags: the last collection is also called multi-sets. They are collections when each element is neighbor of all the other. They are particularly suitable for representing well-mixed chemical solutions. We used them is the Gillespie based simulation.

Transformations

Rules Application Strategies

MGS for SMB