Top Banner
Chapter 4 Self-organisation in Natural Systems Inspiring Self-organising Software Paul Marrow and Jean-Pierre Mano Self-organisation in software offers advantages in dealing with dynamic environments and extensive communication loads. Nature is the teacher we humbly have to follow, and learn from its examples. Objectives This chapter will provide the reader with an understanding of: The diversity of self-organising systems in the natural world which can provide inspiration to software development; Examples of models of natural self-organising systems which can be de- veloped or simulated in software; Examples of where inspiration from natural self-organising systems has led to applications in self-organising software. 4.1 Introduction To effectively construct self-organising software, it is worthwhile investigating ex- isting systems which are already successful in utilising self-organisation. Thus, un- ravelling natural systems is of interest, in the widest sense, meaning not just living P. Marrow BT Group plc, Ipswich, UK e-mail: [email protected] J.-P. Mano ( ) UPETEC, Ramonville Saint-Agne, France e-mail: [email protected] G. Di Marzo Serugendo et al. (eds.), Self-organising Software, Natural Computing Series, DOI 10.1007/978-3-642-17348-6_4, © Springer-Verlag Berlin Heidelberg 2011 75
29

Self-organisation in Natural Systems Inspiring Self-Organising Software

Feb 21, 2023

Download

Documents

Alex Wilshaw
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Self-organisation in Natural Systems Inspiring Self-Organising Software

Chapter 4Self-organisation in Natural Systems InspiringSelf-organising Software

Paul Marrow and Jean-Pierre Mano

Self-organisation in software offers advantages in dealing withdynamic environments and extensive communication loads.Nature is the teacher we humbly have to follow, and learn fromits examples.

Objectives This chapter will provide the reader with an understanding of:

• The diversity of self-organising systems in the natural world which canprovide inspiration to software development;

• Examples of models of natural self-organising systems which can be de-veloped or simulated in software;

• Examples of where inspiration from natural self-organising systems has ledto applications in self-organising software.

4.1 Introduction

To effectively construct self-organising software, it is worthwhile investigating ex-isting systems which are already successful in utilising self-organisation. Thus, un-ravelling natural systems is of interest, in the widest sense, meaning not just living

P. MarrowBT Group plc, Ipswich, UKe-mail: [email protected]

J.-P. Mano (�)UPETEC, Ramonville Saint-Agne, Francee-mail: [email protected]

G. Di Marzo Serugendo et al. (eds.), Self-organising Software,Natural Computing Series,DOI 10.1007/978-3-642-17348-6_4, © Springer-Verlag Berlin Heidelberg 2011

75

Page 2: Self-organisation in Natural Systems Inspiring Self-Organising Software

76 P. Marrow and J.-P. Mano

systems but also the mathematical, physical, chemical and biochemical systems thatunderlie them. Biological systems can give numerous examples of self-organisationin many different taxonomic groups and at many scales. It should not be forgottenthat human beings are themselves living organisms and human behaviour and socialinteractions can give insights into self-organisation as well.

This chapter is concerned with examples of self-organisation in natural sys-tems paying particular emphasis on how they can inspire the development of self-organising software. A number of examples are discussed, and where appropriatereferences are made to software applications that have drawn upon these naturalexamples. In some cases this provides an introduction to chapters later in the bookwhere particular examples will be considered in more detail.

4.2 Theoretical Notions

Emergence and self-organisation in natural systems are based on a number of keyunderlying concepts, which will be summarised in this section before we proceed todiscuss more specific examples.

As mentioned previously in Chaps. 2 and 3, Self-organisation is the change of agroup of entities from a disordered to an ordered state, without the need of an exter-nal driving force. This is such a general term which is difficult to define more pre-cisely. Camazine et al. [10] provide many biological examples of self-organisation.

Emergence is often described as the process driven by Self-organisation, or in-deed the two terms are confounded. There is a lack of agreement about what fallsunder the heading of emergence, except that it is generally agreed to include pro-cesses that lead to system self-organisation, and thus is relevant to this chapter. Mo-rowitz [49] attempts to review many different examples of convergence; Johnson[37] provides a popular introduction.

Natural systems, with respect to self-organisation, are often restricted to biologi-cal systems (for instance see Camazine et al. [10] for many outstanding examples).Although these biological systems depend on a complicated set of chemical andbiochemical interactions, all natural self-organising systems are based on the samemathematical and physical concepts. Some of these areas have already been men-tioned in previous chapters, but in this chapter natural systems will be further elabo-rated on to include those mathematical, physical, chemical and biochemical systemsthat are required to understand the inspiring role of living systems on self-organisingsoftware, without attempting to describe them in detail.

Evolution through natural selection underpins the majority of living systems. Themechanism for its operation was identified almost in parallel by Charles Darwin andAlfred Russell Wallace, but it is the former who most successfully publicised thislandmark scientific achievement [17]. Evolution depends on the existence of pop-ulations made up of individuals with variation in characteristics that are heritableover generations. Individuals must be able to reproduce, and the degree to whichthe parent’s characteristics are represented in the offspring depends on interactionbetween the population and its environment (selection). After Darwin’s classic work

Page 3: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 77

[17] there have been many more recent textbooks that are more accessible for thepresent-day reader (for example see Futuyma [24]).

Ecology is the study of the interaction of living organisms with each other andwith their environment. Living individuals or populations do not exist in isolation.They interact, with each other, especially to obtain food (for instance, as predators orprey), and with the resources and conditions of the environment in which they exist.Ecology is relevant to self-organising systems, and it provides inspiration for thedevelopment of self-organising software because many features of interactions inliving systems self-organise and persist without external effects, despite that externaleffects, and particularly those originating from humans, are becoming increasinglyof attention. Begon et al. [8] provide a comprehensive introduction to this topic.

Behaviour is the daily activity of animals, and although this can depend on thedecisions of individuals in isolation, these decisions often lead to the convergenceof many animals in groups, under many different names, such as swarms, flocks andshoals. Such groups may consist of many creatures whose individual intelligenceand ability are limited, as is the case in many social insects, but which can achievegreat results when combined in large swarms (see Bonabeau et al. [9]). Alternatively,more complex creatures can achieve greater self-organisation through combined in-dividual behaviours than they could alone, which is why this is an important topicfor this chapter (see Camazine et al. [10]).

4.3 Self-organisation in Non-living Systems

Chapters 2 and 3 have already introduced some of the principles involved with theconcept of self-organisation. This chapter is concerned with the inspiration that self-organisation in natural systems can provide to the construction of self-organisingsoftware. When we think of natural systems, we tend to think of living systems.However, natural systems can be also viewed from other perspectives, such as math-ematical, physical, chemical and biochemical, which underlie and can model andexplain phenomena observed in living systems. Due to space limitations, we do notexamine non-living systems in detail; we only highlight certain self-organisationaspects that have attracted researchers’ attention in recent years.

4.3.1 Chaotic Dynamics

Mathematicians have studied differential equations, both in discrete and in contin-uous time, in considerable detail. For example, Poincaré studied the properties ofequations used to describe the motion of a pendulum and showed that they are sen-sitive to initial conditions and that the error in oscillations grows exponentially asparameters are changed [3, 50]. Poincaré suggested that prediction was in that caseimpossible, but later work has shown that it is generally possible to visualise thetransition from predictable oscillations to unpredictable behaviour through phase

Page 4: Self-organisation in Natural Systems Inspiring Self-Organising Software

78 P. Marrow and J.-P. Mano

portraits or bifurcation diagrams. This unpredictable behaviour has become knownas chaos [3].

dt= −ω

q− sin θ + g cosφ, (4.1)

dt= ω, (4.2)

dt= ωD. (4.3)

Although bifurcation diagrams appear to show behaviour of extreme complexityin the chaotic region, in fact a lot of information can be gained from this analysis,such as within what range of parameters systems can be feasibly expected to self-organise into regular behaviour. The equations above represent the behaviour of apendulum forced away from its regular oscillation (see [3]), and plotting g versus ω

at a fixed phase in the cycle will produce a bifurcation diagram.It is also of interest that existing natural complex systems are in fact generated

by chaotic dynamics, and it has been suggested that many natural phenomena arisein this way [27]. Understanding when chaotic dynamics is likely to occur could bean important starting point in self-organising software development. Therefore it isnecessary to identify the types of software where self-organisation can play a role,for example in cases where some form of periodicity is likely to occur.

4.3.2 Complexity

Scientists have often approached the problem of self-organisation as part of the widesubject of complexity science. Examples of questions posed include why there is ahigh number of complex natural phenomena and how complexity can be compre-hensively defined. In particular, it is an open issue whether it is possible to definea notion of complexity that would enable quantitative complexity comparisons be-tween different systems. Gell-Mann [26] discusses several definitions of complexityand stresses that complexity measures may be theoretically or practically uncom-putable in contexts where they could be useful. Shalizi and Crutchfield [57] use anapproach based on statistical mechanics, and many other alternatives exist as well.Many researchers in complexity science refer to complex adaptive systems as a gen-eral term which covers both living and non-living systems that exhibit properties ofcomplexity, both natural and artificial, including the areas covered in this book.

