|
the MGS home page
|
MGS is a research project in the
IBISC (Laboratory for
Computer Science, Integrativce Biology and Complex Systems) of the University of Evry, CNRS and Genopole. Despite the acronym, MGS is not related to ...
The goal is to investigate the concepts and tools (programming
languages) needed for the modelling and the simulation of dynamical
systems exhibiting a dynamical structure. The results are validated by
the design and development of an experimental declarative
programming language and of some applications (mainly in the area of
biological systems modelling). Our approach is based on the use of
topological notions to extend the idea of rewriting systems.
And we want to have fun!
Do not hesitate to contribute and participate to these conferences: the topics are related to research done in the MGS project and the MGS team is involved in their organization or have contributed .
- What are the theoretical tools most useful for understanding biological systems? IHES, 12-15 November 2007. Slides of the presentation (2.6 Mb, movies are missing in the .pdf) by JL Giavitto.
- iGEM'07 Paris team MGS is used to model the project of the Paris team in the iGEM 2007 competition. Antoine Spicher is one of the advisor of the french team. The project is targeted to the construction of a multicellular bacterial organism made of two co-existing cell types. Brainstorming resulted in proposing a system made of so-called soma cells, that produce a metabolite (DAP), and will not be able to divide, and of so-called germ cells that are able to grow, but only in presence of (sufficient quantities of) DAP, and are able to differentiate into soma cells. Informal reasoning indicate that this design should be correct, in the sense that it leads to an exponential growth of the two coexisting cell types. However, before actually constructing this system, the design has been assessed using several models at different levels mainly implemented in MGS (sources of the code, see the various results from the model page on the wiki).
The french team has won the first price in in the "Fundamental Research" category.
- Amorphous Computing one day workshop (18 juillet 2007) organised by IBISC/LIS and INRIA Futurs/ Alchemy
- DCM'07 3rd International Workshop on Development of Computational Models
- EA'07 8th International Conference on Artificial Evolution
- JFLA 2007 Journées francophones des Langages Applicatifs
- NICSO Workshop on Nature Inspired Cooperative Strategies for Optimization
- TAPS Workshop on Theory and Applications of P Systems
- The Grand Challenge in Non-Classical Computation International Workshop: 18-19th April 2005, York.
- IPCAT'05 Information Processing in Cells and Tissue
- Modélisation et simulation de processus biologique dans le contexte de la génomique, 4-8 april 2005, Montpellier
- RULE'05 International Workshop on Rule-Based Programming
- UPP'04 Unconventional Programming Paradigms.
The workshop is jointly supported by the European Commissions Information Society Technologies Programme, Future and Emerging Technologies Activity, and the US National Science Foundation, Directorate for Computer and Information Science and Engineering.- RTA'03 International Conference on Rewriting Techniques and Applications
The document There is Plenty of Room for Unconventional Programming Languages or Declaratives Simulations of Dynamicals Systems (with a Dynamical Structure) (2.7M, .pdf), gives a bird's view on the work achieved in the MGS project. In this a very good introduction to the papers listed in the accompanying booklet (the pdf document is active and you can click on the reference to retrieve all MGS papers).The interpreter in OCAML includes the handling of GBF. You can download the executable, or a DEBIAN package or the sources. Additional software is downloadable (ImoView the 3D viewer, two old versions of the interpreter, etc.).
You can visit the online manual pages. These pages can be automatically generated from the sources below in several format (latex, html, ...).
The manual pages for the ImoView viewer are available online. ImoView has been developped to ease the visualization of results produced by MGS programs. The input of ImoView are written in a symbolic high-level scene description languages. Many visualization in the "ImageGallery/mgs_gallery.html">Graphic Gallery are produced using Imoview.The MGS softwares can be freely downloaded under the GNU public license. They are developed under DEBIAN-Linux. They compile however on Windows under the CYGWIN environment. They have also be compiled on MacOs X. To obtain the executable or the sources, just send an email at the following address: mgs-download(at)NOSPAM.spatial-computing(dot)org . Please, don't forget to remove the string "NOSPAM." (including the period) in this address. An immediate automated reply will give you a temporary URL where you can find the various tar files. So, be sure that you can receive an email (e.g. your mailbox is not full, your mail server is not black-listed, etc.). In case of problem, contact the MGS developers team at:
Due to a burst of spam, the automatic download procedure is temporarily suspended.
To access the MGS sources, please send an email to
M G S at SPATIAL-COMPUTING dot ORG.
Unconventional modeling / Unconventional computational models:
- Lindenmayer System (The Biological Modeling and Visualization team headed by Przemyslaw Prusinkiewicz)
- P system home page
- P systems have been extensively studied from the point of view of formal language theory and complexity classes. But they can be used as a powerful modeling tool, one of the discrete approach available in System Biology. This point of view is well developped, e.g. by Marian Gheorghe in Sheffield and others in all Europe. Several examples and tools are available from this page.
- Elan and rewriting modulo AC
- GBF: collection and group based data fields
- the Otto declarative language for the simulation of dynamical systems
Target applications / Inspiring applications
- Discrete Physics: The point of view underlying the MGS development are related to a discrete and algebraic formulation of the physical laws developped by Enzo Tonti at the university of Trieste (see also the work of Vadim Shapiro in mechanics and spatial and physical modeling).
- Amorphous Computing: The applications driven the MGS researches are comming from biology (especially the development and integrative cell simulations, see below). Another fundamental application domain is the design of amorphous systems composed of a vast number of cooperative unreliable elements interconnected in unknown, irregular, and time-varying ways to achieve pre-established goals. The design of such systems recquires extensive modeling and simulation to identify engineering principles for organizing and instructing such components and to achieve robust and relevant behaviors.
System Biology / Cell Simulation:
- Reconfigurable POEtic Tissue (hardware)
- Biology-Inspired techniques for Self-Organization in dynamic Networks
- Design and implementation of self-organizing and self-assembling artifacts
- Coevolution and Self-Organization In dynamical Networks
Inspiration: blending art and science
- the Cellia workgroup at University of Evry, on the integrative simulation of cell processes
- the Post-genomic simulation workgroup at GENOPOLE Evry: modeling and simulation of cell processes in the genomic context. Several national workshops are issued from this workgroup: Autran (2002), Dieppe (2003), Evry (2004) and an international symposium on macromolecular networks in 2002.
- PACE: Programmable Artificial Cell Evolution
- Others links to system biology: Moirai Institute for Biological Computing (Washington, USA), BioDrive Kitano Symbiotic system Project (Japan), E-Cell an environment for cell simulation (Japan), Vcell University of Connecticut Health Center (USA), Gepasi Simulation of biochemical kinetics (UK), In Silico Cell Physiome Sciences Incorporated (Princeton, USA), Mcell A General Monte Carlo Simulator of Cellular Microphysiology, CellML An Extensible Markup Language (XML) for representing and exchanging computer-based biological model (Auckland University, New Zeland).
- Another approach of programming by Richard P. Gabriel: self-sustaining systems, programming and litterature. Take a look to the notes of objects have failed a polemical debate at OPPSLA 2002. Some possible solutions to the software crisis are sketched in the Onward! 2002 Proceedings.
- The site of Paul Braffort (in french). Paul Braffort is a member of the OuLiPo (some explanation in english are available here). There is a delicious book of poems based on the idea of combinatorial algebra (combinators are used for the online evaluation of MGS programs). We are also fascinated in MGS by recursion, loops, retroaction, self-reference: this diagrams illustrates well the enigmatic and paradoxical character of this mythical figure.
Goals of the MGS programming language
MGS is a new domain specific language (DSL) devoted to the simulation of biological processes, especially those whose state space must be computed jointly with the current state of the system:dynamical system with a dynamical structure (see here for an explanation of the importance of this kind of systems for biological modeling and the difficulties arising for their simulations).In this kind of situation, the dynamic of the system is often specified as several local competing transformations occurring in an organized set of simpler entities. The organization of this set is subject to possible drastic changes in the course of time.
Basic principles of MGS
MGS proposes a unified view on several computational mechanisms initially inspired by biological or chemical processes (Gamma and the CHAM, Lindenmayer systems, Paun systems and cellular automata).We call collection a set of elements with some ``organization''. Several kind of organizations are used in programming languages and correspond to several data structures: sets, multisets (or bags), sequences (or list), arrays, trees, terms, etc.
It is very natural to see a collection as a set of places or positions, filled by values and organized by a topology defining the neighborhood of each element in the collection and also the possible sub-collections. To stress the importance of the topological organization of the collection's elements, we call them topological collection.
The basic computation step in MGS replaces in a collection A of elements, some sub-collection B, by another collection C. The collection C only depends on B and its adjacent elements in A. The pasting of C into A - B depends on the shape of the involved collections. This step is called a transformation.
The specification of the collection to be substituted is done through a pattern language based on the neighborhood relationship induced by the topology of the collection. A pattern defines possible (topological) paths in the collection. Several features to control the transformation applications are available, such priority, guards, triggers, etc.
MGS embeds the idea of topological collections and their transformations into the framework of a simple dynamically typed functional language. Collections are just new kinds of values and transformations are functions acting on collections and defined by a specific syntax using rules. MGS is an applicative programming language: operators acting on values combine values to give new values, they do not act by side-effect.
In our context, dynamically typed means that there is no static type checking and that type errors are detected at run-time during evaluation. Although dynamically typed, the set of values has a rich type structure used in the definition of pattern-matching, rule and transformations.
Topological collections, Transformation and the Simulation of Dynamical Systems with a Dynamical Structure
An MGS collection is used to represent the state of a dynamical system. The elements in the collection represent either entities (a subsystem or an atomic part of the dynamical system) or messages (signal, command, information, action, etc.) addressed to an entity.A sub-collection represents a subset of interacting entities and messages in the system. The evolution of the system is achieved through transformations, where the left hand side of a rule typically matches an entity and a message addressed to it, and where the right hand side specifies the entity's updated state, and possibly other messages addressed to other entities.
If one uses a multiset organization for the collection, the entities interact in a rather unstructured way. More organized topological collections are used for more sophisticated spatial organizations and interactions. For examples, group-based fields (GBFs) are used to model uniform regular neighborhood structures. We plan to develop soon a "Voronoi diagram" neighborhood for a set of points in Euclidean space, and to handle arbitrary topologies described by a combinatorial structure (e.g., a simplicial complex).
More generally, many mathematical models of objects and processes are based on a notion of state that specifies the object or the process by assigning some data to each point of a (physical or abstract) space. The MGS programming language is designed to support this approach offering several mechanisms to build complex (and evolving) spaces and handling the maps between these spaces and the data.
The development of the MGS softwares relies on several tools and libraries:
NAUTY
To contact the MGS team : mgs@NOSPAM.spatial-computing.org
(Please, don't forget to remove the string "NOSPAM." in the addresses.)Big acknowledgements are also due to the involved students:Valerie Larue, Emmanuel Delsinne, Francois Letierce, Clement Boin, Nicolas Thibault, Jean-Pierre Lambert, Nicolas Mann, Benoit Calvez, Fabien Thonnerieux, Romain de Rasse, Fabien Gaubert, Yann Jullian, Lionel Perret ... and the many others.and to our supporting institutions:
|
|