The term self-organisation, or emergent behaviour, may be used to
describe behaviour structures that emerge at the global level of a system due to the
interactions between lower level components. Components of the system have no
knowledge about global state; each component has only private internal data and
data that it can observe from its immediate locality (such as environmental factors
and the presence of other components). Resulting global phenomena are, therefore,
an emergent property of the system as a whole. An implication of this when creating
artificial systems is that we should not attempt to program such kinds of complex
behaviour explicitly into the system. It may also help if the programmer approaches
the design from a radically different perspective than that found in traditional
methods of software engineering. This talk outlines a process-oriented approach,
using massive fine-grained concurrency, and explores the use of occam-pi's mobile
processes in the simulation of a classical ant colony.