If some agreement could be established on the nature of complexity, this couldcontribute to the design process of self-organising software. Software componentscould efficiently self-organise to achieve complex systems management. Alterna-tively, this understanding of complexity could be useful for identifying whetherthe self-organisation process itself is actually useful for reducing or maintainingsoftware complexity at a useful level. However, there are limited examples of suchapproaches at present time.

Page 5: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 79

4.3.3 Chemical Systems

Chemical and biochemical systems also exhibit self-organisation. A famous chemi-cal example is the oscillator discovered by Belousov, and published by Zhaboniskii,now more often known as the Belousov–Zhaboniskii or B–Z reaction (for examplesee [50]). Starting from a mixture of chemicals, this can lead to organised oscil-latory states, which have been shown to be the basis of oscillatory phenomena inliving organisms [51] as well as in non-living chemical reactions.

Chemistry was also the origin of the concept of quasispecies (see [52] cited inChap. 3), which refers to a collection of gene sequences generated by a mutation–selection process. This can be confusing because the term species intuitively leadsto some type of living organism, while quasispecies refers to groups of identicalmolecules. However, in reality not all molecules are exactly identical because muta-tion and selection actually modify them in an evolutionary manner thus transformingthem to quasispecies.

dxi

dt=

n∑

j=0

xjfjqji − φxi. (4.4)

Equation (4.4) shows how fast sequence i can be obtained, depending upon theavailability of sequence j and the rate at which sequence j can generate sequence i

through mutation and selection [52]. The φ term refers to removal of sequencesso that the total population size is constant. Based on this equation, we obtain ameans for describing the development of self-organisation through molecular evo-lution, and thus acquire insight on non-living chemical systems which can be usefulfor representing change in living systems. This information can assist in the de-velopment of self-organising software, as it would be easy to implement the aboveequation in an algorithm.

4.4 Self-organisation in Biological Systems

Fundamental to the emergence of self-organisation in biological systems is evo-lution, which is why this is considered first. Evolution depends on the interactionbetween organisms—that is ecology, which we consider next. A third general phe-nomenon of self-organisation found in many biological systems is that of patternformation, which is also described next. Subsequently, we proceed to a range ofdifferent biological systems that show particularly interesting properties relevant toself-organisation in software: cellular systems, and behaviour in vertebrates and so-cial insects.

4.4.1 Evolution

Evolution through natural selection has been responsible for the great diversity ofliving organisms, and the interaction of the outcome of biological evolution with

Page 6: Self-organisation in Natural Systems Inspiring Self-Organising Software

80 P. Marrow and J.-P. Mano

development, ecological interactions and behaviour has resulted in a great deal ofself-organising systems, from which developers of self-organising software havelearned a great deal.

The most immediate insight that computer scientists have from biological evolu-tion has been the creation of evolutionary algorithms, which implement evolutionaryprocesses in computers that are often difficult or impossible to solve by alternativealgorithms.

4.4.1.1 Biological Evolution

In biological evolution it is not easy to say when a species starts evolving: newspecies arise by the process of speciation from existing species, but there are nosimple generalisations about what this involves, and since we are often dealing withcurrent species where the only evidence for speciation is from fossils, it may be verydifficult to get details. However there is much current data indicating that biologicalevolution through natural selection is going on today (for example see [20]).

Fitness is a term used in evolutionary biology to describe the potential or actualcapability of an individual to pass on heritable characteristics to future generations.There are different ways to measure fitness depending on the species, environmentalor experimental context, and purpose of measurement. However, there is a commonfeature with which most measures of fitness correlate with reproductive success,which is contribution to offspring in future generations. Therefore, individuals thathave inheritable characteristics that produce high fitness are more likely to pass themon to offspring.

Biological offspring may be almost identical to their parents if they are pro-duced asexually. In that case the main factor that can cause changes is mutation,near-random changes in the genetic material of an organism stimulated by the envi-ronment. However many living organisms reproduce sexually, and in this case twosources of genetic material are combined to create a new genome in the process ofrecombination. Thus offspring can have very different characteristics from eitherone of their parents, and mutation can introduce some additional change.

The probability of offspring surviving and contributing to future generations de-pends, as in the case of their parents, on their fitness. Offspring fitness in turn derivesfrom the characteristics that offspring have inherited from their parents, and their in-teraction with their environment through the processes of development, ecology andbehaviour. This is selection. Since populations of living organisms last for multiplegenerations fitness development can be viewed as an iterative and evolving processsimilar to those modelled by loops in software, something that has been a key inspi-ration for the origination of evolutionary algorithms. The fitness development loopscan continue as long as a species exists, in principle until a new species arises as aresult of evolution from an old one (speciation), or until a species becomes extinct,which are both not particularly common cases.

Page 7: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 81

Fig. 4.1 Pseudocode of anevolutionary algorithm. Inactual evolutionaryalgorithms, code will besignificantly more complex.For explanation of terms, seetext

4.4.1.2 Evolutionary Algorithms

The pseudocode of Fig. 4.1 describes a very basic form of an evolutionary algo-rithm. The idea of an evolutionary algorithm was inspired by thinking about biolog-ical evolution in an algorithmic manner, while motivated by the need to find novelalgorithms to tackle problems which many existing algorithms were not very suc-cessful at finding solutions—often ones where there were multiple solutions whichwere sub-optimal and distracted from the optimal solution.

All evolutionary algorithms are based on software that describes initially a pop-ulation of individuals each of which is defined by a genotype. A genotype may beas simple as a list of integers that is used to distinguish individuals, or it may bemore complicated, depending on the nature and aims of the algorithm. A fitnessfunction created in relation to the problem that the evolutionary algorithm is createdto address is used to evaluate the fitness of each individual.

The algorithm in its simplest form then enters a loop, where the results of thefitness evaluation of the individuals in the population are used to identify whichindividuals generate new offspring. This is usually a sub-set of the existing popula-tion, depending on the threshold of fitness which must be passed for reproduction.The genotypes of the individuals that have been selected for reproduction then gothrough processes of crossover, where input from the genotype of more than oneindividual is used to generate a new genotype for an offspring individual, analogousto recombination between sexually reproducing organisms in nature, and mutation,where stochastic changes are made to the genotype of the offspring in a mannerinspired by the process of mutation in nature. The precise details and relative im-portance of crossover and mutation can vary substantially between different imple-mentations of evolutionary algorithms.

The fitness function is then used to evaluate the fitness of the offspring produced,which is compared with the fitness of the parent individuals. Low-fitness parents areremoved and replaced with high-fitness offspring. At this point the individual andmean fitness of the population can then be compared with the objective that the al-gorithm has been created to solve. Ideally such a process should lead to an increase,or at least stabilisation in mean fitness over time, and the element of stochasticityintroduced by mutation and by choice of individuals for recombination should avoidall individuals converging on an identical genotype that is sub-optimal. When thisprocess is repeated over many iterations (equivalent to biological generations), itcan lead to populations that have quite different characteristics from those startedwith.

Page 8: Self-organisation in Natural Systems Inspiring Self-Organising Software

82 P. Marrow and J.-P. Mano

Evolution has been tremendously useful in living systems in generating organ-isms that self-organise, as the following sections will indicate. Nothing that takesplace in ecology, biological development or behaviour takes place in isolation fromthe evolutionary basis of living organisms. This is even true of human behaviour,although many would argue that we are a very unusual example.

It is thus not surprising that evolutionary algorithms have also been useful inmany contexts, often relating to self-organisation. The concept of an evolutionaryalgorithm has diverged into a number of different strands, including:

• Genetic Algorithms, where the problem is represented as a string of numbers.This type of evolutionary algorithm has often been applied to mathematical opti-misation problems and was originally introduced by Holland [34].

• Genetic Programming, where the genotype itself is a program, and so the evo-lutionary algorithm process seeks to improve a program applied to a particularfunction.

• Evolutionary Programming, where the parameters of a fixed program are evolved,thus improving a program in a different way from Genetic Programming.

• Evolutionary Strategies, where problem is represented as a vector of real num-bers, and mutation rates can adapt.

Evolutionary algorithms have been applied in many different contexts such asoptimisation, network design [29], resource management [44], multi-agent systems[46] and ecology [67].

From the perspective of self-organisation perhaps their most important featureis that they can be used to optimise the control of distributed systems which wouldotherwise persist in a disordered state due to their complexity. This is inevitably truein many networked applications or services where it is no-longer possible to gain aglobal view of the network and applications running on it, because of its scale andthe rapid pace of change of operations.

4.4.2 Ecology

