FW: Living Metaphor (was RE: Autonomic email client?)
- Richard P. Gabriel [mailto:rpg@...]
> At 16:08 +1300 11/30/01, David Parker wrote:Well, all right, let's accept _IBM_ is loosely misusing
> >What are you talking about?
> >The human autonomic nervous system is concerned with
> >the innervation of organs involved with such
> functions as digestion, body temperature control, blood
> pressure and so on. I had a look at the eliza site but
> could not find any explanation for using this term. It
> looks to me to be a marketing ploy rather than representing
> anything more substantial.
> Indeed. I went to a talk by the director of the Almaden Lab last
> night - who was talking about autonomic computing, and it appears
> "autonomic" is acting as a loose metaphor for a lot of existing work
> and some new which aims at fault tolerance and recovery from failure.
> He admitted to do this right would require a paradigm shift - at
> least of sorts. So, I fault them for the misuse, but I forgave the
> man himself.
the term but that we are really seeking "autonomic"
systems, or a "biological paradigm for computing".
Let's see how far we can push the metaphor.
1. Living Metaphor
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
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.
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
- 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,
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,
- 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 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
etc., etc., etc.,
However, for a computing system to be "semi-alive" it must
achieve homeostasis: the maintenance of a stable internal
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.
4. What are systems?
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
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?
5. Organic Growth and Morphogenesis
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 of a
differentiation rule - a pattern, that would
transform the agents, or the agent communities
into a new form. Giving rise to the next context,
from where other more differentiated forms would
evolve, specializing, and loosing global symmetry.
6. The end
Come to think about it, this could be the start of my
paper to participate in the next Feyerabend workshop ....