René Doursat
 PhD, Habil.

Professor of Complex Systems & Deputy
   Head, Informatics Research Centre,
   School of Computing, Math & Digital Tech,
   Manchester Metropolitan University, UK

Research Affiliate, BioEmergences Lab,
   CNRS (USR3695), Gif s/Yvette, France

Steering Committee & Fmr. Director,
   Complex Systems Institute, Paris (ISC)

Officer (Secretary), Board of Directors,
   International Society for Artificial Life



Growing Adaptive

Springer 2014

Springer 2012

Peter Lang 2011
Edited Proceedings

Artificial Life
ALife'14, ECAL'15

MITPress 2014,2015
Evolution. Comp.
GECCO'12, '13

ACM 2012,2013
Artificial Life

MITPress 2011
Swarm Intell.

Springer 2010
IT Revolutions

Springer 2009

Home Page
   • Morphogenesis
   • Morphogenetic
   • Neuroscience
   • Evolution & Ecology
Activities, Grants
Education, Career

Morphogenetic Engineering  
Designing decentralized, autonomous systems inspired by morphogenesis, with applications in swarm robotics, distributed software, and ICT networks or power grids
I have founded the field of morphogenetic engineering, the first initiative of its kind to establish a new trend of research exploring the modeling and implementation of "self-architecturing" systems. It focuses on the programmability of self-assembling agents, which is often underappreciated in complex systems science—while, conversely, the benefits of self-organization are often underappreciated in systems engineering.

Classical engineered products (mechanical, electrical, computer, civil) are generally made of a number of unique, heterogeneous components assembled in very precise and complicated ways. They are expected to work as deterministically as possible following the specifications given by their designers. By contrast, self-organization in natural systems (physical, biological, ecological, social) often relies on myriads of identical agents and essentially stochastic dynamics. Here, collective behavior and nontrivial patterns can emerge from relatively simple agent rules—a fact often touted as the hallmark of complex systems. Yet, the great majority of these naturally emergent motifs (spots, stripes, waves, clusters, and so on) are random and modified only by boundary conditions. They can be described with a few statistical variables, such as order parameters, but do not exhibit an intrinsic architecture like machines and industrial systems do.

Important exceptions to this dichotomy can be found in certain types of biological systems, which distinguish themselves by their strong "morphogenetic" properties and demonstrate the possibility of combining pure self-organization and sophisticated architecture. Multicellular organisms are composed of organs and appendages arranged in specific ways, yet, they entirely self-assemble in a decentralized fashion under the guidance of (epi)genetic information produced by millions of years of evolution and stored inside each cell. Similarly, termites, ants or wasps are able to collectively build extremely complicated and well organized nests without the need for an overall plan or grand architect.
In other words, these examples testify to the existence of "architectures without architects" or programmable self-organization—a concept not sufficiently explored so far, neither in complex systems science (for the "programmable" part), nor in traditional engineering (for the "self-organization" part). These natural examples trigger whole new questions: How do biological organisms or populations achieve morphogenetic tasks so reliably? Can we export their self-formation capabilities to engineered systems? What would be the principles and best practices to create such morphogenetic systems?

To meet these challenges, the Morphogenetic Engineering book that I co-edited with Hiroki Sayama and Olivier Michel establishes a new field of research that explores the artificial design and implementation of autonomous systems capable of developing complex, heterogeneous morphologies and functions without central planning or external drive. Particular emphasis is set on the mutual relationship between programmability/controllability and self-organization. Its many potential applications in artificial systems (or hybrid "techno-natural" systems) include self-assembling robots, self-coding software, self-constructing buildings, self-reconfiguring production lines, or self-managing energy grids, all based on a multitude of components, modules, software agents and/or human users building their own network solely on the basis of local rules and peer-to-peer interactions. Decentralized automation relying on emergent architectures promises to be the new paradigm for a future science of "complex systems engineering". ← Less

Selected publications

Doursat, R., Sayama, H. & Michel, O. (2013) A review of morphogenetic engineering. "Frontiers of Natural Computing" (FNC 2012) Special Issue. Lones, M., Tyrrell, A., Stepney, S. & Caves, L., eds. Natural Computing 12(2): 517-535. PAPER

Varenne, F., Chaigneau, P., Petitot, P. & Doursat, R. (2015) Programming the emergence in morphogenetically architected complex systems. Acta Biotheoretica 63(3): 295-308. [14 pages]. PAPER