Ecology is the study of interactions between organisms, and between organisms andtheir environment. It is inevitably linked into evolution, because the environment,part of which is composed of other organisms, imposes a selective pressure on pop-ulations to evolve in new directions. It is linked to biological development, becausemulticellular creatures go through this period of change on the way to adulthoodduring which they are subject to pressures from their environment in ways whichare different from those that they will face as adults. Ecology is also linked to be-haviour, because individual behavioural decisions may place an organism in theunfortunate position of facing superior predators as a prey item, or in the oppositecase of identifying a tasty item of food.

Ecology is key to self-organisation in natural systems because interactions be-tween individuals and populations lead to networks of great complexity and, despite

Page 9: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 83

dynamic change, to considerable stability and robustness. Plants and other photo-synthetic organisms draw upon the Sun and chemicals available from the environ-ment to generate the nutrients they require to persist, and thus provide the basisof food chains. Herbivorous organisms live on plants but are themselves subject topredation by predators. There may be top predators (who only consume other preda-tors) in some food chains. When all cycles of energy and resources in addition tothose in between organisms are taken into account, we have an ecosystem.

Since a biological ecosystem depends so fundamentally on climate and organ-isms that can persist in appropriate environmental conditions to support herbivores,this would seem extraordinarily unstable. What is surprising is that in a lot of casesecosystems and food webs which have been observed to change so much overlengthy and detailed studies retain much similarity and appear very robust [42, 64].

A simple and classic set of equations gives us clues as to why ecological systemscan often self-organise and persist. The Lotka–Volterra equations (described in thisform in [50] for instance)

dN

dt= N(a − bP ), (4.5)

dP

dt= P(cN − d), (4.6)

were originally developed to explain predation in the Adriatic. Here N is the num-ber of prey, P the number of predators, and t is time. Although much simpler thanany realistic predator–prey interaction, they show a relevant characteristic: the in-terdependence of predator and prey—the number of one always depends on that ofthe other. So although the predator can through increased activity reduce prey num-bers, this will result in predator numbers falling because there will not be enoughto support the predator, and consequently prey numbers will increase again. Thisoscillation can allow both species to persist. Although more complicated in realecosystems, this interdependence is one of the reasons for the persistence of inter-acting species, and the complexity of biological ecosystems has inspired artificialones.

Multi-agent systems are a good example in software, where many software com-ponents interact. The DIET system was specifically inspired by ecosystems, in de-veloping lightweight agents that could be implemented into large scalable and evolv-able populations [33, 46]. Since that project, the capabilities of networked comput-ing technologies have advanced, and there is more scope for drawing upon the prop-erties of robustness despite complexity of natural ecological systems in developingself-organising software.

4.4.3 Pattern Formation

Self-organisation emerges in many living things through pattern formation: compli-cated patterns emerge through the life-history of the creature rather than any exter-nal decisions. While the majority of the diversity of living organisms on our planet

Page 10: Self-organisation in Natural Systems Inspiring Self-Organising Software

84 P. Marrow and J.-P. Mano

(something like 90%) are made up of simpler procaryotic cells and are typically mi-croscopic and unicellular, it is the more sophisticated eucaryotic minority in whichwe can see many examples of more complicated macroscopic organisms that showexamples of emerging pattern formation [62]. The slime moulds and slime nets areperhaps one of the most extraordinary examples. They form four kingdoms withinthe eucaryotes, with the common feature that they spend part of their life as single-celled organisms, grouping into multicellular structures when harsh environmentalconditions require it. What is more extraordinary is that they can disperse from thismulticellular structure if food becomes plentiful again.

The slime mould Dictyostelium discoideum has been studied a great detail togive insights into biological development, summarised in [51]. The widely studiednonlinear Belousov–Zhabotinskii reaction has been observed in Dictyostelium de-velopment and has provided a basis for the understanding of the aggregation processof individual amoebae. There is also a question of how separate cells synchronisetheir movement so as to carry out this aggregation. The secretion of the biochemicalcyclic AMP (cAMP) into the external environment has been suggested as a trigger,but it cannot be very specific if many cells are secreting it at once. Research into thisissue, reviewed in [51], suggests that modified receptors lead to variation in feed-back to cAMP, leading to spirals in biochemical density in the local environmentaround an amoeba, causing convergence from many cells secreting at different lev-els to secretion at uniform levels, and resulting movement towards each other. Thishas been supported by modelling and by experimental studies. It has been arguedthat models of this form, although not depending upon the same biological basis,can explain other types of biological synchronisation.

For applications of self-organisation in distributed computer systems, becausethis is an extremely well-understood system, it may be good in situations wheresome form of broad spread of messaging in local environments is allowed. But theincrease in messaging costs as messages spread further afield, and the lack of gainfrom convergence to multicellularity or the equivalent in a distributed system, makesit less likely to be useful in a wider context.

The animal kingdom also shows some amazing examples of pattern forma-tion. Perhaps the best comes during the development of the fruitfly Drosophilamelanogaster. This insect develops rapidly from an egg to an embryo and then anadult fly, and its embryonic development is significantly affected by mutations inrelatively few genes, making it an ideal subject for experimental study. A numberof mutant genes affect segment formation in the embryo, for example hunchback,knirps, Kruppel and giant (reviewed in [39], Chap. 13). The way that these genesoperate has been studied in detail, and the biochemical interactions between devel-oping segments are well understood. Many feedback pathways result in stable orunstable development of segments. What relevance is this to self-organised com-puting? This natural pattern formation through feedback inspired an algorithm forbandwidth allocation for adjacent cells in mobile telephone networks [60].

Page 11: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 85

4.4.4 Cellular Systems

Although many living organisms are unicellular, the most interesting spend theirmature lifespan as complex systems of cells. Even then they still pass through aunicellular “egg phase” during the process of development or ontogeny.

4.4.4.1 Development: From One Cell to n Cells

Developmental biology studies the processes that lead from one cell to a completeorganism. Considering vertebrates and many other taxa, the first step is embryogen-esis. That means broadly the differentiation of the egg cell into stream cells that willproliferate and following their genetic and local environmental pressures further dif-ferentiate to build a blueprint of the final organism. The next steps are growth, adap-tation/learning about the environment, maturation, senescence and death. Except forthe last event, cells communicate between themselves and with their environmentand generally cooperate in order to keep the organism alive. That is homeostasis.

An advantage arising from cells working collectively is particular cells can spe-cialise. Fundamentally, cells are autonomous; they carry the DNA that potentiallycan produce a rather identical organism. Although true for stream cells, this as-sertion becomes as false as cells are differentiated. Working together, cells whosecapabilities are limited can distribute their tasks and each specialise on the mostappropriate task.

Specialisation allows some cells to store energy (adipocytes, hepatocytes), oth-ers to transform energy into movement (myocytes), other to carry information (neu-rons), and other will produce molecular defences against external elements (lympho-cytes). Humans are composed of more than 220 cell types that communicate. Whenin touch, cells can identify if they are of the same type or of the same lineage—they can link up or flee, aggregate or segregate, send diffusing messages to attractor repulse other cells, help them to proliferate, or trigger apoptosis (cell suicide).Based mainly on chemical diffusion, those mechanisms generate pattern forma-tion [4, 61, 63].

Finally, differentiated cells are combined in functional tissues in organs and sys-tems. During development, cells coordinate via chemical communication that en-ables induction: a tissue produces a signal that will trigger transformation of somecells in another tissue. This new tissue will in turn produce new information and soon; the organism is further developed through a combination of genetic informationand developmental interactions.

Self-organisation is still occurring in mature organisms and increases their adap-tive potential. Beyond basic homeostasis, the nervous system and the immune sys-tem are the best examples of collective cellular adaptation.

4.4.4.2 Neural Systems

Vertebrates possess different nervous systems that manipulate and propagate infor-mation. Some of them are rather simple and autonomous like that along the gut,

Page 12: Self-organisation in Natural Systems Inspiring Self-Organising Software

86 P. Marrow and J.-P. Mano

while others are very complex and structured such as the central nervous system.The central nervous system is composed of many tissues that protect, feed and reg-ulate the neural tissue. Neurons alone are not able to deal with information, theyinteract with numerous cells, trivially, other neurons, but also myelinizing cells thatstabilise them and permit a quicker conduction of nerve impulse, and astrocytesthat help neurons in their metabolic activity, cleaning wastes and producing neu-rotrophines used for neuron growth and life.

Collectively those cells constitute a system for treatment and transmission of in-formation. Neurons use a large part of their energy to maintain an electric potentialon their membranes, and under some conditions, variation of potential can diffuseand propagate along membranes [31]. Once the electrical signal passes a threshold,that signal can become an action potential, self-maintained and propagated withoutloss down a cell’s extremities and reaching synapses which connect with other neu-rons. Synapses are connections between a neuron and another cell (most of the timeanother neuron) that transmit and modulate the incoming electric signal though achemical or electrical form to the downstream cell [11].

