The Underlying Problems of Complexity in computing
are similar to those in biology
The history of
-- The complexity of hardware, software, and
usage models has increased monotonically, not to say
exponentially, from the invention of computers to the explosion
of smartphones, to social media, to the Internet of Things
(IoT), and now to machine-learning, cryptocurrencies and one day
soon to Quantum Computing.
A brief statement
of the problem
-- Complexity in the digital world is
beyond our control, yet computing becomes ever more central to
business and society
The future of
-- Several trends in computing will continue to
Four principles of
-- Architectural strategies for
managing cooperation between biological cells emerged more than
years ago. They are nearly universal in multicellular
organisms. And they all evolved before or coincident with
the emergence of multicellular life. Now webs of cooperating
computers are evolving similar principles.
-- a fundamental
biological multicellular systems. Unspecialized cells, such as
must be kept under control.
-- Although there is a tendency to talk about
general purpose, many computers are quite specialized already.
exceptions happen in cheap Internet of Things devices that
receiver, not the sender, determines a message'a meaning
multicellular computing -- code transfer should also be
Issues of loading code and
dealing with interpreted
code complicate matters.
individual parts of the system communicate by modifying their
local environment. The modifications become persistent cues
for other elements in the system
-- self is defined by the
body-as-stigmergy-structure, not by the genetic identities
of the cells
-- cues left in persistent stores,
e.g., databases, network structures and Web Services, organize
-- in multicellular computing, the individual
computer must be willing to sacrifice itself for the good of
the larger organism. But old single-cell computing attitudes
that each computer is supreme will die slowly.
the four principles are intertwined
-- the four principles
co-evolved and are interdependent both as abstract architecural
principles and as concrete implimentations within each cell.
-- The evolution from single-cell to multicellular
computing is happening. The Four Principles
can smooth the transition.
-- Dynamic complex systems inevitably become
even more complex. But why? Turns out that's a deep question.
-- Dynamic elements in a system that adapt to
other dynamic elements create positive feedback loops and
-- Once complexity is out of control,
it takes control
The need for
-- both life and computing use encapsulation
to limit unwanted dynamic interactions
parallels between biology and computing
processing, complexity, encapsulation and the evolution toward
-- Cells process information in
order to survive and thrive. How comparable are their processing
capabilities to those of computers?
Background Issues: Emergence and Evolution
-- Complex systems inevitably evolve
multiple levels of complexity which are difficult to understand,
and even more difficult to predict
-- It took more than a dozen
intermediate stages/levels of emergence to evolve
multicellular life, and they all still play a role in everyday
-- The evolution of computing systems
is far shorter than the evolution of life, but now the two are
-- The tradeoff between the richness of possible
interactions and the number of elements required in a system for
emergence to generate new surprises.
Examples of Emergence
-- Some familiar examples in nature (hurricanes, flocks of
birds, and sand dunes), in human affairs (agriculture and
sailing ships), and in the Internet (Google, Facebook, and
evolution of multicellular systems
-- from biofilms
(training wheels for multicellularity) to full-blown
-- No matter how hard we try to engineer
complex computing systems, they stubbornly insist upon evolving.
Companion Paper(pdf) 2007
the 2004 TII/Vanguard Conference on Complexity
From the 2009
University of Birmingham Seminar
unpublished draft, 2019
unpublished draft, 2020