EMBENG – Embryomorphic Engineering (2D)  
Abstract modeling and simulation of the fundamental principles of self-patterning and self-assembly during embryonic development, for exportation to artificial systems  
The spontaneous making of an entire organism from a single cell is the epitome of a self-organizing and programmable complex system. Through a precise spatiotemporal interplay of genetic switches and chemical gradients, an elaborate form is created without explicit architectural plan or engineering. Embryomorphic engineering, a methodology I created, proposes a multi-agent abstraction of these fundamental morphogenetic mechanisms toward artificial systems.
A precursor instance of morphogenetic engineering, embryomorphic engineering proposes an artificial reconstruction of biological morphogenesis. Inspired by "evo-devo" (see e.g. Kirschner & Gerhart 2005), it focuses on the causal and programmable link from genotype to phenotype at these two levels simultaneously, something needed in many emerging computational domains.

An embryomorphic model combines three key principles of multicellular biological development: chemical gradient diffusion (providing positional information to the agents), gene regulation (triggering their differentiation into types, thus patterning), and cell division (creating structural constraints, hence reshaping). Therefore, agents are guided by the genetic instructions they carry, which parametrize and modulate the fundamental laws of mechanical-like assembly and biochemical-like signaling that they obey.

Biological development is schematized by a multiscale and modular distributed process, which typically relies on an expanding lattice of cells (Fig. c and videos). Each cell contains a gene regulatory network (GRN), modeled as a feed-forward hierarchy of switches that can settle in various on/off expression states (Fig. a-b).

  • Pattern formation dynamics: Local morphogen gradients (X, Y) provide positional information in input, which is integrated by each GRN to produce differential expression of identity genes (I, J, ...) in output. Similarly to striping in the Drosophila embryo, the lattice becomes segmented into spatial domains of homogeneous genetic expression (one for each identity gene; Carroll et al. 2001) that resemble stained glass motifs (Fig. d).

  • Self-assembly dynamics: Meanwhile, it also expands by cell proliferation, creating new local gradients of positional information within former single-identity domains (Fig. d, right). Analogous to a growing canvas that paints itself (Coen 2000), the alternation of growth and patterning results in the creation of a form.
Abstracting from biological development, an important goal of EMBENG is to contribute to a novel systems engineering paradigm replacing omniscient architects with large-scale decentralized collectivities of agents. When functionality is distributed over a great number of components, it is impossible to assemble and instruct each of them individually. Rather, in a way similar to biological cells, these components should be easily mass-produced, initially as identical copies of each other, then acquire specialized positions and functions by themselves within the growing system. Various instances of theses principles have now been realized in a virtual 3D world (see MAPDEVO below) and in nD network topologies (see PROGNET below). ← Less

Carroll et al. (2001) From DNA to Diversity. Blackwell Sci.

Coen (2000) The Art of Genes. Oxford Univ. Press.

Kirschner & Gerhart (2005) The Plausibility of Life. Yale University Press.

Selected publications

Doursat, R. (2008) Chapter 8: Organically grown architectures: Creating decentralized, autonomous systems by embryomorphic engineering. In Organic Computing, R. P. Würtz, ed.: pp. 167-200. Springer-Verlag, ISBN 978-3-540-77656-7. CHAPTER

Doursat, R. (2009) Facilitating evolutionary innovation by developmental modularity and variability. "Generative & Developmental Systems" Track (GDS 2009), in Proceedings of the 11th International Genetic and Evolutionary Computation Conference (GECCO 2009), July 8-12, 2009, Montreal, Canada: pp. 683-690. ACM, ISBN 978-1-60558-325-9. PAPER

MAPDEVO – Modular Architecture by Programmable Development (3D)  
A study of functional artificial morphologies through a model of animated embryomorphic organisms immersed in a virtual 3D environment  
In this work, carried out by my PhD student Carlos Sánchez under the co-supervision of Taras Kowaliw, development follows the same principles as the precursor 2D EMBENG model—self-assembly by elastic forces, pattern formation by gradient propagation and gene expression. In addition here, developed organisms can generate movement by contracting adhesion links between "muscle" cells, while other cells have differentiated into "bones" and "joints" to support and articulate the body’s structure.
While the task of "meta-designing" laws of artificial development inspired from biology is already challenging it only constitutes the first part of the embryomorphic engineering effort (see EMBENG). Once a self-developing infrastructure is mature, what other computing and behavioral capabilities can it support? What do its "cells" (agents) and "organs" (regions) actually represent and achieve in practice? In biological organisms, although cell physiology often partakes in development (e.g., electrical signals of neurons guiding synaptogenesis), there seems to be a broad distinction between developmental genes and the rest of the genome.