Neurons are cells. Despite their neural function, they interact locally via theirmembrane and using a lot of chemicals, with many other cells that can lead self-organising processes. During the brain’s early development, stream cells will differ-entiate into precursors of neurons and of glial cells, which in turn will differentiateagain to produce different kinds of neurons and glia. Embryonic brain tissue appearsvery heterogeneous, but its construction follows extremely deterministic processes.Every neuron is produced in the same region and then migrates to its final location,following a path generated by glial cells. Once its body is in place, the neuron beginsgrowth of axon and dendrites up to their targets. This growth is often controlled bysignals sent by targets, and neurons that do not receive enough signals have a greatchance to disappear. That is plasticity, a means to adapt the brain to the organism itis embedded in. Even after birth different kinds of plasticity perpetuate. Short- andlong-term potentiation and depression are known to be bases of learning and mem-ory; they refer a Hebbian regulation of synaptic information transfer by addition orsuppression of receptors and/or neuromediators [45]. Research has shown that thisplasticity has impacts beyond memory: environmental stimulation can have reper-cussions on the cortex [56], and either a perception or an organ is over-used likehearing in blind people or hands in professional violinists [53].

In spite of the first part of the nervous system being deployed before any nervousactivity [25], a second part requires spontaneous activity [58] to engender functionalsub-units (column, barrels), and a third part relies on the environment to develop[28]. The neural learning system is modified by the learning itself: the more theenvironment is informative, the more the stimulated brain will be able to deal withincoming information by producing new neurons, and conversely a brain will notdevelop correctly in an under-stimulating environment [40]. The adaptive capabilityof the nervous system is affected by stress and ageing but is still present in the adult;in the case of trauma or pathology, cortical remodelling may be induced [38]. Andthe nervous system’s robustness resides more in adaptive potentiality than in theredundancy of its neural networks.

Page 13: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 87

From the perspective of self-organising software systems, the strongest inspira-tion that the robustness and learning ability of neural systems have given is in thearea of (artificial) neural networks, much simpler computer programs than the bi-ological neural networks they are named after, but still with useful properties inlearning about their context and solving problems. Beale and Jackson [7] providean approachable introduction.

4.4.4.3 The Immune System

The vertebrate immune system arises from multiple interactions involving multipleentities; the most known protagonists and mechanisms are presented in Fig. 4.2.This system protects against external agents (which maybe pathogens) by variouscollective mechanisms. The most relevant components of the immune system arecells called lymphocytes, these are white blood cells, divided into B- and T-cells.Before their maturation, T-lymphocytes are produced randomly and are tested in thethymus: cells that do not interact with the immune proteic complex are killed, andthose cells that should trigger an immune response inside the thymus, that meansthose that react against the “self”, are also killed. This is the negative selection ofT-cells in the thymus [13].

B-cells assist the process of antigen recognition by secreting antibodies corre-sponding to an antigen (external agent). Antibodies can link to antigens by pos-sessing a complementary shape. Antigens are significant because they stimulate theimmune response, without antigens a response will not occur. There are two typesof immune response.

The primary response comes from natural or innate immunity, this response isprovoked when an antigen is encountered for the first time in the organism. TheB-cell activated by the antigen generates many antibodies oriented to the antigenshape. With this first activation the antigens can be more easily destroyed. Whenan immune response is engaged, stimulated lymphocytes proliferate and producetheir free antibodies corresponding to the antigen. During this proliferation, someDNA mutations appear in the new B-cells. These somatic hyper-mutations improvethe capacity to link to the appropriate antigen. As the affinity of an antibody to itsmatching antigen improves further, the corresponding B-cell is cloned. This processis the maturation of the immune response, an important part of the immune learningmechanism.

As maturation progresses further, it is possible to create memory cells that persistin the body for a long time in order to have the potential to generate a secondary im-mune response. The secondary response, also called acquired or specific immunity,occurs after a similar re-infection and allows the system to produce more quicklyand more massively specific antibodies by memorising the original shape of a pre-viously encountered antigen.

Based on these observations, the immune network theory tries to explain theorganisation of the immune system. This theory is based on lymphocytes abilityto enter in interactions, so constituting a network that can develop unless antigensstimulate, so as to produce antibodies. This theory is based on the assumption of

Page 14: Self-organisation in Natural Systems Inspiring Self-Organising Software

88 P. Marrow and J.-P. Mano

Fig. 4.2 A representation of the maturation of the vertebrate immune system with B-cell andT-cell paths. In both cases antigenic activation induces proliferation of cells. B-cells produce freeantibodies that link to corresponding antigenic shapes. T-cells are killer cells that produce toxinsagainst unrecognised cells either infective or tumoral

the possibility of a complete immune repertory that is be able to recognise all var-ious antigens [15]. This hypothesis was completed by Jerne [36]: if the immunerepertory is complete, antibodies of the same body would have to react with theircomplementary binding sites. In doing so, some antibodies may induce an immuneresponse against other antibodies. These two hypotheses converge in the idiotypicnetwork development theory that shows how the system can include a sufficient di-versity to recognise never met before antigens. In other words, such a stimulationnetwork potentially maps the whole universe of possible shapes. Further discus-sion about the basis of the vertebrate immune system continues among researchers,but there is no doubt that it has attracted much interest among computer scientists,interested in the way that it can stimulate self-organisation in software systems,where there is no need to mimic all the details of the natural system [12, 13].As the immune system plays a defensive role in living organisms, it has also at-tracted interest in the context of computer security, where networked machines areincreasingly exposed to unpredictable risks [12, 23]. This topic is taken up furtherin Chap. 10.

Page 15: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 89

4.4.5 Vertebrate Behaviour

The behaviour of animals has attracted much interest from one particular speciesof animal, ourselves, but may also give insights into how to design self-organisingsoftware, since animal behaviour often leads to self-organisation.

4.4.5.1 Living in Groups

Krause and Ruxton [41] and Couzin and Krause [16] consider the many benefitsto animals of group living. This may give us useful insights for developing self-organising software because natural selection has produced behaviour in differentspecies that is both robust and adaptable, very positive features in potential self-organising software applications. An important aspect of animal group living is theenhanced ability to defend against predators. Krause and Ruxton [41] identify sev-eral different forms which this could take.

• The many eyes theory suggests that synchronisation is useful because many preyindividuals can watch for predators at once, thus being able to cover more groundand being more likely to take avoidance behaviour at the right time.

• The dilution of risk model assumes that even in a large group of prey it is impos-sible for all to get eaten because of the sheer numbers. If a large group is presentall at once, the chances are that the one(s) that get eaten will not be the singleindividual that would be exposed to a high risk of predation if on its own.

• Finally the predator confusion model which relates to both the above ideas as-sumes that even when presented with an abundance of potential prey, it is difficultfor predators to decide which prey to consume. There is considerable evidencefrom the shoaling behaviour of fish subject to predation that their motion is bothdesigned to, and does in fact, confuse predatory organisms such as dolphins.

Networked software applications are under continual attack from hackers: whilecomputer security products are at a very sophisticated stage, learning from whatis already exploited in groups of animals may improve the defensive properties ofself-organising applications.

In contrast to predator-avoidance behaviour is foraging behaviour. Many foragersare herbivores and base their foraging around diurnal stimuli of the availability oftheir forage and predator-avoidance behaviour as above. But for predators foragingincludes search for prey. When prey has been identified, synchronisation of preda-tor behaviour into groups may be particularly relevant, given that other predatorsact as scavengers, typically not killing prey directly, but seeking to obtain it fromother predators. For example, Fanshawe and Fitz [22] showed that African wild dogscould defend their prey against scavenging hyenas when acting in groups rather thanas individuals.

As in the case of predator-avoidance behaviour, the number of different stimuliinvolved in generating synchronisation among many individuals that are foraging,makes it difficult to generalise from foraging to particular self-organising software

Page 16: Self-organisation in Natural Systems Inspiring Self-Organising Software

90 P. Marrow and J.-P. Mano

applications, but we can compare foraging to the intake of resources which almostany self-organising software system will need to do, therefore it is a useful compar-ison to make.

4.4.5.2 Mating Behaviour

It is obvious that mating involves an element of self-organisation and coordinationbetween individuals. Self-organisation in the context of mating behaviour is requiredso that particular sexes are able to mate at particular times (in different species, theconstraints on times when one or other sex can mate vary from extremely strict tonon-existent), and so that individuals carry out particular behaviours at appropriatetimes both prior to mating itself and in mating.

An example of a species that requires a very restricted time to reproduce is thereef-building coral Acropora millepora. Since it is sessile, multicellular individualsmust spawn almost simultaneously in order to ensure reproduction. It turns that thisis mediated by receptors that sense moonlight [43]. Since moonlight varies periodi-cally according to the orbit of the Earth around the Sun and the gravitational lockingof the Moon’s orbit around the Earth, this provides a periodic source which can bedetected all over the regions where this species of coral occurs. This could inspirea broadcast-based control of synchronisation in a networked computer system, butsuch an application would arguably be very wasteful of resources in message pass-ing.

