timate challenge is to understand how
the behavior of an organism, or a part
thereof, emerges from the individual
behaviors of the cells in the collection.
We believe this is best done by focusing
on the reactivity of cells and the communication between them.
Concurrency and interaction. The essence of a reactive system is that different parts of the system are simultaneously active (“alive”) and interact with
each other. In the case of computerized
systems, these can be software processes, hardware components, intelligent
agents, or the environment, and in the
case of biology they can be molecules
and molecular processes, cells, tissues,
bacteria, or again, the environment.
The operation that combines several
simultaneously active parts of a system
is called parallel composition because
the individual activities happen concurrently, in “parallel,” rather than sequentially (one after the other). However, in
computer science there are several different interpretations of what “in parallel” actually means. At one extreme
is the clock synchronous interpretation,
where execution proceeds in lockstep
with a global clock, as a sequence of
discrete steps, with each building block
(component) of a system contributing
one action to each time unit. This happens, for example, in a clocked hardware circuit built from individual logic
gates without combinational loops,
where each gate performs one operation per clock tick. At the other extreme
is the interleaved asynchronous
interpretation, where each action represents the
contribution of a single component, but
different actions, possibly carried out at
different time rates, may represent different components. This happens, for
example, in distributed software systems where the individual processes
proceed at independent speeds. Implicit to the asynchronous interpretation
is a scheduler, which chooses for each
step the component that will contribute
to that step. The scheduler is usually assumed to be “fair,” the simplest interpretation of which is that it cannot neglect to choose any component forever.
Both kinds of concurrency occur in
biology, for example, in molecular processes “running” in parallel, and techniques for capturing both have found
their way into biological models.
Still, sticking religiously to these two
the process of
modeling a piece
of biology is very
different from
that of modeling
a human-made
system. the
motivation is
different, the goals
are very different,
the people involved
are also different,
and the scales are
different.
interpretations may be inadequate
for representing the parallelism that
arises in a large collection of individual cells. Cells, for example, often
proceed “roughly” in lockstep, but not
completely so: some reactions may be
a bit faster here but a bit slower there,
but biological reactions do not proceed at completely independent rates
either. An example of how to adapt
useful computer science techniques
to biology can be found in the recent
compromise between these two called
bounded asynchrony.
33 It allows the
components of a system (for example,
cells) to proceed independently while
bounding the differences in their rates.
Bounded asynchrony has been used to
accurately model some of the experimental observations made about certain cell-cell interactions: it captures
the variability observed in cells that,
although equally potent, assume distinct fates, and thus can be used to
provide mechanistic explanations for
some phenomena that are observed
during cell-fate determination.
Bounded asynchrony is but one example of how the modeling of biological systems may give rise to new variations of reactive concepts. Once it is
agreed upon what the most suitable
interpretation of “parallel progress”
means for a collection of cells, the
communication between these cells
needs to be modeled. Again, there are
several standard alternatives, designed
for modeling hardware and software,
which may not be readily adequate for
our purposes. Traditionally, the interaction between concurrent processes
can happen through sharing state or
through sending messages. This distinction has led, for example, to thread-based programming languages on one
hand, and actor-based languages on
the other. The transfer of molecules
between cells seems more akin to message passing, but within that paradigm
itself there exists a wide spectrum of
design choices, ranging from rendezvous, which stops the execution of two
processes until simultaneously the
sending process is ready to send and
the receiving process is ready to receive
a message, to unbounded message
buffers, which retain sent messages
until they are received. Explicitly spatial models11, 69 are natural candidates
for capturing morphogen gradients.