In computing systems, these two modes could also be decoupled into two different sets of state variables. After reaching developmental maturation, and while still fulfilling maintenance and self-repair tasks, morphogenetic SA and PF activity (i.e., division, position information and patterning signals) would give way to another type of activity subserving functional computation. Obviously, the type of computation entirely depends on the nature of the agents: processor-carrying nano-units, software agents, robot parts, mini-robots, synthetic bacteria, and so on.

The MAPDEVO project targets such a goal through a model of animated organisms immersed in a 3D physical environment. By interacting with a (virtual) world, made of a rigid ground and simple objects in a gravitational field, the organisms can exhibit locomotion and primitive behavior (e.g., kcking a ball). This project constitutes an original demonstration of a genuinely evo-devo ALife system, in which self-organization is not only programmable but functional and evolvable. ← Less
Selected publication

Doursat, R. & Sánchez, C. (2014) Growing fine-grained multicellular robots. Soft Robotics 1(2): 110-121. PAPER

PROGNET – Network Growth by Programmable Attachment (nD)  
The self-assembly of complex but precise network topologies by programmed attachment: An example of model extending embryomorphic engineering from multicellular organisms to graphs  
In this model of autonomous network construction and dynamics, which I derived from EMBENG, and was in part implemented by MSc students A. MacDonald & R. Dordea, nodes execute the same program in parallel, communicate and differentiate, while links are dynamically created and removed based on "ports" and "gradients" that guide nodes to specific attachment locations. As the network expands, nodes switch different rules on and off, creating chains, lattices, and other composite topologies.
Nodes carry various pairs of attachment ports (X, X') and corresponding gradient values (x, x'). Node ports can be "free" (not linked to other ports from other nodes) or "occupied" (linked), while free ports can be "open" (available for a connection) or "closed" (disabled). New nodes that just arrived in the system's space, or nodes that are not yet connected, have both ports open and gradients set to 0 (Fig. a).

A node i can create a link with another node j only through a pair of complementary open ports, X and X'. As soon as a new link is made, ports are occupied and gradients are immediately updated through propagation of discrete increments. The purpose of the gradient counters is to keep track of the nodes' positions in the chain. This allows, for example, to build chains of a fixed length n (by closing ports as soon as x + x' = n – 1) and create more complicated structures (Fig. d-e) by switching on or off certain attachment rules when certain gradient values have been reached.

All nodes carry the same program G (their genotype or "DNA", Fig. b), which consists of three main routines: gradient update (Gr), port management (P), and link creation (L). The gradient update routine Gr is the generic code that provides nodes with the positional information they need to make further decisions. The port management routine P contains the heart of the logic specific to a target structure. Routines Gr and P are executed by the nodes already involved in the network, and prepare the way for new nodes to execute L. Routine L provides the generic logic that prompts new nodes to pick one of the open ports of the network at random to make a new connection.

In biological development, the position and number of individual cells is very imprecise, while the structures and organs they form are reliably placed. Similarly, programmed network self-assembly can also be irregular at the microscopic level of the nodes, while retaining an orderly arrangement at the higher, "mesoscopic" levels of clusters of nodes. This property of variability of an emerging structure, in addition to its fundamental programmability, is embodied here by replacing single nodes with clusters (Fig. e).

This is done through a special port, C (as in "cluster" or "clique") that allows multiple nodes with identical x and y gradient coordinates to form random connections with each other. Similar to cellular proliferation in morphogenetic tissues and organs, this proliferation of nodes within structured networks introduces redundancy and "failover" safety. Unlike single-node chains, the failure of one link in a cluster chain does not imply the failure of the whole structure. Yet, while relying on a fluctuating swarm of agents for its robustness, the overall topology of a programmed network is not left to chance but narrowly guided by the genotype's attachment rules Gr, P and L to grow desired structures. ← Less


Doursat, R. & Ulieru, M. (2008) Emergent engineering for the management of complex situations. In Proceedings of the 2nd International Conference on Autonomic Computing and Communication Systems (Autonomics 2008), September 23-25, 2008, Telecom Italia Labs, Turin, Italy; A. Manzalini, ed.: No. 14. ICST, ISBN 978-963-9799-34-9. PAPER