The behaviours prior to mating may include displaying to others of the same sexin order to overcome a challenge of access to mates of the opposite sex (for sim-plification ignoring the possibility of organisms such as some fungi where in effectvery large numbers of sexes are possible), or displaying to others of the opposite sexin order to demonstrate the potential as a possible mate. For more information, seeMaynard Smith and Harper [47].

Labelling elements of a self-organising software system akin to different sexesof living organisms and allowing them to interact in a way akin to sexual reproduc-tion could be one way of controlling the organisation of multiple elements withina self-organising software system. Biologically inspired computing techniques suchas evolutionary computation, for example [34] acknowledge this in effect, by gener-ating new generations of individuals through multiplication between individuals inan existing population—but there is a lot more to draw upon in natural systems.

Lekking is another example of self-organisation in mating behaviour. Leks [59]are locations where male and female birds gather to display to each other and tobreed. A high degree of organisation by both sexes is required in order to be presentat the right location at the right time, and to display at the right time in order tocompete effectively with others of the same sex. Males display, and as a result ofthis display, females choose mates, and mating takes place.

The advantages of this synchronised mating, other than the general advantages ofliving in groups discussed above, are difficult to establish, since the species involveddo not have any physiological or anatomical limitations in mating as separate pairs.

Page 17: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 91

A suggestion is that they allow females to better assess the range of male qualityavailable, in effect browsing the male population. A lek may also reduce the levelof harassment of females by males seeking mates, because of the large number ofother individuals present of both sexes.

Synchronisation in lekking or other types of mating could definitely be carriedforward into self-organising software if software components had labels which en-forced synchronisation of this kind. A related example is from the work of Babaloguet al. [2], drawing inspiration from the synchronised signalling of male fireflies dur-ing their mating season. They use a mathematical model of this firefly signalling todrive synchronisation in an overlay network, which could be used to self-organisenetwork resources in a changing environment [2].

4.4.6 Social Insect Behaviour

The behaviour of social insects, as opposed to that of other animals, deserves asection all to itself. This is because of the extraordinary self-organising propertiesthat social insects have evolved [9, 10].

Although insects are typically much smaller than mammals and other verte-brates, and consequently have simpler nervous systems and comparatively limitedbehaviour, social insects combine simple behaviour of individuals into large groupswhich can carry out complex and efficient activities.

This arises through two properties: the evolution of specialisation of social in-sects into castes and the ability of individual insects to direct each other’s behaviourthrough stigmergy.

• Castes define the functional specialisation of individuals. In ants, bees and ter-mites, the queen is typically the sole reproductive female, resident in the nestexcept when migration is taking place. Males are rarely present, except dur-ing reproduction, when drones are the reproductive males. Workers are non-reproductive females, but they are by far the most interesting of the castes, be-cause they carry out the behaviour which keeps the nest or colony functioning,and they can collaborate in large numbers to produce outcomes of behaviour farbeyond what one could do individually (such as building a termite mound).

• Stigmergy is a process by which worker insects can learn from other workersabout what behaviour to carry out. This takes place indirectly, rather than by di-rect interaction between workers (although the latter occurs also), and may be me-diated by the environment of the nest or based on items other workers lay down.The association of pheromones with such items stimulates behaviour in otherworkers. This may be construction or foraging behaviour, for example. This is ahighly effective process because very large numbers of workers can be deployed,and if some directions are not successful in generating pheromones, there are al-ways other workers to follow alternative directions. Alternatively, if a particularlygood direction is found, many workers can coalesce from different directions toexploit a resource rapidly. See [9, 10] for more details.

Page 18: Self-organisation in Natural Systems Inspiring Self-Organising Software

92 P. Marrow and J.-P. Mano

Camazine et al. [10] give many examples of why these properties are so effectivein the life and behaviour of social insects. Because of caste specialisation, socialinsects are significantly organised, and because of response to stigmergy, workerinsects have the capability to self-organise under the right environmental stimulus,even though an individual worker has very limited capability to do so.

It is therefore not surprising that this has attracted much attention as a modelfor applying self-organisation from nature to computer systems. Researchers havestarted from the perspective of many simple entities akin to social insect workers,each with limited intelligence, and developed algorithms that can solve complexproblems. This field has become known as swarm intelligence because it builds onthe behaviour of a swarm. References [9, 19] give a variety of examples of howthis can be applied: to combinatorial optimisation, network routing, transport plan-ning, robot control and others. Further developments of this such as particle swarmoptimisation use particles flying over a fitness landscape to solve problems [54].

This only begins to consider the potential of natural social insect systems to in-spired self-organisation in software. Later in this book, Chap. 6 focuses in moredetail on stigmergy, and Chap. 13 develops further swarm-based applications.

4.5 Self-organisation in Human Behaviour

Humans cannot be considered apart from the natural context in which they exist, andin recent years the analysis of human social interactions has inspired much activityin the study of self-organising systems.

Apart from vertebrate neural systems, which provide the basis for the complexityof human behaviour and have stimulated the highly active field of modelling via ar-tificial neural networks described above, and the vertebrate immune system, whichprovides humans and other vertebrates which a higher effective defence against in-fection, but has also attracted interest in computational applications, human socialbehaviour has also attracted a great deal of interest when considering the emergenceof self-organisation. This is not at all surprising, since, wherever we look, people arepart of incredibly complicated societies embodying a great deal of self-organisation,even when this is denied by the participants. Consider your own life—even thoughthe relationships you are engaged in may seem trivial or obvious to you, considerhow difficult they would be to analyse or generalise about for a third party.

It is thus not surprising that the social networks that we humans form have be-come the subject of much sociological and scientific interest. While sociology hasbeen focusing specifically on human social behaviour for many decades, it is only re-cently that these studies have linked up with mathematical and computational stud-ies of networks which were originally carried out independently.

Page 19: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 93

4.5.1 Social Networks

It might be expected that natural systems would have properties similar to the ran-dom networks known in mathematical graph theory (which deals with network prop-erties as random graphs), given the lack of external control or order in their origin.But in many situations this is not the case: self-organising systems produce net-works that, although not completely regular, are not completely random. Ironically,Paul Erdos, a pioneer of the theory of random graphs, also stimulated an example ofsuch a self-organising network that lies between order and randomness. Erdos wasone of the most prolific mathematicians of all time, and as well as publishing anastonishing number of papers, collaborated with very many other researchers [32].

After his death, mathematicians started considering his network of collabora-tion through the concept of the Erdos number: the number of collaborative linksthrough scientific publication it takes an academic researcher to get to Paul Erdos.He, of course, has an Erdos number of 0, not needing to collaborate with himself,and his direct collaborators have an Erdos number of 1. More indirect collaboratorshave higher numbers. However it turns out that not very large numbers of links areneeded to include very large numbers of mathematicians, and researchers in otherdisciplines, in a very large network. Specifically, the clustering coefficient of theErdos number collaboration graph, which measures the extent to which nodes ad-jacent to a particular third node in a network are adjacent to each other, turns outto be dramatically smaller than would be expected for a random graph [6]. In thereal-world context, this means that mathematicians and other scientific researchersdo not pick their collaborators at random. This is not surprising, but it confirms thatsome of the networks that result from human social interaction, although largelyself-organising, are not random networks.

In fact sociologists had been addressing related problems since the 1960s. Earlyexperiments suggested that only six links were needed to connect everyone [66].Further more rigorous analysis and experiments in many different contexts showedthat not everybody in the world was connected through six links—we all know thatsome people have more or less friends or acquaintances—and that some links weremuch more important, or stronger, than others. However it does turn out that manyof the networks that can describe human social interactions, and other phenom-ena, have a particular class of mathematical properties that is distinct from randomgraphs or fully ordered networks, and have become known as small-world networksbecause the network required to describe the world turns out in some ways to besmaller than expected. The study of small-world networks has become a valid re-search area [65]. As well as human social interactions and scientific collaborations,the type of network that exhibits this property includes power distribution grids [66]and the Internet [5, 6].

Why is this relevant? In considering how to develop self-organising softwaresystems that will lead to the emergence of effective solutions from simpler com-ponents, we are often going to consider applications distributed across networks.Thus an understanding of the properties of those networks is important—and if weare considering the Internet or applications distributed across human social groups,

Page 20: Self-organisation in Natural Systems Inspiring Self-Organising Software

94 P. Marrow and J.-P. Mano

small-world properties may impact. Alternatively, self-organising systems may bedeployed as applications for many networked users. Here the individual require-ments and preferences of the users may need to be taken into account—as well asthe degree to which they interact with other users of the same or similar systems.

