These are some of the latest conclusions
of my research project "Living Metaphor".
(unfortunately the server may be
down for maintenance a few hours tonight.)
I am thinking of submitting some of this content
to one or more of the aLife, agents, OnWard!, or
Feyerabend conferences and workshops but I would
like to hear comments from others on these ideas:
As defined by Alexander "Each pattern is a three-
part rule, which expresses a relation between a
certain context, a problem, and a solution."
He also says that:
"The pattern is, in short, at the same time a thing,
which happens in the world, and the rule which tells
us how to create that thing, and when we must create
it. It is both a process and a thing; both a
description of a thing which is alive, and a
description of the process which will generate that
thing (p. 247)."
From this perspective, patterns are similar to
the genes encoded in the DNA that are waiting to
be activated by an appropriate proteinic context. And
as with genes, when the correct context is found,
patterns are triggered and generate structure.
As in genetics, part of the resulting
context, and initial context of other patterns,
is the structure generated by the pattern. In
biological systems the resulting context/initial
context for other genes to be active is the
existing generated structure and the generated
The main difference from organic systems is that
in systems where there are humans that enforce
the patterns (rules), or in software systems where
the patterns are enforced by the software, the
patterns can be enforced at any level of structure,
not only at the equivalent "cellular level".
Also, most systems created and/or maintained by
humans do not have the same level of dynamic
complexity as organic systems do. For example,
there is limited or no self-organization,
autocatalysis, metabolic (self-regulation), or
However, it would be perhaps desirable to have the
above dynamic characteristics present in
man-made systems to more closely resemble
the properties of living systems.
2) Pattern Languages
Pattern languages are "concurrent rule systems"
that generate structure by the application of
one or more sequences of patterns.
In this regard, pattern languages play the same role
upon systems that DNA plays in organic systems.
In organic systems one or more genes may be
active in a single cell, and other cells will also
have independent and different activations.
Similarly, in systems where human intervention is
required to enforce the patterns in the pattern
language, all of the rules' contexts need to be
periodically and concurrently evaluated, to guarantee
that all triggered patterns are executed at any one
This requirement makes applying pattern languages
hard because in a system there might be one or
more concurrent processes that evaluate patterns
simultaneously. Yet, at any one time, the existing
local generated structure must be part of the
initial context for every pattern. (This is another
way of saying �the solution introduces new
problems� i.e. the BART experiment.)
The executed patterns in turn generate
the correct structure for the system - adapting and
providing self-organizing mechanisms for
the system as time goes by.
Sequences of patterns are formed by the execution
of rules linked in a network of "contexts" and
In general, and depending on pattern context:
a) patterns execute in *any order* that conforms to
the structure of "context and "resulting contexts"
dictated by the pattern language. i.e. a sequence
may be started in a low, medium or high level
However, most pattern languages tend
to form a proto-skeleton and then fill in the details,
just as an embryo emerges into a living form.
b) a pattern, or a subsequence or patterns,
may be executed many times (in iteration or
recursion). More on this in Self-Organization below.
c) different patterns may be triggered given external
parameters or conditions. The pattern language,
through its "morphological completeness" clause
will provide paths to generate different structures,
akin to the generation of different cell types.
Also, similar patterns need not be contained exactly
in one another. There might be overlapping structure.
(A city is not a tree.)
d) several sequences might be executing for the
same system at any one time.
e) as in rule systems, a sequence may be
partially executed and then wait for a temporal
or structural condition that may activate the
execution of the sequence.
4) Emergent Structure
As patterns in a pattern language generate structure,
the emergent structure together with other local
conditions defines the context of where other
This is akin to morphogenesis -- the embryo _and_
the localized proteinic substrate determines
what proteins are next generated by the ribosomes
as guided by the triggering of active genes, and
this in turns determines cell differentiation
In dynamical systems some patterns can form sequences
of patterns that form autocatalytic chains,
akin to the organic proteinic self-organizing
autocatalytic chains in cellular processes and/or
These self-organizing chains contribute in many ways
to the system:
a) it provides dynamical inertia to the system. More
on this on
b) contributes to the adaptation of the system, as per
Stu Kauffman�s conclusions: adaptation depends on
self-organization and natural selection. See �The
Origin of Order�.
The stability of the generated system
strongly depends on the amount of
structure controlled by the pattern language,
and in the strength of the pattern sequences
in either autocatalytic or simple sequence form.
This is akin to how a living system is able to
maintain metabolism and continued structure
embedded in a soup of bacteria, viruses, other
living organisms, and chemicals that do not
directly contribute to the living form.
A important adaptive feature is the introduction of
new patterns into the system. This provides the
ability to generate new structures that allow the
system to adapt to new situations, but in addition,
it may also contribute to the formation of new
autocatalytic (self-organizing) mechanisms, that
stabilize the system over time.