-Formal and Informal Systems
(general problem solving
-> which process requires which data, when and in what format?
-> what infomation is available, what is required and is it
(too much (or too little?) garbage, poor communication, lack of
PROGRAMMING STRATEGIES, PARADIGMS AND METAPHORS
I. Introduction -The Need for Metaphors:
a. What you think is what you get:
Theoretically, The "TURING MACHINE" which forms the basic theoretical
model for the computer is a "UNIVERSAL SIMULATION MACHINE". In other
words it should be able to simulate any process which can be formally
described as a machine.
Actually, the original model was developed in terms of a "PROBLEM
SOLVING MACHINE" which limited its application to situations where
it was theoretically possible to compute an answer within a finite
number of steps (i.e. The COMPUTABILITY problem). Today such an idea
is rather ridiculous as theoretically excludes the computer from
simulating any process that is not predictably finite.
Nowadays computer controled power stations, chemical factories and
telephone systems are everyday examples of continuous processes which
have taken over by the machine. One might even ask what is the
"computability" of a text-editor, a cad-cam package or even a video-game?
However, the paradigm shift from a machine providing finite solutions
for specified problems to a machine managing complex control and
communication systems in continuous use demonstrates how important our
concept of the machine is in determining what it can actually do.
This Text is involved with an attempt to try and explore the different
principles on which conceptual models may be based, to try and order
them within some kind of Meta-System (which may help us to discover
new principles) and to explore some of the implications of basing
models on the different principles.
b. Worlds of Convenience:
i. Freedom versus Efficiency:
How big must a toolbox be? One tool which does everything
-just takes about two hours to convert it from a screwdriver into
a hammer, unfortunately it does not cut very well.
ii. Finding Things: (Global and Local adresses)
Global coordinates, Postal address, e-mail address
Names may be useful labels for determining which object
(or possibly subject) we are referencing, but they are
usually fairly arbitrarily assigned, which is reflected
by the difficulty we may have in remembering which label
belongs to which object.
Adresses are not arbitrary "labels" but are in fact
"locations" specifying where things can be found.
Obviously they can also function as Names. Although
we might have emotional objections we could name a
complete family as: Mr & Mrs Flat 33-b, 1st child Flat 33-b,
2nd child Flat 33-b, etc...
An interesting feature of the example above is the fact
that it mixes locations in time and space. Flat 33-b is
obviously a location in (Local) space (although we do not
know its location in Global space (i.e. which Street, which
Town or which Country). 1st child (Primus), 2nd child
(Secundus), 3rd child (Tertius), etc... are obviously
locations in time. The Roman names demonstrate perfectly
how adresses can also become labels (and also how long
clumsy systems can be compacted to more elegant ones).
Coordinates in Space: (cartesian, polar -dimensions)
c. What you've Got is What you Get:
-Material or conceptual qualities and Cross Media mapping.
i. Context Free and Context Dependant:
Essentially the ontological choice between a neo-platonic world
of things which have existential identitities which are inherent
and are everywhere and always the same (i.e. Context Free) or a
world of flux and change where enviroments are not only created
by the things which compose them but the component parts also
derive their identities from the environment of which they are
part of (i.e. Context Dependant).
i.e. As children of the post-railway age, most of us have learnt
at an early age that clocks in principle agree regarding TIME
-independant of where we may be at the time. So having learned
that TIME is Context Free it tends to confuse us when we start
crossing Time-Zones and we discover that Time is in fact Context
Dependant. Perhaps even more fascinating is the fact that
North-South journeys do not affect TIME so TIME is dependant not
on Distance but on Speed and Direction.
ii. Evolution and Environment:
The story goes that Darwin "Discovered" the Theory of Evolution
by noticing local physiological variation in species as a result
of behavioural differences forced upon them by variation in the
i.e. If local conditions caused a bird to eat seeds larger than
normal then the birds beak will need to adapt to the heavier work.
Evolutionary Theory started a Religious battle which is still
being fought by fundamentalist believers of the Christian Bible.
Unfortunately, the subtle paradigma shift from a Context Free
(neo-Platonic) world to the Context Dependant world implied by
Evolutionary Theory, although often applied in practice, seems
often to avoid our concious recognition.
Perhaps Darwinian Evolution has also killed the Humanistic Dream
of Human Free Will. The manipulators of behaviour have now
learned that to try and persuade people to change their behaviour
is a waste of time -one simply has to modify the environment
and the subjects behaviour automatically changes to fit in with
the new environment.
iii. Paradigm, Metaphor, Context and Inteligence:
Inventing Form and Differentiation in order to simplify the
organization and improve control of the Universal Simulation
Perhaps the most important Metaphor for the computer is to be
found in the childrens stories about people who release a spirit
from a bottle and are given three wishes as reward. Generally, the
wishes are badly formulated and the results of the wish-fulfilment
d. Conceptual levels:
switching to colour.
-binary switch in parrallel allows range of numbers to be
constructed (conversion by converting n-dimensional space
to one-dimensional space). These numbers can be used to code
colours (which are also points in a minimally three-dimensional
At this point, humans and machine will be literally talking
different languages. The machine will presumably continue to
operate on the binary level but the human will tend towards
interpretation in terms of visible colours (or perhaps their
e. Syntactic and Semantic:
Linnehan: -Uniting the Algorithmic with the Iconographic.
-what it does
points (the realized) in a gramatical space (the potential).
II. Application Levels
1. Data Paradigms:
(organisation of data storage)
-Numerical (integer, real, imaginary)
-Unordered (strings, lists and sets)
-Ordered (structures and parametrical space)
2. Programming Language Paradigms:
-compiled or interpreted
-functional or procedural
-universe of discourse
(repertoire of elements and procedures)
(structured or unstructured)
3. Processing Paradigms
-Functions and Lookup Tables
4. Organisatorial Paradigms:
-string interpretations (logical switches)
-scanning (cell automata and Turing machines)
-movable finite automata
-intra- and internet
5. Control Strategies:
-"Clock" or "Logic" driven Events
Are a series of events triggering a threshold which is "High"
and there is a fractional increase towards the threshold.
Involve a single (logical, mathematical) condition triggering
a threshold which is "Low" so it is a binary threshold.
Mixed (Meta) Systems:
Events triggered by either clocks or logic can also be
used to trigger a threshold on a (higher) meta-level.
6. Design Strategies:
-Top Down or Bottom Up
-Exploration or Expression
-Syntactic and Semantic Dialogue
(mapping levels of interpretation)
-Construction, Deconstruction and Reconstruction
7. Some Traditional Media Metaphores
-Puppetry (control and
-Printmaking (layered construction)
-Gardening (umpiring automatic
(formal rules and strategies)
III. Some General Strategies
1. Logical Paradoxes and Theorems
A conditional statement which changes the state of the variable
upon which it is conditional functions as a self locking door
and may be useful for initializing variables.
IF z=0 THEN z=1: (initialize): ENDIF
b. Endless Loops
Conditional loops which never achieve their terminal condition
are useful for maintaining processes which never end.
WHILE z=0: WEND
c. Catalytic Starts
Some processes may work perfectly but are unable to begin.
For example, a system which adds the values of three neighbouring
pixels and increments the middle pixel by that value will never
change if initiated in a field of zeros.
d. Unstable Switches
A set of unstable states can be created by generating a logical
i.e. in an array of variables each variable is incremented by
the value of it's lower neighbour if it is equal or smaller than
it's higher neighbour.
Assuming that the array is linked in a ring form so that the
highest element is concidered as being a (lower) neighbour of the
first element and the values of the elements cycle through their
maximum values and become smaller -then it is obvious that not all
elements in a ring can be equal or smaller than their following
2. (Statistical) Analysis and Interpretation Systems
3. Codes and Message Passing Systems
4. Conversion, Scaling and Interfacing
IV. Self Modifying Systems
Abstraction -Looking for Basic
Simplification -Parametrification of
Modularization -Define Basic
Grammatize -Define Combination
VI. General advice
-complexity can only be achieved through simplicity
-emphasis on exploring system and not achieving specified aims
-accessability of data (storage structures).
Amsterdam, May 1997