Mike Beedle’s position paper for the upcoming Feyerabend workshop at the Santa Fe Institute in April of 2002.

 

Copyright Mike Beedle, 2001

 

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 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.

 

2. Agents?

 

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.,

 

 

3. Homeostasis

 

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.

 

 

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 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?

 

 

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 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.