4.5.2 Epidemics

Ever since human beings have engaged in social behaviour, they, like other livingorganisms, have found their interaction exploited by pathogens, the cause of epi-demics. Epidemics continue to be a problem, causing much death and suffering tohumans and other organisms despite advances in medical technology. Fortunately,understanding of how to deal with them has been much advanced by the develop-ment of mathematical models to represent their impact on populations.

dX

da= −(

λ + μ(a))X(a), (4.7)

dY

da= λX − (

ν + μ(a))Y(a), (4.8)

dZ

da= νY − μ(a)Z(a). (4.9)

The equations above provide a model of the effect of an epidemic on a humanpopulation (see [1], Chap. 4). In these equations a is age, X is the proportion ofthe population that are susceptible to infection (so X(a) is that proportion at a par-ticular age), Y is the proportion that are infected, and Z is the proportion that areimmune as a result of having recovered from infection. λ is the force of infection, therate of movement from susceptible to infected, ν is the recovery rate, and μ is thedeath rate. This is simpler than many real-world biological epidemics ([1]; see alsoChap. 10 of [52]) but provides a good starting point for exploring many differentdirections for particular disease scenarios.

It is also of relevance because being able to describe an apparently disorganisedprocess through such an organised mathematical system gives clues as to how anepidemic may self-organise in nature, and has inspired computer scientists interestedin developing novel ways of information transmission across networks. Eugster etal. [21] compare the processes of biological epidemics with the requirements of in-formation dissemination in distributed systems and argue that this can be an effectivemeans of robust information dissemination in peer-to-peer or ad hoc networks. Thusthis is another example where apparently disorganised features of natural systemsshow some self-organisation and have inspired self-organisation in software.

4.5.3 Trust and Reputation

Interactions between people depend upon agreements that allow valuable items(such as goods, services, information) to be transferred. This is because without

Page 21: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 95

such agreements there is a risk that the supplier of the items will not benefit ade-quately from the transfer, and the receiver of the items will be able to take the benefitwithout compensating the supplier adequately. Trust is a level of risk accepted by anindividual in order to allow such a transaction to take place. The reason that manysuch transactions can take place is because networks of trust have built up betweenpeople and between organisations which represent collections of people. These havepartly arisen through social or familial links, but also through business profiles, orlaws, which show people, organisations or even countries as trustworthy entities todo business with. As well applying to people, it can be applied to software entities,and because of the unpredictability of interactions of self-organising systems overthe Internet is extremely relevant to the successful construction of such systems.How should trust be measured? In designing a self-organising system, anticipatingthe circumstances for the encounter of a new software entity is difficult: such anentity has no history, and should be treated with caution, perhaps behind a firewalluntil full evaluation can be completed. Entities (and in human social interactions,people) who have a history of interaction have something that can be used to cal-culate the degree of trust for a particular type of interaction. This is their history ofinteractions where they have behaved in a positive or negative fashion in relationto what was expected by other participants in the interaction, also known as theirreputation. If an entity has a good reputation, then they can be reasonably trustedin current and future interactions without threatening the performance of the self-organising system. If an entity has a moderate or poor reputation by comparison,the level of trust must be lower. Ramchurn et al. [55] provide an example of howtrust can be developed in multi-agent systems by building on reputation. Trust andreputation are very important topics when self-organising software systems maybe constructed to support applications that interact with financial systems, or thatmay be exposed to unpredictable attack from hackers and hostile software releasedacross the Internet. Ways of quantifying these concepts and implementing them inself-organising systems are dealt with in more detail in Chap. 8.

4.5.4 Gossip

The spread of information in human communication has inspired another importantarea of research into information spread in computer networks, which by its verynature is self-organising. This is through gossip. Gossip amongst people is gener-ally used to refer to the unpredictable spread of information by informal discussionbetween contacts. In fact the properties of networks of gossip in social networks canbe mimicked in computational networks. Jelasity et al. [35] describe an algorithmthat uses a gossip-like protocol to produce aggregation in large dynamically vari-able networks. A gossip-based model is focused on nodes in a network being ableto detect and connect to their neighbours through some underlying network, butthere being no need for a node to have global knowledge of the underlying network.Once having established a link with a neighbour, a node can exchange information

Page 22: Self-organisation in Natural Systems Inspiring Self-Organising Software

96 P. Marrow and J.-P. Mano

with it, and if this process is repeated many times across many links throughout thenetwork, and over many iterations, it enables the spread of information and can alsofacilitate other useful properties like the aggregation of similar nodes [35].

Gossiping, although apparently disorganised, can assist self-organisation in net-worked computing. Computational applications have related properties to computa-tional applications of epidemic information dissemination (Jelasity et al. [35] com-pare with Eugster et al. [21]). Gossip-based information spread in software is studiedin more detail in Chap. 7.

4.6 Applications

A number of different reasons for focusing on self-organisation in natural systems asinspiration for self-organising software have been discussed above, and in the pro-cess a number of different applications have been identified. This section focuses onjust two application areas, that between them have drawn upon a variety of inspi-ration from natural systems, and have where such inspiration has had considerableimpact.

4.6.1 Markets

Humans have been trading in markets as part of their social interactions for manycenturies. The development of software has allowed some of the effort of partici-pation in the market to go from the human trader to software acting on behalf ofhumans, although this is still a very active area of research with many questions stillopen about how best to deploy software in this area. One form of human activity inmarkets which has been operating for a number of centuries is the (variable price)auction, where multiple traders bid for an item with either rising or falling prices,and which trader gains the item depends on the activity of the other traders andthe terms of the auction. The speed and range of such auctions where only humantraders participate is limited by the alertness of the traders and by the communica-tions they have access to. By bringing software traders into auctions the nature ofauctions can be changed, and indeed the mechanisms of auctions and markets canthemselves be developed [18].

While such auctions could be useful for improving trading in real goods online,there is also interest in using artificial markets, to control applications. Trading ofartificial goods could be used to assign value to limited resources. Clearwater [14]first introduced this idea, in the context of resource allocation for distributed ap-plications, and this collection [14] covers a range of applications. Lewis et al. [44]combine the idea of an artificial market mediated by software agents with evolu-tionary algorithms that can optimise the agent’s trading strategies, and show thatthis can produce load-balancing across a dynamic network environment.

Page 23: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 97

However it is likely that the most effective trading agents are deployed in fi-nancial markets, and their capabilities will be carefully concealed by the financialinstitutions that use them, in order to preserve those institutions’ profits.

4.6.2 Networks

Networks can be viewed from different perspectives, by, e.g., electrical engineers,computer scientists or users sitting in front of their computer at home ordering some-thing over the Internet. But nevertheless they have similar properties (as [65] shows),and often properties of self-organising natural systems have led to applications inthe network area.

One area of application is network design. Network design can be viewed asan optimisation problem if the requirements of that network are going to remainrelatively fixed, and this is where techniques inspired by natural systems that can beapplied to complex optimisation problems, such as evolutionary algorithms, can beuseful [29].

But the demands placed on networks are typically changing. Having designed anetwork, there is the problem of network management. Historically, network man-agement has been based on a global and hierarchical top-down control viewpoint,but this is no longer appropriate with the rapid changes in computing and communi-cations technology, and the Internet itself has demonstrated the relevance of this inbeing developed in a manner that allows the addition and modification of domainsand nodes without disrupting its overall function.

Although a physical network may be tightly constrained by costs of deploymentand maintenance, there is the possibility of placing a software overlay network ontop in order to mediate management activities [2, 35, 48]. An overlay network candynamically change to aggregate similar nodes [35, 48], can synchronise behaviourbetween network nodes [2] or can mediate information transmission between nodes[35], all through management algorithms inspired by self-organisation in naturalsystems.

Once network design and management are dealt with, there is the problem thatnetworks exist in the real world, and network nodes and links are subject to con-tinual attack by hackers and by malware, software specifically designed to causeproblems. Some of these issues can be dealt with by software implemented at thenode level, such as firewalls and anti-virus software, but this has to continually be-come more sophisticated. The vertebrate immune system, which provides analogousself-organising defensive functions to living organisms (see Sect. 4.4.4.3 above) hasnot surprisingly attracted a lot of attention in computer applications [12, 23] andwill be considered further in Chap. 10.

Computer security is one aspect of the application of networks to the real world;unfortunately, there is another that is even more demanding. Networked computerand communications are required for modern warfare to take place, and it doesoccur, even though many people would like it not to. Links and nodes in networks

Page 24: Self-organisation in Natural Systems Inspiring Self-Organising Software

98 P. Marrow and J.-P. Mano

deployed on battlefields do not just risk attack by hackers and malware, althoughthat may be a problem, they risk more proximate problems of being attacked anddestroyed, as do the military serving in the field. This is a human-generated self-organising system, but it is extremely unpredictable, and robust software solutionsthat can change in real-time are needed. Healing et al. [30] use a multi-agent systemthat can adapt to the changing requirements of a battlefield environment to managea highly robust network.

