Interaction-Based Modeling of Morphogenesis in MGS

  • Antoine Spicher
  • Olivier Michel
  • Jean-Louis Giavitto
Part of the Understanding Complex Systems book series (UCS)


In this chapter, we advocate a domain specific language (DSL) approach to overcome the difficulties of modeling and simulating morphogenetic processes. A careful discussion of the design goals of a DSL leads to the development of an experimental programming language called MGS. Its declarative approach is based on the notion of topological collection originating from algebraic topology. Topological collections arise naturally when modeling a “dynamical system with a dynamic structure”, or (ds) \(^2\), as the state of the system. The evolution function of the system is specified by a transformation, which is a set of rewriting rules where each rule defines a local interaction. We illustrate these notions through different models of the same morphogenetic process: the growth of a T-shaped structure. The objective is to show how a variety of models can be consistently handled within the MGS framework.


Cellular Automaton Cayley Graph Morphogenetic Process Neighborhood Relationship Domain Specific Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



The MGS project would not have “grown” without the participation of, and the fruitful interactions with many colleagues. The authors are especially grateful to J. Cohen at the University of Nantes, F. Delaplace and H. Klaudel at the Université d’Evry, A. Lesne at Université Pierre & Marie Curie (Paris 6) P. Prusinkiewicz at the University of Calgary, S. Stepney at the University of York, UK. We also express our gratitude to the colleagues that made possible the development of the spatial computing initiative ( J. Beal at BBN Technologies, L. Maignan at Université Paris-Est Créteil, F. Gruau at Université Paris-Sud, Orsay, S. Dulman at TU Delft, R. Doursat at the Complex Systems Institute, Paris Ile-de-France, and many others. This research is supported in part by the French ANR grant “SynBioTIC” 2010-BLAN-0307-03, Université Paris-Est Créteil, IRCAM (CNRS, UMR STMS 9912) and the RepMus Team at INRIA.


  1. 1.
    Abelson, H., Allen, D., Coore, D., Hanson, C., Homsy, G., Knight Jr. T., Nagpal, R., Rauch, E., Sussman, G., Weiss, R.: Amorphous computing. Comm. ACM 43(5), 74–82 (2000)Google Scholar
  2. 2.
    Beal, J., Bachrach, J., Vickery, D., Tobenkin, M.: Fast self-healing gradients. In: Proceedings of the 2008 ACM Symposium on Applied Computing, pp. 1969–1975. ACM, New York (2008)Google Scholar
  3. 3.
    Beal, J., Dulman, S., Usbeck, K., Viroli, M., Correll, N.: Organizing the aggregate: languages for spatial computing. CoRR abs/1202.5509 (2012)Google Scholar
  4. 4.
    Berti, G.: Generic programming for mesh algorithms: towards universally usable geometric components. In: Mang, H.A., Rammerstorfer, F.G., Eberhardsteiner, J. (eds.) Proceedings of the Fifth World Congress on Computational Mechanics WCCMV, IACM (2002)Google Scholar
  5. 5.
    Bigo, L., Giavitto, J.L., Spicher, A.: Building topological spaces for musical objects. In: Mathematics and Computation in Music, LNCS, vol. 6726. Springer, Paris (2011)Google Scholar
  6. 6.
    Branin, F.: The algebraic-topological basis for network analogies and the vector calculus. In: Symposium on Generalized Networks, pp. 453–491 (1966)Google Scholar
  7. 7.
    Buneman, P., Naqvi, S., Tannen, V., Wong, L.: Principles of programming with complex objects and collection types. Theor. Comput. Sci. 149(1), 3–48 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Chard, J.A., Shapiro, V.: A multivector data structure for differential forms and equations. Math. Comput. Simul. 54(1–3), 33–64 (2000). doi: 10.1016/S0378-4754(00)00198-1
  9. 9.
    Chopard, B., Droz, M., Press, C.U.: Cellular Automata Modeling of Physical Systems, vol. 122. Cambridge University Press, Cambridge (1998)Google Scholar
  10. 10.
    Dershowitz, N., Hsiang, J., Josephson, N., Plaisted, D.: Associative-commutative rewriting. In: Proceedings of the Eighth International Joint Conference on Artificial Intelligence, Vol 2, pp. 940–944. Morgan Kaufmann Publishers, Burlington, USA (1983)Google Scholar
  11. 11.
    Desbrun, M., Kanso, E., Tong, Y.: Discrete differential forms for computational modeling. In: Schroder, P. (eds.) Discrete Differential Geometry: An Applied Introduction, pp. 39–54 (2006). SIGGRAPH’06 course notesGoogle Scholar
  12. 12.
    DiCarlo, A., Milicchio, F., Paoluzzi, A., Shapiro, V.: Solid and physical modeling with chain complexes. In: Proceedings of the 2007 ACM symposium on Solid and Physical Modeling, pp. 73–84. ACM (2007)Google Scholar
  13. 13.
    DiCarlo, A., Milicchio, F., Paoluzzi, A., Shapiro, V.: Discrete physics using metrized chains. In: 2009 SIAM/ACM Joint Conference on Geometric and Physical Modeling, pp. 135–145. ACM Press, USA (2009)Google Scholar
  14. 14.
    Doursat, R.: Programmable architectures that are complex and self-organized: from morphogenesis to engineering. In: Artificial Life XI: Proceedings of the 11th International Conference on the Simulation and Synthesis of Living Systems (Alife XI), pp. 181–188. MIT Press, Cambridge (2008)Google Scholar
  15. 15.
    Egli, R., Stewart, N.F.: Chain models in computer simulation. Math. Comput. Simul. 66(6), 449–468 (2004). doi: 10.1016/j.matcom.2004.02.017
  16. 16.
    Ermentrout, G., Edelstein-Keshet, L.: Cellular autornata approaches to biological modeling. J. Theor. Biol 160, 97–133 (1993)CrossRefGoogle Scholar
  17. 17.
    Giavitto, J., Michel, O.: Declarative definition of group indexed data structures and approximation of their domains. In: Proceedings of the 3rd ACM SIGPLAN International Conference on Principles and Practice of Ceclarative Programming, pp. 150–161. ACM Press, San Francisco, USA (2001)Google Scholar
  18. 18.
    Giavitto, J.L.: Topological collections, transformations and their application to the modeling and the simulation of dynamical systems. In: 14th International Conference on Rewriting Technics and Applications (RTA’03), LNCS, vol. 2706, pp. 208–233. Springer, Valencia (2003)Google Scholar
  19. 19.
    Giavitto, J.L.: The modeling and the simulation of the fluid machines of synthetic biology. In: Gheorghe, M., Paun, G., Rozenberg, G., Salomaa, A., Verlan, S. (eds.) Membrane Computing - 12th International Conference, CMC 2011, pp. 23–26. Fontainebleau, France 2011. Revised Selected Papers, LNCS, vol. 7184, pp. 19–34. Springer, Berlin (2012)Google Scholar
  20. 20.
    Giavitto, J.L., De Vito, D., Sansonnet, J.P.: A data parallel Java client-server architecture for data field computations over \({{\mathchoice{ \textstyle ZZ}{ \textstyle ZZ}{ riptstyle ZZ}{ riptscriptstyle ZZ}}}^{n}\). In: EuroPar’98 Parallel Processing, Lecture Notes in Computer Science, vol. 1470, pp. 742–745, Springer, Berlin (1998)Google Scholar
  21. 21.
    Giavitto, J.L., Malcolm, G., Michel, O.: Rewriting systems and the modelling of biological systems. Comp. Funct. Genomics 5, 95–99 (2004)Google Scholar
  22. 22.
    Giavitto, J.L., Michel, O.: Mgs: a rule-based programming language for complex objects and collections. In: van den Brand, M., Verma, R. (eds.) Electronic Notes in Theoretical Computer Science, vol. 59. Elsevier Science Publishers, Amsterdam (2001)Google Scholar
  23. 23.
    Giavitto, J.L., Michel, O.: Data structure as topological spaces. In: Proceedings of the 3rd International Conference on Unconventional Models of Computation UMC02, Himeji, Japan, LNCS, vol. 2509, pp. 137–150, Springer, Berlin 2002Google Scholar
  24. 24.
    Giavitto, J.L., Michel, O.: The topological structures of membrane computing. Fundamenta Informaticae 49, 107–129 (2002)MathSciNetGoogle Scholar
  25. 25.
    Giavitto, J.L., Michel, O.: Modeling the topological organization of cellular processes. BioSystems 70(2), 149–163 (2003)CrossRefGoogle Scholar
  26. 26.
    Giavitto, J.L., Michel, O., Cohen, J., Spicher, A.: Computation in space and space in computation.In: Unconventional Programming Paradigms (UPP’04), LNCS, vol. 3566, pp. 137–152. Spinger, Le Mont Saint-Michel (2005)Google Scholar
  27. 27.
    Giavitto, J.L., Michel, O., Spicher, A.: Interaction based simulation of dynamical system with a dynamical structure. In: Kropf, P. (eds.) Proceedings of the Summer Computer Simulation Conference (SCSC 2011), Track: Modeling and Simulation of Dynamic Structure Systems. The Society for Modeling and Simulation International (SCS) & ACM, San Francisco, Curran Association Inc. (2011)Google Scholar
  28. 28.
    Giavitto, J.L., Spicher, A.: Simulation of self-assembly processes using abstract reduction systems. In: Krasnogor, N., Gustafson, S., Pelta, D., Verdegay, J.L. (eds.) Systems Self-Assembly: Multidisciplinary Snapshots, pp. 199–223. Elsevier, Amsterdam (2008). doi: 10.1016/S1571-0831(07)00009-3
  29. 29.
    Giavitto, J.L., Spicher, A.: Topological rewriting and the geometrization of programming. Physica D 237(9), 1302–1314 (2008). doi: 10.1016/j.physd.2008.03.039
  30. 30.
    Giavitto, J.L., Spicher, A.: Morphogenesis: origins of patterns and shapes. Computer Morphogeneis, pp. 315–340. Springer, Berlin (2011)Google Scholar
  31. 31.
    Grady, L., Polimeni, J.: Discrete Calculus: Applied Analysis on Graphs for Computational Science. Springer, Berlin (2010)Google Scholar
  32. 32.
    Hammarlund, P., Lisper, B.: On the relation between functional and data parallel programming languages. In: Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pp. 210–219. ACM Press, New York (1993)Google Scholar
  33. 33.
    Hocking, J.G., Young, G.: Topology. Dover publications, New York (1988)Google Scholar
  34. 34.
    Kubera, Y., Mathieu, P., Picault, S.: Interaction-oriented agent simulations: from theory to implementation. In: Proceeding of the 2008 Conference on ECAI 2008: 18th European Conference on Artificial Intelligence, pp. 383–387. IOS Press, Amsterdam (2008)Google Scholar
  35. 35.
    Leavens, G.T.: Fields in physics are like curried functions or physics for functional programmers. Technical Report TR94-06b, Iowa State University, Department of Computer Science (1994)Google Scholar
  36. 36.
    Lindenmayer, A.: Mathematical models for cellular interaction in development, Parts I and II. J. Theor. Biol. 18, 280–315 (1968)CrossRefGoogle Scholar
  37. 37.
    Maignan, L., Gruau, F.: Integer gradient for cellular automata: principle and examples. In: Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2008, pp. 321–325. IEEE Press, Los Alamitos (2008)Google Scholar
  38. 38.
    Mamei, M., Zambonelli, F.: Field-Based Coordination for Pervasive Multiagent Systems. Springer, New York (2006)Google Scholar
  39. 39.
    Mamei, M., Zambonelli, F., Leonardi, L.: Co-fields: Towards a unifying approach to the engineering of swarm intelligent systems. In: Engineering Societies in the Agents World III, pp. 77–98 (2003)Google Scholar
  40. 40.
    Mattiussi, C.: The finite volume, finite element, and finite difference methods as numerical methods for physical field problems. Adv Imaging Electron Phys 113, 1–146 (2000)Google Scholar
  41. 41.
    Mernik, M., Heering, J., Sloane, A.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316–344 (2005)CrossRefGoogle Scholar
  42. 42.
    Michel, O., Spicher, A., Giavitto, J.L.: Rule-based programming for integrative biological modeling—application to the modeling of the \(\lambda \) phage genetic switch. Nat. Comput. 8(4), 865–889 (2009)Google Scholar
  43. 43.
    Munkres, J.: Elements of Algebraic Topology. Addison-Wesley, Menlo Park (1984)Google Scholar
  44. 44.
    Nagpal, R., Shrobe, H., Bachrach, J.: Organizing a global coordinate system from local information on an ad hoc sensor network. In: Proceedings of the 2nd International Conference on Information Processing in Sensor Networks, IPSN’03. vol. LNCS 2634, pp. 333–348. Springer, Berlin (2003)Google Scholar
  45. 45.
    Palmer, R.S., Shapiro, V.: Chain models of physical behavior for engineering analysis and design. Res. Eng. Des. 5, 161–184 (1993). Springer InternationalGoogle Scholar
  46. 46.
    Păun, G.: Membrane Computing. An Introduction. Springer, Berlin (2002)Google Scholar
  47. 47.
    Prusinkiewicz, P., Hanan, J.: Visualization of botanical structures and processes using parametric L-systems. In: Thalmann, D. (ed.) Scientific Visualization and Graphics Simulation, pp. 183–201. Wiley, Chichester (1990)Google Scholar
  48. 48.
    Barbier de Reuille, P., Bohn-Courseau, I., Ljung, K., Morin, H., Carraro, N., Godin, C., Traas, J.: Computer simulations reveal properties of the cell-cell signaling network at the shoot apex in Arabidopsis. PNAS 103(5), 1627–1632 (2006). doi: 10.1073/pnas.0510130103 Google Scholar
  49. 49.
    Rozenberg, G., an Schürr, A., Winter, A.J., Zündorf, A., Ehrig, H., Kreowski, H.J., Montanari, U. (eds.): Handbook of graph grammars and computing by graph transformation, vol. 1: Foundations, vol. 2: Applications, vol. 3: Concurrency, Parallelism, and Distribution. World Scientific, Singapore (1997)Google Scholar
  50. 50.
    Spicher, A., Michel, O.: Using rewriting techniques in the simulation of dynamical systems: application to the modeling of sperm crawling. In: Fifth International Conference on Computational Science (ICCS’05), part I. LNCS, vol. 3514, pp. 820–827. Springer, Berlin, USA (2005)Google Scholar
  51. 51.
    Spicher, A., Michel, O.: Declarative modeling of a neurulation-like process. BioSystems 87(2–3), 281–288 (2007)CrossRefGoogle Scholar
  52. 52.
    Spicher, A., Michel, O., Cieslak, M., Giavitto, J.L., Prusinkiewicz, P.: Stochastic p systems and the simulation of biochemical processes with dynamic compartments. BioSystems 91(3), 458–472 (2008)CrossRefGoogle Scholar
  53. 53.
    Spicher, A., Michel, O., Giavitto, J.L.: Algorithmic self-assembly by accretion and by carving in mgs. In: Proceedings of the 7th International Conference on Artificial Evolution (EA’05), LNCS, vol. 3871, pp. 189–200. Springer, New York (2005)Google Scholar
  54. 54.
    Spicher, A., Michel, O., Giavitto, J.L.: Interaction-based simulations for integrative spatial systems biology. In: Dubitzky, W., Southgate, J., Fuss, H. (eds.) Understanding the Dynamics of Biological Systems: Lessons Learned from Integrative Systems Biology. Springer, New York (2011)Google Scholar
  55. 55.
    Toffoli, T., Margolus, N.: Cellular Automata Machines: A New Environment for Modeling. MIT Press, Cambridge (1987)Google Scholar
  56. 56.
    Tonti, E.: On the mathematical structure of a large class of physicial theories. Rendidiconti della Academia Nazionale dei Lincei 52(fasc. 1), 48–56 (1972). Scienze fisiche, matematiche et naturali, Serie VIIIGoogle Scholar
  57. 57.
    Tonti, E.: The reason for analogies between physical theories. Appl. Math. Model. 1, 37–50 (1976)MathSciNetCrossRefGoogle Scholar
  58. 58.
    Tonti, E.: A direct discrete formulation of field laws: the cell method. Comput. Model. Eng. Sci. 2(2), 237–258 (2001)Google Scholar
  59. 59.
    Tucker, A.: An abstract approach to manifolds. Ann. Math. 34(2), 191–243 (1933)CrossRefGoogle Scholar
  60. 60.
    Turing, A.M.: The chemical basis of morphogenesis. Phil. Trans. Roy. Soc. Lond Ser. B Biol. Sci. 237, 37–72 (1952)Google Scholar
  61. 61.
    Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. ACM Sigplan Not. 35(6), 26–36 (2000)CrossRefGoogle Scholar
  62. 62.
    Wolpert, L.: Positional information and the spatial pattern of cellular differentiation. J. Theor. Biol. 25(1), 1–47 (1969)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Antoine Spicher
    • 1
  • Olivier Michel
    • 1
  • Jean-Louis Giavitto
    • 2
  1. 1.Algorithmic, Complexity and Logic Laboratory (LACL), Department of Computer ScienceUniversité Paris Est de CréteilCréteilFrance
  2. 2.Institut de Recherche et Coordination Acoustique/Musique (IRCAM), CNRSParisFrance

Personalised recommendations