Mike Beedle’s position paper for the upcoming Feyerabend workshop at the Santa Fe Institute in
April of 2002.
Copyright Mike Beedle, 2001
As with complex living systems, let's say
that a "biological" computing system must be composed of:
tissues - groups of similar cells organized to
carry out one or more specific functions.
Groups of cells performing a function in a multicellular organism.
organs - differentiated structures consisting
of tissues and performing some specific function in an organism. Structures made of two or more tissues which
function as an integrated unit. e.g. the heart, kidneys, liver, stomach, and
organ systems (or simply systems) - groups of
organs that perform related functions.

In the computing case, probably the
closest model in which we can simulate this behavior is with communities of
software agents, where the equivalence of
agent
== cell
holds. Then agents communities would form
the equivalent of tissues, organs, organ systems and a living wholes.
However, these agents must posses within
themselves certain capabilities, like:
sensing messages from other agents or the
environment,
translating these messages or measurements,
filtering the messages or measurements,
interpreting messages and determining actions,
queuing actions by prioritizing actions
according to plans,
generating beliefs,
storing beliefs,
etc.
and the abilities of reproduction,
differentiation, mutation and/or mimicry.
And the agents would also need to have
very singular characteristics in their relationship with other agents, like:
- the agents _must_ play balanced
cooperative games -- statistical iterated "prisoner dilemmas" of
sorts, that would allow them to seek their survival as well as the survival of
the agent communities: like tissues, organs, and organs systems. Through this cooperation the agents may form
symbiotic communities, coevolving with each other
- the agents would interact with each
other through agent communication languages, running on computing protocols,
that allow them to share knowledge and information across the equivalent
computing tissues, organs, and organ systems.
- the agents would have the ability to
sense and share knowledge about the overall well being of each community,
selected features of other communities,
and even features of the whole i.e. distributing the sensor/effector
mechanisms of the closed system.
- the agents must contain shared and
non-shared ontologies i.e. the equivalent of DNA, RNA and the brain.
- the agent communities at any level may
have a basic set of given contingent plans in case "system faults"
and also be provided with the ability to learn from errors
- each agent community would be
semi-independent and would self-organize according its internal control systems
etc., etc., etc.,
However, for a computing system to be
"semi-alive" it must achieve homeostasis: the maintenance of a stable
internal environment.
This stability depends on both extrinsic
and intrinsic control systems.
Extrinsic control systems depend on external input i.e. like the
endocrine and nervous systems. Internal
control systems are internal to the organs.
In the case of computing systems this external input may come from users
or other systems.
Most of the control systems depend mostly
on negative feedback i.e. they measure states and react inversely to the rate
of change to compensate i.e. the agent communities must be able to make
collective measurements and take action upon feedback received.
In computer systems this may as trivial
as adding instances of application servers to compensate for high demand i.e.
load balancing; or as complicated as determining controlling the state of a
complex system through a blackboard that provides solutions.
There are some interesting questions
regarding systems:
What would be the equivalent of the 11
major systems:
THE INTEGUMENTARY SYSTEM - what is the
"skin" of a computer system?
Its interfaces ?
THE CIRCULATORY SYSTEM - what is the
"circulatory" equivalent? Do
we need this metaphor?
LYMPHATIC SYSTEM AND IMMUNITY -
Antivirus, sniffers,
and intrusion detection software?
THE DIGESTIVE SYSTEM - Probably not an
applicable metaphor.
THE NERVOUS SYSTEM - definitely the main
extrinsic and homeostatic system.
THE ENDOCRINE SYSTEM - Don't know how
this would apply.
THE REPRODUCTIVE SYSTEM - asexual
reproduction makes sense for computing systems i.e. fission, budding,
fragmentation, cloning, slicing, prototyping, virtual constructors, factories,
etc.
THE MUSCULAR - don't think we need this
metaphor for computing.
SKELETAL SYSTEMS - hardware, wiring,
etc.?
THE RESPIRATORY SYSTEM - Don't think we
need that... unless
we talk about cooling systems?
THE EXCRETORY SYSTEM - garbage
collection?
|
|
|
|
|
What it would much harder to simulate
in a computing system is morphogenesis - for that the agents would not only
have to reproduce and differentiate, but they would have to follow a directed
differentiation process dictated by a pattern language kept in every agent
(ala TTWOB Ch 19). As the organism
grows there would be sensors that would determine the existence of a
context. This would kick off a
differentiation rule - a pattern, that transforms either agents, or agent
communities into new forms. This resulting
context creates a new context from where other more differentiated forms
differentiate, evolve, specialize, and loosing global symmetry. |
|
|
|