4.7 Conclusion

Natural systems whatever level they are observed at, from the formal mathematical,to the physical or chemical or biochemical, to more accessible living systems, fromcells to small or large multicellular organisms, including human beings, all show aconsiderable element of complexity, a term difficult (and often subject to disagree-ment [26]) to define but suggesting some degree of dis-organisation. At the sametime they can be observed as possessing some capability for self-organisation at themathematical or physical level [3, 65], at the cellular level [4], at the evolutionarylevel [39], at the ecological level [8], or at the behavioural level [9, 10], and even inthe context of human behaviour [5, 6, 65, 66].

Not only is it possible to observe self-organisation at different levels of observa-tion in both living and non-living systems, it is also possible to represent this self-organisation through mathematical or software models which have often inspiredsoftware applications. Various applications are described throughout the text, or ref-erences are made to sources of further information about applications. Because ofthe wide range of areas covered in this chapter, the applications section focuses ononly two areas which are often addressed in different ways drawing upon inspirationfrom self-organisation in nature: markets and networks.

After reading this chapter you should have an indication of the range of sourcesof such inspiration from natural systems and of its impact on applications. Becauseof the wide range of topics covered, it is not possible to include everything in sub-stantial detail, but the reference list gives indications for further reading, and theexercises that follow provide the opportunity to explore some of the issues raised.The chapters that follow focus individually on some of the areas of self-organisingsoftware systems in more detail.

4.8 Problem–Exercises

4.1 Provide examples of interaction media that enable self-organisation processesto occur in natural systems.

4.2 Examination of night satellite pictures of United States commonly reveals a reg-ular distribution of illuminated towns, indicating a positive relation between town

Page 25: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 99

size and inter-town distances. Based on these indications, which self-organising pro-cess can be suspected?

Key Points

• Natural systems, although apparently disorganised, show many aspects ofself-organisation;

• Study of natural systems, from non-living to living, including human be-ings, has shown means of representing and modelling their self-organisingproperties;

• Based on this inspiration from natural systems, it is possible to develop avariety of self-organising software systems;

• Self-organising software systems can generate useful properties for appli-cations, especially in unpredictable environments.

4.9 Further Reading

