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
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".
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
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 below)
and in nD network topologies (see below).
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.
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
development follows the same principles as the
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 ).
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.
The self-assembly of complex but precise network topologies by
programmed attachment: An example of model extending
multicellular organisms to graphs
In this model of autonomous network construction and dynamics,
which I derived from ,
and was in part implemented by MSc students
A. MacDonald &
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
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
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.