Topological rewriting and the geometrization of programming

Spatial computing is an emerging field that recognizes the importance of explicitly handling spatial relationships at three levels: computer architectures, programming languages and applications. In this context, we present MGS, an experimental programming language where data structures are fields on abstract spaces. In MGS, fields are transformed using rules. We show that this approach is able to unify, at least for programming purposes, several computational models like Lindenmayer systems and cellular automata. The MGS notions of topological collection and transformation are formalized using concepts developed in algebraic topology. We propose to use transformations in order to implement a discrete version of some differential operators. These transformations satisfy a Stokes-like theorem. This result constitutes a geometric view of programming where data are handled like fields in physics. The relevance of this approach for the design of autonomic software systems is discussed in the conclusion.

[1]  Gilbert Labelle,et al.  Combinatorial species and tree-like structures , 1997, Encyclopedia of mathematics and its applications.

[2]  Przemyslaw Prusinkiewicz,et al.  L-systems: from formalism to programming languages , 1992 .

[3]  Olivier Michel,et al.  Using Rewriting Techniques in the Simulation of Dynamical Systems: Application to the Modeling of Sperm Crawling , 2005, International Conference on Computational Science.

[4]  Daniel Le Métayer,et al.  The GAMMA Model and Its Discipline of Programming , 1990, Sci. Comput. Program..

[5]  Boleslaw K. Szymanski,et al.  Parallel functional languages and compilers , 1991 .

[6]  Arie Shoshani,et al.  System Deadlocks , 1971, CSUR.

[7]  Mary L. Boas Mathematical Methods in the Physical Sciences: 2nd Ed , 1983 .

[8]  Tommaso Toffoli A pedestrian's introduction to spacetime crystallography , 2004, IBM J. Res. Dev..

[9]  Pascal Fradet,et al.  Chemical Specification of Autonomic Systems , 2004, IASSE.

[10]  Pierre Barbier de Reuille,et al.  Computer simulations reveal novel properties of the cell-cell signaling network at the shoot apex in /Arabidopsis , 2005 .

[11]  Hartmut Ehrig,et al.  Graph-Grammars: An Algebraic Approach , 1973, SWAT.

[12]  K. F. Riley,et al.  Mathematical methods for the physical sciences , 1975 .

[13]  Seth Copen Goldstein,et al.  Spatial computation , 2004, ASPLOS XI.

[14]  A. Lindenmayer Mathematical models for cellular interactions in development. I. Filaments with one-sided inputs. , 1968, Journal of theoretical biology.

[15]  Pascal Lienhardt,et al.  Topological models for boundary representation: a comparison with n-dimensional generalized maps , 1991, Comput. Aided Des..

[16]  W. Daniel Hillis,et al.  Connection Machine Lisp: fine-grained parallel symbolic processing , 1986, LFP '86.

[17]  G. P. Monro,et al.  The Concept of Multiset , 1987, Math. Log. Q..

[18]  H. T. Kung Why systolic architectures? , 1982, Computer.

[19]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[20]  L. Sander,et al.  Diffusion-limited aggregation, a kinetic critical phenomenon , 1981 .

[21]  Jean-Louis Giavitto,et al.  Data Structure as Topological Spaces , 2002, UMC.

[22]  Nachum Dershowitz,et al.  A Taste of Rewrite Systems , 1993, Functional Programming, Concurrency, Simulation and Automated Reasoning.

[23]  Guntram Berti Generic software components for Scienti c Computing , 2000 .

[24]  Anthony J. G. Hey,et al.  Feynman And Computation , 2002 .

[25]  Björn Lisper,et al.  On the relation between functional and data parallel programming languages , 1993, FPCA '93.

[26]  Marina Chen,et al.  Crystal: theory and pragmatics of generating efficient parallel code , 1991 .

[27]  Baowen Xu,et al.  A survey of semantic description frameworks for programming languages , 2004, SIGP.

[28]  Frédéric Gruau,et al.  Computing Media and Languages for Space-Oriented Computation, 03.09. - 08.09.2006 , 2007, Computing Media and Languages for Space-Oriented Computation.

[29]  Yiying Tong,et al.  Discrete differential forms for computational modeling , 2005, SIGGRAPH Courses.

[30]  Srinivasan Seshan,et al.  Claytronics: highly scalable communications, sensing, and actuation networks , 2005, SenSys '05.

[31]  James R. Munkres,et al.  Elements of algebraic topology , 1984 .

[32]  Sergey Brin,et al.  The Anatomy of a Large-Scale Hypertextual Web Search Engine , 1998, Comput. Networks.

[33]  G. Rozenberg,et al.  Lindenmayer Systems: Impacts on Theoretical Computer Science, Computer Graphics, and Developmental Biology , 2001 .

[34]  Olivier Michel,et al.  There's Plenty of Room for Unconventional Programming Languages or Declarative Simulations of Dynamical Systems (with a Dynamical Structure) , 2007 .

[35]  Pascal Fradet,et al.  Gamma and the Chemical Reaction Model: Fifteen Years After , 2000, WMP.

[36]  Jean-Louis Giavitto,et al.  06361 Executive Report -- Computing Media Languages for Space-Oriented Computation , 2007, Computing Media and Languages for Space-Oriented Computation.

[37]  G. Mitchison,et al.  Rule governing Cell Division in Anabaena , 1972, Nature.

[38]  Richard M. Karp,et al.  The Organization of Computations for Uniform Recurrence Equations , 1967, JACM.

[39]  Susan Stepney,et al.  Journeys in non-classical computation II: initial journeys and waypoints , 2006, Int. J. Parallel Emergent Distributed Syst..

[40]  A. Lindenmayer Mathematical models for cellular interactions in development. II. Simple and branching filaments with two-sided inputs. , 1968, Journal of theoretical biology.

[41]  Andy Oram,et al.  Peer-to-Peer: Harnessing the Power of Disruptive Technologies , 2001 .

[42]  Jean-Louis Giavitto,et al.  Invited Talk: Topological Collections, Transformations and Their Application to the Modeling and the Simulation of Dynamical Systems , 2003, RTA.

[43]  Olivier Michel,et al.  Declarative modeling of a neurulation-like process , 2007, Biosyst..

[44]  W. J. Thron,et al.  Encyclopedia of Mathematics and its Applications. , 1982 .

[45]  Michel Mauny,et al.  The functional approach to programming , 1998 .

[46]  Reinhard Klette,et al.  Cell complexes through time , 2000, SPIE Optics + Photonics.

[47]  Tommaso Toffoli,et al.  Cellular Automata Machines , 1987, Complex Syst..

[48]  L. Sander,et al.  Diffusion-limited aggregation , 1983 .

[49]  Anil N. Hirani,et al.  Discrete exterior calculus , 2005, math/0508341.

[50]  Chris Hanson,et al.  Amorphous computing , 2000, Commun. ACM.

[51]  Norman H. Margolus,et al.  Crystalline computation , 1998, comp-gas/9811002.

[52]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .

[53]  Vladimir Kovalevsky,et al.  Algorithms and Data Structures for Computer Topology , 2000, Digital and Image Geometry.

[54]  Jean-Louis Giavitto,et al.  The Topological Structures of Membrane Computing , 2002, Fundam. Informaticae.

[55]  Maarten M. Fokkinga,et al.  Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire , 1991, FPCA.

[56]  Michael Henle,et al.  A combinatorial introduction to topology , 1978 .

[57]  Mani B. Srivastava,et al.  SQualNet: a scalable simulation framework for sensor networks , 2005, SenSys '05.

[58]  Vadim Shapiro,et al.  A multivector data structure for differential forms and equations , 2000 .