The Vision of Autonomic Computing. A foundational introduction to AutonomicComputing. (J.O. Kephart and D.M. Chess, 2003, IEEE Computer, 36(1):41–50.)Advances in Applied Self-organising Systems. A collection of papers describingsoftware applications using self-organisation and emergence. (M. Prokopenko(ed.) Advanced Information and Knowledge Processing series, 2008, Springer,London.)Self-organisation. An instructive review article on history and present status ofself-organisation mainly in physical and biological systems. (H. Haken, Scholar-pedia, 2008, 8(1), http://www.scholarpedia.org/article/Self-organization.)Special issue on Self-organisation in Distributed Systems Engineering. A specialissue comprising papers on self-organising mechanisms and applications (F. Zam-bonelli and O.F. Rana (eds.), 2005, IEEE Transactions on Systems, Man and Cy-bernetics, Part A: Systems and Humans, 35(3).)The Science of Self-organisation and Adaptivity. A foundational review of theself-organisation and emergence concepts and models as they appear in variousscientific areas. (F. Heylighen, 2001, Knowledge Management, OrganisationalIntelligence and Learning, and Complexity, in: The Encyclopedia of Life SupportSystems, EOLSS, L.D. Kiel (ed.) 2001, Eolss Publishers: Oxford, pp. 253–280.)Swarm Intelligence: From Natural to Artificial Systems. A comprehensive bookon self-organising algorithms drawn from natural systems. (E. Bonabeau, M.Dorigo and G. Theraulaz, 1999, Oxford University Press.)Self-organisation in Biological Systems. A detailed presentation of self-organisa-tion mechanisms in biological systems. (S. Camazine, J.-L. Deneubourg, N.R.Franks, J. Sneyd, G. Theraulaz and E. Bonabeau 2001, Princeton UniversityPress.)

Page 26: Self-organisation in Natural Systems Inspiring Self-Organising Software

100 P. Marrow and J.-P. Mano

The many Facets of Natural Computing. An up-to-date review article on recentadvances in natural computing. (L. Kari and G. Rosenberg, 2008, Communica-tions of the ACM, 51(10):72–83.)Self-managed Systems and Services. An overview of the uses of self-organisationin implemented systems and services. (J.P. Martin-Flatin, J. Sventek and K. Geihs,2006, Guest Editorial of special issue, Communications of the ACM, 49(3):36–39.) That special issue includes additional relevant papers as well.The Self-made Tapestry: Pattern Formation in Nature. A very large covering bookon self-organised pattern formation with beautiful illustrations (Philip Ball, 1999,Oxford University Press).Tree of Knowledge. A didactic and easy to read book presenting authors visionon a self-organising world (Humberto R. Maturana and Francisco Varela, 1992,Shambhala, Rev Sub edition).

Acknowledgements Paul Marrow’s research is supported by BT’s Strategic Research Pro-gramme and Digital Home Research Programme. He also acknowledges the support of the EUproject CASCADAS (IST-FP6-027807) in his research on self-organising systems.

References

1. Anderson, R., May, R.: Infectious Diseases of Humans: Dynamics and Control. Oxford Uni-versity Press, Oxford (1992)

2. Babaoglu, O., Binci, T., Jelasity, M., Montresor, A.: Firefly-inspired heartbeat synchronizationin overlay networks. In: Di Marzo Serugendo, G., Martin-Flatin, J.P., Jelsity, M., Zambonelli,F. (eds.) Proc. 1st Intl. Conf. on Self-Adaptive and Self-Organizing Systems (SASO 2007),pp. 77–86. IEEE Computer Society, Los Alamitos (2007)

3. Baker, G., Gollub, J.: Chaotic Dynamics: An Introduction. Cambridge University Press, Cam-bridge (1992)

4. Ball, P.: The Self-Made Tapestry: Pattern Formation in Nature. Oxford University Press, NewYork (1999)

5. Barabási, A.: Linked: How Everything is Connected to Everything Else and What it Meansfor Business, Science and Everyday Life. Penguin Books, London (2003)

6. Barabási, A.L., Joeng, H., Ravaz, R., Néda, Z., Schuberts, A., Vicsek, T.: Evolution of thesocial network of scientific collaboration. Physica A 311, 590–614 (2002)

7. Beale, R., Jackson, R.: Neural Computing: An Introduction. Institute of Physics Publishing,London (1990)

8. Begon, M., Townsend, C., Harper, J.: Ecology: From Individuals to Ecosystems. Blackwell,Oxford (2006)

9. Bonabeau, E., Dorigo, M., Théraulaz, G.: Swarm Intelligence: From Natural to Artificial Sys-tems. Oxford University Press, London (1999)

10. Camazine, S., Deneubourg, J.L., Franks, N.R., Sneyd, J., Théraulaz, G., Bonabeau, E.: Self-Organization in Biological Systems. Princeton University Press, Princeton (2001). 2nd edn.(2003)

11. Cariani, P.: As if time really mattered: temporal strategies for neural coding of sensory infor-mation. Commun. Cognit. Artif. Intell. 12, 161–229 (1995)

12. Castro, L.D., Timmis, J.: Artificial Immune Systems: A New Computational Intelligence Ap-proach. Springer, Berlin (2002)

13. Castro, L.D., Timmis, J.: Artificial immune systems as a novel soft computing paradigm. SoftComput. 7, 526–544 (2003)

Page 27: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 101

14. Clearwater, S. (ed.): Market-Based Control: A Paradigm for Distributed Resource Allocation.World Scientific, Singapore (1996)

15. Coutinho, A., Möller, G.: B cell mitogenic properties of thymus-independent antigens. Nat.,New Biol. 245, 12–14 (1973)

16. Couzin, I., Krause, J.: Self-organization and collective behaviour in vertebrates. Adv. StudyBehav. 32, 1–76 (2003)

17. Darwin, C.: The Origin of Species by Means of Natural Selection or the Preservation ofFavoured Races in the Struggle for Life. Penguin Books, Harmondsworth (1982), reprint edn.

18. Dash, R., Jennings, N., Parkes, D.: Computational mechanism design: a call to arms. IEEEIntell. Syst. 18(6), 40–47 (2003)

19. Dorigo, M., Gambardella, L., Birattari, M., Martinoli, A., Poli, R., Stützle, T. (eds.): Proc. 5thIntl. Workshop on Ant Colony Optimization and Swarm Intelligence (ANTS 2006). Springer,Berlin (2006)

20. Endler, J.: Natural Selection in the Wild. Princeton University Press, Princeton (1986)21. Eugster, P., Guerraoui, R., Kermarrec, A.M., Massoulié, L.: Epidemic information distribution

in distributed systems. Computer 37, 60–67 (2004)22. Fanshawe, J., Fitz, C.: Factors affecting the hunting success of an African wild dog pack.

Anim. Behav. 45, 479–490 (1993)23. Forrest, S., Hofmeyer, S., Somayaji, A.: Computer immunology. Commun. ACM 40(10), 88–

96 (1997)24. Futuyma, D.: Evolution. Sinauer, Sunderland (2005)25. Gazzaniga, M.: Organization of the human brain. Science 245, 947–952 (1989)26. Gell-Man, M.: What is complexity? Complexity 1, 1–9 (1995)27. Gleick, J.: Chaos: The Making of a New Science. Penguin Books, London (1988)28. Greenough, W.: What’s special about development? Thoughts on the bases of experience-

sensitive syaptic plasticity. In: Greenough, W., Juraska, J. (eds.) Developmental Neuropsy-chobiology, pp. 387–407. Academic Press, New York (1986)

29. He, L., Mort, N.: Hybrid genetic algorithms for telecommunications network back-up route-ing. BT Technol. J. 18(4), 42–50 (2000)

30. Healing, A., Ghanea-Hercock, R., Duman, H., Jakob, M.: Nexus: self-organising agent-basedpeer-to-peer middleware for battlespace support. In: Pechoucek, M., Thompson, S., Voos, H.(eds.) Defense Industry Applications of Autonomous Agents and Multi-Agent Systems, pp. 1–14. Birkhäuser, Basel (2008)

31. Hodgkin, A., Huxley, A.: A quantitative description of membrane current and its applicationto conduction and excitation in nerve. J. Physiol. 117, 500–544 (1952)

32. Hoffman, P.: The Man Who Loved only Numbers: The Story of Paul Erdos and the Search forMathematical Truth. Fourth Estate, London (1999)

33. Hoile, C., Wang, F., Bonsma, E., Marrow, P.: Core specification and experiments in diet: a de-centralised ecosystem-inspired mobile agent system. In: Proc. 1st Intl. Conf. on AutonomousAgents and Multi-Agent Systems (AAMAS’02) (2002)

34. Holland, J.H.: Adaptation in Natural and Artificial Systems. MIT Press, Cambridge (1975).2nd edn. (1992)

35. Jelasity, M., Montresor, A., Babaoglu, O.: Gossip-based aggregation in large dynamic net-works. ACM Trans. Comput. Syst. 23(3), 219–252 (2005)

36. Jerne, N.: The somatic generation of immune recognition. Eur. J. Immunol. 1, 1–9 (1971)37. Johnson, S.: Emergence: The Connected Lives of Ants, Brains, Cities and Software. Penguin

Books, London (2002)38. Kaas, J.: The reorganization of sensory and motor maps after injury in adult mammals. In:

Gazzaniga, M. (ed.) The New Cognitive Neurosciences, pp. 223–236. MIT Press, Cambridge(2000)

39. Kaufman, S.: The Origin of Order: Self-Organization and Selection in Evolution. Oxford Uni-versity Press, New York (1993)

40. Kempermann, G., Gast, D., Gage, F.: Neuroplasticity in old age: sustained fivefold inductionof hippocampal neurogenesis by long-term environmental enrichment. Ann. Neurol. 52, 135–143 (2002)

Page 28: Self-organisation in Natural Systems Inspiring Self-Organising Software

102 P. Marrow and J.-P. Mano

41. Krause, J., Ruxton, G.: Living in Groups. Oxford University Press, Oxford (2002)42. Lawton, J.: Food webs. In: Cherrett, J. (ed.) Ecological Concepts: The Contribution of Ecology

to an Understanding of the Natural World, pp. 43–73. Blackwell Scientific, Oxford (1989)43. Levy, O., Appelbaum, L., Leggat, W., Gothlif, Y., Hayward, D., Miller, D., Hoegh-Guldberg,

D.: Light-responsive cryptochromes from a simple multicellular animal, the coral Acroporamillepora. Science 318, 467–470 (2007)

44. Lewis, P., Marrow, P., Yao, X.: Evolutionary market agents for resource allocation in decen-tralised systems. In: Rudolph, G.T. (ed.) Parallel Problem Solving from Nature—PPSN X.LNCS, vol. 5199, pp. 1071–1080. Springer, Berlin (2008)

45. Marrone, D., Petit, T.L.: The role of synaptic morphology in neural plasticity: structural inter-actions underlying synaptic power. Brains Res. Rev. 38, 291–308 (2002)

46. Marrow, P., Hoile, C., Wang, F., Bonsma, E.: Evolving preferences amongst emerging groupsof agents. In: Alonso, E., Kudenko, D., Kazakov, D. (eds.) Adaptive Agents and Multi-AgentSystems: Adaptation and Multi-Agent Learning, pp. 159–173. Springer, Berlin (2003)

47. Maynard Smith, J., Harper, D.: Animal Signals. Oxford University Press, Oxford (2003)48. Michiardi, P., Marrow, P., Tateson, R., Saffre, F.: Aggregation dynamics in service overlay

networks. In: Di Marzo Serugendo, G., Martin-Flatin, J., Jelasity, M., Zambonelli, F. (eds.)Proc. 1st Intl. Conf. on Self-Adaptive and Self-Organizing Systems (SASO 2007), pp. 129–140. IEEE Computer Society, Los Alamitos (2007)

49. Morowitz, H.: The Emergence of Everything: How The World Became Complex. OxfordUniversity Press, Oxford (2002)

50. Murray, J.: Mathematical Biology, 2nd edn. Springer, Berlin (1993)51. Nagano, S.: Modeling the model organism Dictyostelium discoideum. Dev. Growth Differ. 42,

541–550 (2000)52. Nowak, M.: Evolutionary Dynamics: Exploring the Equations of Life. Belknap Press of Har-

vard University Press, Cambridge (2006)53. Pantev, C., Oostenveld, R., Engelien, A., Ross, B., Roberts, L., Hoke, M.: Increased auditory

cortical representation in musicians. Nature 392, 811–814 (1998)54. Poli, R., Langdon, W., Marrow, P., Kennedy, J., Clerc, M., Bratton, D., Holden, N.: Commu-

nication, leadership, publicity and group formation in particle swarms. In: Dorigo, M., Gam-bardella, L., Birattari, M., Martinoli, A., Poli, R., Stützle, T. (eds.) Proc. 5th Intl. Workshopon Ant Colony Optimization and Swarm Intelligence (ANTS 2006), pp. 132–143. Springer,Berlin (2006)

55. Ramchurn, S., Jennings, N., Sierra, C., Godo, L.: Devising a trust model for multi-agent inter-actions using confidence and reputation. Appl. Artif. Intell. 18, 833–852 (2004)

56. Rauschecker, J., Korte, M.: Auditory compensation for early blindness in cat cerebral cortex.J. Neurosci. 13, 4538–4548 (1993)

57. Shalizi, C., Crutchfield, J.: Computational mechanics: pattern, prediction, structure and sim-plicity. J. Stat. Phys. 104, 816–879 (2001)

58. Skarda, C., Freeman, W.: How the brain makes chaos in order to make sense of the world.Behav. Brain Sci. 10, 161–195 (1987)

59. Sutherland, W.: From Individual Behaviour to Population Ecology. Oxford University Press,Oxford (1996)

60. Tateson, R.: Self-organising pattern formation: fruit flies and cell phones. In: Proc. 5th Intl.Conf. on Parallel Problem Solving From Nature (PPSN-V), pp. 732–742. Springer, Berlin(1998)

61. Thompson, W.: On Growth and From, 2nd edn. Cambridge University Press, Cambridge(1966)

62. Tudge, C.: The Variety of Life: A Survey and a Celebration of All the Creatures that Haveever Lived. Oxford University Press, Oxford (2000)

63. Turing, A.: On the chemical basis of morphogenesis. Philos. Trans. R. Soc. Lond. B, Biol. Sci.237, 37–72 (1952)

64. Waring, R.: Ecosystems: fluxes of matter and energy. In: Cherrett, J. (ed.) Ecological Con-cepts: The Contribution of Ecology to an Understanding of the Natural World, pp. 17–42.Blackwell Scientific, Oxford (1989)

Page 29: Self-organisation in Natural Systems Inspiring Self-Organising Software

4 Self-organisation in Natural Systems Inspiring Self-organising Software 103

65. Watts, D.: Small Worlds: The Dynamics of Networks Between Order and Randomness.Princeton University Press, Princeton (1999)

66. Watts, D.: Six Degrees: The Science of a Connected Age. Vintage, London (2004)67. Yao, X., Lui, Y., Li, J., He, J., Frayn, C.: Current developments and future directions of bio-

inspired computation and implications for ecoinformatics. Ecol. Inf. 1, 9–22 (2006)