Complex Systems and Patterns

5 downloads 0 Views 119KB Size Report
observer can see the entities and relationships of the system and thus is able to fully .... identical to the software design pattern called 'composite', but the.
Complex Systems and Patterns Ir. Ing. Cornelis P. PIETERS, University for Humanistics, Utrecht, the Netherlands

ABSTRACT Although the term 'pattern' is often used in science, it is an elusive term and can have different dialectic meanings in various disciplines. Yet, the 'feel' for this term is fairly consistent; it usually requires little explanation to understand what a pattern is, and therefore it usually tends to be used informally. Perhaps only in building architecture and software design, patterns are used in a more rigid fashion, as a methodological construct to solve recurring problems. This paper aims to argue that patterns, used in a slightly different way, can provide the same strength in order to improve communication amongst scientific disciplines. It is claimed that this advantage is more than a linguistic trick, but rather is based on the notion that discovery of patterns is in fact the essence of most scientific endeavours, especially in complex systems theory. Keywords: Patterns, Complex Systems, Information Theory

1. INTRODUCTION In building architecture and software engineering, (design) patterns are usually defined along the lines of 'a common solution that can be applied to a common problem' (Cade & Roberts 2002:58). The success of these design patterns in for instance software engineering is remarkable, especially their ability to improve communications between people with different backgrounds and stakes, such as programmers, managers and endusers of a software product. However, the definition reflects the specific way patterns are used here, and it will be clear that they cannot be transferred easily to describe, for instance, a pattern observed in the Milky Way or in social interactions. This paper explores what modifications are needed to the concept of ‘patterns’ in order to utilise these strengths in cross-disciplinary communications, and especially for (complex) systems theory, which has always aimed for certain synthesis amongst scientific domains. An outline of how patterns could be used will be sketched. It stands to reason that if patterns can fulfil their promise, that this paper should be able to use them effectively in a discussion on science and methodology.

2. THE ‘PROBLEM’ OF SCIENCE Many scientists, philosophers and communicators of science observe that one of the main problems of modern scientific practice is the sheer complexity of its deliverables. In order to cope with this complexity, scientific practice tends to a rigid specialisation that results in 'speciality bubbles' (Laszlo 1997), isolated pockets of knowledge that hardly manage to reach beyond the confines of a certain scientific discipline: “The unfortunate consequence of such speciality barriers is that knowledge, instead of being pursued in depth and integrated in breadth, is pursued in depth and isolation” (Laszlo 1997: 2)

Laszlo considers a 'Systems View of the World' to be a potential remedy for this condition which, coarsely stated, combines a holistic world-view with certain 'organic' perspectives that are being pursued in biology and related areas (Godfrey-Smith 2003). When looking at contemporary developments in especially complex systems theory and research areas that investigate complex phenomena (Waldrop 1992), one can safely say that such 'systemic views' have as yet not brought the synthesis that was reverently hoped for. Many interdisciplinary research into these areas have by now become speciality bubbles themselves, and one could argue that this is probably the natural way for science to evolve, as it closely resembles the dynamics of increasing complexity in Nature. However, it seems a bit sour that complex systems theory has fallen ill with the disease it aims to remedy. As an example from my current research -with a personal professional background in electronics and information science-, which is in the field of humanistics, there is an enormous gap between the mathematically oriented research on complex systems and the more or less philosophically inspired ‘complexity thinking’ in the humanities. (Statistical) mathematics only has limited added value for the latter, but conversely the multifarious theories in the humanities are often hard to transform to useful more or less formal models, if at all there is consent on which of these –often conflicting- theories should be preferable in the first place. Therefore it is difficult, even when concentrating on theory of ‘complex systems’ or ‘complexity thinking’, to assess the various contributions for their cross-disciplinary relevance, for instance when trying to match patterns that are known in technical systems –say convergence to certain goals- with social theory. It can be argued that the engineering sciences, but probably most scientific disciplines with a strong practical focus, already face the problem that the limitations of mathematical rigour become manifest, but the ideal of certain formal strictness remains. In this light it is not surprising that software engineering -the art of creating formal constructs- has reverted to a form of formalised schematics beyond a certain level of complexity, especially at the level of human interactions, such as architectural design and user interfaces (Pieters 2008)1. One possible source of the chronic condition of speciality bubbles may be situated in our abilities to observe. As Smaling has pointed out, complexity thinking implied a radical reframing of observation that had dominated science since the Ancients (Smaling 2005). Our Universe was once considered fundamentally parsimonious, and scientific endeavour aimed to discover the elegant simplicity in the noise and distortions that sometimes clouded human observations. The principle of Ockham's (or Occam's) razor reflects this notion of parsimony, but 1

This of course is closely related to the disputes between the ‘neats’ and the ‘scruffies’ in computer science the last decades of the previous century.

the work of Keppler, Galilei, Newton are also amongst its extremely successful exponents. The advent of scientific tools such as the computer has been paramount in changing our views on complexity. Suddenly simple recurrent formulas such as the Malthusian logistic differential map displayed disturbingly complex, even chaotic, behaviour (Gleick 1990), as were interactions between three or more mass-bearing bodies. Complexity has become the norm, and at best only certain aspects of this complexity behaves parsimoniously. The difference between 'essence' and 'details', in the words of the late Stephen Jay Gould (Gould 2003), is the result of selections of the observer, rather than a phenomenological distinction of reality. This complexity requires new manners of framing, and one of the more successful attempts to achieve this is usually called 'general systems theory, which matured in the 1950's and 1960's (Luhmann 1997)

3. General Systems Theory General Systems Theory (GST) has many founding fathers, as it formalised many inherent developments that were already taking place in physics, engineering and biology. In the last discipline, usually Bertalanffy (1952) is considered a pioneer, but in engineering and physics many of the concepts of general systems theory can be traced back to the turn of the nineteenth century and maybe even further than that. GST is based on a very useful distinction between system and environment, where the observer's focus is on the system. A system interacts with its environment through input and output signals. A system can be further split up in entities and (their) relationships, which together define and describe the system's function. In essence, this paradigm captures a 'systems view' of the world, which is holistic in the sense that it captures a 'whole' (the system) and its elements (the entities and relationships). The systemic paradigm is closely related to concepts as white-box and black box approaches and reductionism (Weinberg 1975,2001:105). A white box approach basically means that the observer can see the entities and relationships of the system and thus is able to fully describe the system itself. Conversely, a black-box approach assumes that the internal structure of the system is unknown and that this has to be constructed by carefully examining the responses of the system's output to certain input signals. Last, reductionism is an attempt to break the system up in its components, with the underlying idea that one can thus come to a white-box view of the system. Reductionism is normally considered the antithesis of holism. The 'holism' of GST can in retrospect be considered as being only partially holistic as it tends to ignore the dynamics of the environment. Pieters has argued that one mechanism of GST, namely feedback (Black 1937), already lay an axe at the root of the system-environment paradigm, as it is known that feedback changes the behaviour of a system, and that the input- and output signals allows feedback through the environment (Pieters 2008). Recent developments such as (autonomous) agent systems (Wooldridge 2000) make the distinction extremely complex, as environment can be distinguished at the level of the entities (the agents) as well as the system (Pieters 2003, 2005). In the words of Paul Cilliers, the South African philosopher on complexity and complex systems:

'There is thus no safe “inside” of the system, the boundary is folded in, or perhaps, the system consists of boundaries only. Everything is always interacting and interfacing with others and with the environment; the notions of “inside” and “outside” are never simple or uncontested ' (Cilliers 2001:6) The emergence of complex systems theory has made the limitations of the classic paradigms of GST quite clear, but alternative approaches have as yet not really surfaced. A 'Systems world view' as Laszlo advocates would be clearly insufficient if he refers to the classical notion of GST, but more elaborate approaches are as yet far from mainstream. Holland for instance advocates a 'toolbox approach' to complexity, and has identified a number of 'building blocks' that could serve as base for building and modelling complex systems (Holland 1995). Other candidates might be network theory (Barabasi 2003, Castells 2000, Latour 2005), but these already show vastly divergent dialects in for instance the mathematical disciplines and the social sciences. The fact that such visions, and others beside them, have still not become commonplace in a wide variety of scientific disciplines, suggest that they currently have too little added value to address the challenges of the individual scientific disciplines. It can be argued that this is indeed the case as, at a basic level, the paradigms do little more than acknowledge the aspect of 'systems of systems' (Luhmann 1997:63). 'Entities' are replaced by (sub-) systems in a certain hierarchy that includes vertical relationships (along the hierarchy) as well as horizontal ones (between subsystems in a system). It will be clear that this indeed will allow further expansion of a systems view, but somehow it seems restrictive when the full potential of complex systems is put into play, such as emergence (Holland 2003), autopoiesis (Maturana & Varela 1992) or a concept from the neuro-sciences such as 'massive parallel re-entry' (Tononi & Edelman 2003). It is here that 'patterns' seem to promise means of finding parsimony in this potential maze of complexity, and indeed its success in software engineering -currently one of the most dynamic areas in engineering due to the extreme turnover of its deliverables (Bruegge & Dutoit 2000)- suggests its potential for researching complex systems.

4. Design Patterns Design patterns were first coined by the Austrian/British architect Christopher Alexander in his 1977 book “A Pattern Language: Towns, Buildings, Construction” (Alexander et.al 1977). In this book, a few hundred architectural patterns were described, more or less formal directives on how to tackle certain (infra-) structural issues in building architecture. A 'Place to Wait' (pattern 150) is a good example of a pattern in architecture that spans bus stops and waiting rooms at a dentist or a hospital: “..in any office, or workshop, or public service, or station, or clinic, where people have to wait –interchange(34), health center (47), small services without red tape (81), office connections (82), it is essential to provide a special place for waiting, and doubly essential that this place not have the sordid, enclosed, time-slowed character of ordinary waiting rooms” (Alexander 1977:708) According to Alexander, each of these specific functional forms have common underlying principles, and the best solutions that

have been used throughout human history to effectively address the generic aspects of such patterns. This results in certain harmony not only for their function, but also for their place in a wider context, such as the area or building in which the pattern is implemented. Here the notion of parsimony returns into the discussion and indeed, Alexander considers the library of patterns to form a 'language' in its own right -a pattern language- that will result in the harmonious meta-structures which he observed in medieval towns and buildings. In the early nineties of the previous century, the 'Gang of Four' (Gamma et.al 1995) adapted this notion for software engineering and currently it has become a common means of both designing software systems at architectural level as a means of communicating aspects of these systems with other stakeholders, such as end users of the system. From the vantage point of complex systems, one interesting aspect of design patterns is that they allow themselves to be scaled at different levels of complexity. The 'A Place to Wait' pattern described earlier already demonstrates this, but in software architecture this trait becomes even more vivid. It is not uncommon that some forms or instantiations of a pattern can be built up of simpler versions of itself. At first glance, a design pattern has close similarity to Holland's notion of 'building blocks' and indeed one could say that design patterns could be a more formal means of describing such building blocks. A building block such as 'aggregate' is almost identical to the software design pattern called 'composite', but the design pattern aims to capture such notions in a more rigid way. This way, design patterns go beyond a description or a schematic drawing, but become means to connect structures together in a coherent fashion. Alexander’s description of ‘A Place to Wait’ can exemplify this, as the descriptions already point to other patterns (the numbers enclosed in brackets). A design pattern typically has a name, a description and an entry that describes what problems it aims to solve. They also have a list of cross-references that usually contain alternative names for the same pattern. Software design patterns typically also have a visual layout of the software entities (objects) that make the pattern -in the classic GST paradigm of system and entities- and a description of the interfaces with the outside world. Thus a fundamental shift is introduced with respect to the classic GST paradigms, as 'vertical' relationships between sub-system and system are introduced. Basically the pattern is described in a white-box fashion, not only as a means to describe the design pattern as a system in itself, but also in order to integrate it in a larger superstructure. This is probably the most distinguishing aspect of a pattern versus a 'building-block' paradigm, as the latter does not necessarily accentuate this 'open' character of the building block. Another distinction between patterns and building-blocks is the fact that patterns are assembled in a library, the pattern language, that aims to rigorously describe their mutual relationships. A pattern is therefore more than 'just a sub-system', but also a node in a hierarchy of patterns of increasing complexity. Contrary to the 'building block' idea, this allows its users to know the composition of the patterns, and their relationships with the others in the pattern language. It is up to the user to decide whether this internal structure is needed or not, which contributes to the notion of information-hiding.

One last interesting aspect of patterns is their ability to be re-used for different, but related areas, and their function as record of best-practices. This introduces a certain temporal aspect in a system, as pattern and their implementations co-evolve. A pattern gets a life-cycle that starts from its inception, and may be modified or changed until it matures into a stable pattern. It may eventually even become obsolete, as the explosion of new patterns in the software industry demonstrated when the design patterns became an inevitable hype. Many of those patterns were shortlived, and indeed there are some authors on software design that claim that the original library assembled by the Gang of Four is more than sufficient to tackle most recurrent problems in software design.

5. Patterns and Complex Systems Introduction The fact that the behaviour of a complex system can be very dependent on initial conditions, forces the designer of a pattern library to be very rigorous on the foundations on which the library will be designed. As the library itself is a self-describing and reentrant system, it is itself a complex system. This library will sketch a foundation based on constructs from information theory, that also aims to define ‘pattern’ itself, in order to create a fully closed self-describing system. In other words, the system both bootstraps as generates the notion of pattern.

Patterns and Information The current use for the word ‘information’ can have a plethora of meanings. In medieval texts it had close connotations with ‘giving form or shape to the mind’, but in contemporary use it is also sometimes related to ‘meaningful data’ (Floridi 2005)2. Whatever the definition, there is a common understanding that data applies to unstructured symbols and events, while information is closer to structure; in the sense of ‘having taken up a form’. The social theorist Niklas Luhmann has taken this notion of form as base paradigm for his version of a (social) systems theory which, coarsely stated, revolves around the self-creation and maintenance of differences in forms (Luhmann 1997). It can be argued that a pattern takes an intermediate position between data and form (information). If we take the notion of a pattern in, say, embroidery, we can distinguish the pattern from its surroundings, but this distinction has no further significance; there is distinction without meaning. A lot of engineers will immediately understand this when mining data (for instance from sensors). Here ‘patterns’ usually manifest themselves as groupings of numbers (for instance ASCII symbols), which are as yet without ‘form’. The ‘understanding’ of the form that a pattern can have is usually done by matching the pattern with existent patterns, which are provided from predefined sets, or learned beforehand. Only this matching allows categorisation of the form of the pattern, thus making it information. It is here that the pattern library comes into play; it is a record of prior observations of patterns which provides the context against which novel patterns can be matched. It is this ‘pre-form’ aspect of patterns that may provide their strength in interdisciplinary communications. Although ‘forms’ 2

In this particular case as a definition for semantic information

are the products of the specific requirements of specific (scientific) domains, they may still match to common underlying patterns.

Reframing Observations With entities becoming (sub-) systems with folded boundaries and possibly with an evolutionary component, the once clear distinctions of general systems theory appear to become extremely complicated. It may be argued that this can be resolved by reframing our perspective on the notion of 'entity', 'object' or 'element'. We humans, being a very visually inclined species, have a natural tendency to consider objects as distinct and closed with respect to their environment. However, even though this closure is usually very helpful, it may often be more correct to consider entities as 'semi-permeable' “...loci of processes that run through them.” (Pieters 2008) Coarsely stated, a process is defined as a flow of (change of) data, and the entities transform this data in some way or another. These processes may start in the environment of the system and end deep in its internal structure which, for instance would be captured in the following: “The ice breaker was dismantled because the strait no longer froze due to the effects of global warming.” Conversely a process may start deep in the internals of a system and percolate to its wide environment: “A metal flake blocked the fuel hose of the car's motor, causing it to shut down, and which resulted in a major traffic jam.” Naturally such processes may re-enter the object at some point or another, resulting in feedback processes that may even alter the object itself. A peer-reviewed paper is an example of such a process, which spans an author, the article and the peer reviewers. Note that an evolutionary perspective, such as a life-cycle, can now also be described as a process of change along a temporal dimension. An observer who is equipped to both witness the full extent of, and is able to understand the process is able to tell a story that reflects the process. Science thus can be considered a special narrative where, amongst others, traits such as reproducibility, falsifiability and an element of truth that is acceptable within a scientific community need to complete the narrative. It is this 'semi-permeability' of the entities, objects and systems, such as is implicitly advocated with design patterns, which may be the essential clue to discovering parsimony in complex systems. This 'semi-permeability' demonstrates that parsimony is more than the difference between holistic and reductionist approaches although each can be parsimonious in their own right-, but that there are also parsimonious stories that run from meta-systems to sub-systems and/or the other way round. Patterns allow an insight in such processes not only through their semi-permeable character, but also because of their promise for scale-invariance with respect to different ranges of complexity (Schroeder 1991) as was mentioned earlier.

Patterns and Organisation Although there is still a lot of debate on the essence of a complex system, there is an increasing acceptance that this essence revolves around the notion of organisation (Kauffman 2000,

Maturana & Varela 1992, Cilliers 1998)3. Somehow the parsimony of many complex systems is a result of specific forms of organisation that results in certain stability or robustness in a complex system. Parsimony of organisation is currently the focus of for instance network theory (Barabasi 2005), but also resonates in the notion of power laws (Schroeder 1991) in the mathematical domains of complex systems theory. This parsimony converges to the notion of 'pattern' as it commonly is used in science. These patterns are not constructs of the mind that are then implemented, such as is the case with design patterns, but rather are phenomena that are observed, reconstructed and communicated. Either way however, the notion of organisation hinges on both patterns and design patterns, and so, as a working definition we can start by defining a pattern as a unit of organisation. In order to regard patterns as units of organisation, we first need to reconsider the notion of 'organisation' as it still has a very structural denomination, which may challenge intuition when considering patterns in swarms, plasmas or clouds4. As a first distinction, it can be argued that organisation be considered a specific form of grouping, as the latter can be formed by circumstance. Many physical clouds and plasmas are formed this way, and they mainly exist because they have not been torn apart yet by their environment. A swarm however may hint at organisation, as will some forms of plasma’s and clouds. A grouping thus may or may not be the result of organisation. In the case of complex systems, groups becomes interesting when one or more processes can be identified that try to maintain the group. The notion of organisation in some swarms may seem less obvious, because it is manifest at process level, rather than in visual structure. Such groups get their form by a delicate interplay of attraction and withdrawal, which give the visual tags of their aggregate form (Holland 1995) their observed coherence. A closer look at the, in artificial intelligence renowned, display of 'artificial life' in Conway's 'Game of Life' may exemplify this. In Conway's 'Game of Life', a number of checkers (counters) on a checker board with an infinite amount of squares are governed by a number of rules (Gardner 1970). Depending on the initial form of a number of checkers, the resulting form can decay, grow, transform itself or even retain its shape but move around on the board. Stable forms, some of which have gotten names as 'gliders', 'beehives', 'puffer trains' and 'crawlers', have demonstrated complex interactions with others, such as ‘predatory’ abilities, where the predator form regains its original shape after an encounter with another form, which is removed from the board (it is ‘eaten’). For this discussion, the interesting aspect of Conway's Game of Life is that the checkers mainly visualise the form, but do not (entirely) contribute to its organisation. This is defined by the rules or, in other words, the underlying process that determines how the checkers respond to each other. The resulting patterns, the forms and shapes of groups of checkers, are not stable entities in their own right, but rather manifestations of the (well-balanced) rules that operate on initial forms. The patterns therefore are not (only) a matter of structures of visual entities, but rather of organisation of the rules, or processes. 3 Most authors specifically focus on the notion of selforganisation, which could be considered a specific form of organisation in the context it is used here 4 Note that these terms are used in a very generic manner here.

6. Towards a Pattern Language of Complex Systems Introduction The reversal of patterns as observed characteristic of reality5, rather than a modelling tool such as a design pattern, has some implications, as the pattern needs to be de-constructed rather than constructed. This means that the fine-grained descriptions of design patterns (or their visual supplements in the case of software patterns) may not be readily available. Besides this, an observed pattern is not designed from a problem, but rather is a manifestation of processes that interact in a certain way. This results in a different pattern language than that of design patterns, even at a fundamental level. However, at a certain point, especially where the concept of 'object' or 'element' is introduced, synthesis with architectural or software patterns may be possible. In this section, a rudimentary outline of a possible pattern language for complex systems will be sketched. It does not aim to provide a serious language, as this should be a community effort and should ideally evolve from many contributions from many scientific disciplines. This section aims to demonstrate how this could be tackled, by incorporating many of the concepts and ideas that have matured in software design patterns. Hopefully it will initiate further discussion and initiative on making a constructive pattern language for complex systems.

Premises Based on the basis that has been introduced in the previous paragraphs, an example of a pattern library will be introduced here that identifies a difference between potentiality and data. Simply put, everything in our reality has the potential to be observed and become data. Data can further be distinguished in insignificant and significant data, which is based on the observer's perspective. The latter is base for information. Information is created by overlaying data with another set of data, ranking data, which aims to create distinctions in the data set. As the observer is actively making distinctions in data, the observer is an active entity. In other words, observation is a process of selecting (Luhmann 1997:696). As was argued earlier, this activity is related to the identification of patterns. A first distinction in patterns would be between structural patterns (i.e. related to the structuring of data) and process related patterns (related to the flow, transformation or change of data)7. The latter can be further differentiated in the well-known open-loop, closedloop, and feedback or re-entrant processes8. 5

I am using ‘reality’ in a pragmatic way here. In order to account for more post-modern stances, it is probably more correct to speak of ‘the environment of the observer’.

6

Luhmann defines observation as a ‘process of distinguishing and describing’

As a last distinction, information could be split up in concepts, which could be defined as 'anything that allows itself to be captured in a term or a description' and context, that what is needed to make a concept meaningful9. Concepts are the base units of the pattern language that will be sketched here, and could be split up in elements and areas (or spaces). The first has a quality that allows it to be localised in an area, while an area can be a container for elements. 1: Concept Name Concept Description A base construct that allows itself to be linguistically captured in a term or description a.k.a Concept

Element n Notes

Process

A ‘place’ in terms of Alexander (1977) could be specific form of an area.

In the above figure, the 'open' arrow-heads that point to the concept signify a relationship of inheritance, so elements and areas can be considered specialisations of a concept. The closed arrows signify that the element requires qualities from the area (association), for instance spatial coordinates. These are adaptations from software design patterns, which currently have become quite extensive. However, in practice a lot of software designers only use a subset of these notations. As the pretences in this article are only to exemplify how patterns could be used in research and communicating aspects of complex systems, only a very 'sketchy' approach will be used here. A letter at the arrow head means that more than one concept could be included. An area can therefore contain a number of concepts. For those who are more formally inclined, such specifications can be made more accurate, for instance by replacing the letter 'n' with (0..1), (0..n), (1..n) etc. With this base construction, I will now sketch the 'evolution' of systems theory that was described in the previous section in a pattern language. For this I will first introduce a symbiont to capture the paradigm of system – environment:

7 Software design patterns usually make the distinction between creational, structural and behavioural patterns. It can be argued that both creational as behavioural patterns define a flow and thus a process. 8 In complex systems it may be wise to distinguish feedback (reentrant) processes from closed loop processes, as the latter explicitly requires a full closure of the process. However, some processes may re-enter an object without fully closing, for

Area

instance when passing a bottle-neck like the Hourglass pattern (Pieters 2008). A Mandelbrot butterfly also demonstrates this notion of processes that 'home in' to certain attractors without ever returning to a previous position. 9

This distinction is closely related to distributed notions of meaning, such as was elucidated by, for instance, de Saussure (Cilliers 1997)

2: Name description a.k.a

Symbiont Symbiont A stable association between dissimilar concepts Gestalt (when one concept stabilises the other around equilibrium states and vice versa) Concept1

5: GST Name General Systems Theory Description A domain based on the paradigm of a distinction between system and environment A.k.a GST, Systems theory, Classical Systems Theory

Concept2

Notes The implicit acknowledgement of feedback in symbiont means that this pattern can display all the phenomenological interaction processes of feedback, such as running into boundary states, stabilising around equilibria (gestalt), oscillations and complex recurrent flows. Gestalt is one of the least likely configurations in nature as this requires a delicate balancing of the two concepts.

Entity/ Relationship

Plaza

GST

Domain

System n

output input

Environment

Element

An environment can be considered a specific form of a plaza.

Notes

3: Name Description A.k.a

Note that this pattern is much more elaborate than most textbook sketches on GST. This is due to the fact that the pattern needs to be constructed from existing patterns. In this sense, the pattern forces one to make a lot of assumptions explicit.

Plaza Plaza An area that allows interactions between entities Arena (especially when competitive interactions are enforced) Area

Interactions

Plaza

Element

6: Name description a.k.a

n n

n

Notes

Process

A possible alternative for the paradigm of complex systems theory could be represented as in table 6. CST10 Complex Systems Theory A domain based on the paradigm of networks of system-surrounding symbionts CST Domain

Interactions are also called functions, rules, or strategies

n Element

A domain is an area that contains a number of concepts and rules that constrain the interactions between these concepts: 4: Domain name Domain Description An area that consists of a number of elements that are constrained by certain rules A.k.a Area Process Domain n Concept

Notes

Symbiont n

Environment

n Entity/ Relationship n Notes

n Rules

A Domain typically has a quality that specifies a certain 'truth', which stands at the base of the rule set.

Plaza

CST

output

n

Surround System n n -ings n input

The distinction of environment as being composed of a number of 'surroundings' (or neighbourhoods) is typical for agent systems (e.g. Luhmann 1997, Pieters 2003, 2005). In this distinction, the environment often no longer hosts interactions, but rather is a container for surroundings. It may contain specific constraints, making it a specialisation of a domain.

It may become clear that, although the patterns themselves are very simple, the activity of designing patterns may result in significant changes to intuition. The CST pattern sketched above

With this we can capture the classic paradigm of GST: 10

On a personal note, I would prefer to rather call CST something like GST version 2010, in order to prevent the idea that GST is ‘replaced’ by CST. GST is still very powerful and many specific research problems do not require more the more elaborate notions of CST.

deviates radically from the GST in many respects, owing to the fact that various layers of novel complex interactions and relationships have been included, which have to be captured with (assemblies of) existing patterns. Sets of initially simple (but useful) patterns are assembled into aggregate forms that may rapidly become more complex. This enforces the designer to make certain assumptions explicit, which is often discarded in schematics that mainly have a supporting role. The resulting patterns are much more complex, as the notations and the evolutionary context (patterns create new patterns) enforce certain rigour that is usually absent when representations and descriptions are merely used to clarify certain phenomena. Note that the concepts of CST are patterns themselves. 'Plaza', 'symbiont', 'domain' and so on, are all used in a specific context, which is captured in the pattern language. Within the CST pattern, they are used as means of information hiding as they are reduced to a box with one term, but with the implicit assumption that their internal structure can be fully disclosed if this is necessary. The granularity of these patterns may depend on the specific situation. Take for instance the following pattern, the problem solver: 7: Problem Solver Name Problem Solver Description An actor samples a court by an iterative cycle of testing and evaluation until a certain goal criterion has been met. a.k.a Convergence Inducing Process

different 'dialects' that often quickly emerge within scientific disciplines. In biology, for instance, definitions as 'competition' or 'symbiosis' acquire different meanings than in other disciplines, such as game theory or in agent systems. For instance, the specific form of symbiosis which is mutually beneficial, is called mutualism. On the other hand, the specific form of competition that is usually used in game theory (which assumes rivalry between actors) is often called adversarism (Russel & Norvig 2003). Scientific disciplines with a strong formal focus often need to redefine such concepts in order to use them in the strict fashion that formalism requires. On the other hand, literature from the humanities often assume an additional quality of intention to such interactions. As these assumptions are often not made explicit, they often result in misconceptions on their use. As a possible example of an interaction pattern, the following actor-actant pattern could be used (Pieters 2006): Actor-Actant Name Actor-actant description An actor samples a plaza by an iterative cycle of testing and evaluation until a certain goal criterion has been met. a.k.a Plaza

benefit

ActorActant

n

Process

Interactions

goal Element

Actor

testing

n Actor

Area

n Actant

evaluation Notes

A Problem Solver is a specialisation of symbiont. The actor typically contains a convergent process that maps the evaluated variables with the goal function

This pattern can be fully described by mathematical means in agent systems, or mathematical problem solving models (Hassoun 1995, Michalewicz 1999). However, in a specialised form, the pattern can also be applied in a (neo-Darwinian) evolutionary context in biological systems or as generic interaction pattern in economical and social systems. In these cases, the area will be a plaza that defines interactions based on fitness.

Element

Constraints: The actor-actant pattern assigns the notion of perceived 'benefit' to an interaction between actor, the entity initiating the interaction, and the actant, the entity that is subject to the interaction. This could, for instance, be according to the following table: co-existence Competition Parasitism

Patterns as Means of Communication Between Scientific Disciplines The previous section demonstrates that a pattern language can be very intuitive. In fact, diagrams such as patterns are commonly used in science to clarify concepts and lines of reasoning. In that respect, pattern languages are not very novel. The main added value of patterns is that they aim to disclose generic patterns that could be used for a wide variety of similar issues. Instead of sketching a specific instance of a pattern in order to clarify certain observations, the designer (or discoverer) of a pattern is stimulated to use a library in order to effectively communicate her discovery across scientific disciplines. This reduces the risk of

Altruism Symbiosis Synnecrosis

Notes

Benefit actor 0 + + + 0/+ -

Benefit actant 0 0/-/0/+ + + 0/+ -

a.k.a

Adversarism Mutualism

(e.g. spite)

A further distinction could be made in predator-prey relationships (the actor is predator), which means that the actant is the resource that the actor aims to acquire. Also a ‘vertical’ notion where the actor is a participant of an actant (aggregate) is an interesting special case

Used this way, a pattern library does not aim to prevent dialects from being formed, but rather specifies the way in which terms are used in a specific domain. Stable patterns can also prevent new scientific disciplines to develop their nomenclature from scratch, as they can consult libraries of mature disciplines, and even metalibraries that bundle generic patterns of various disciplines.

Conclusions Although multi-disciplinary and interdisciplinary research is becoming increasingly common, the true challenge is to advance methodology and techniques that would allow to advance knowledge across disciplines, that is to share knowledge that is coherent and applicable in a wide variety of scientific domains. Pattern libraries can contribute to such an agenda, as it constrains the use of schematics that is common practice in many scientific areas. The added value of pattern libraries is to challenge researchers to match their schemas and diagrams with established equivalents in mature pattern libraries.

References [1] Mark Cade and Simon Roberts, “Sun Certified Enterprise Architect for J2EE Technology”, Sun 2002 [2] Ervin Laszlo, “The Systems View of the World: A Holistic vision of our Time”, Hampton Press 1996. [3] Peter Godfrey-Smith, “Theory and Reality, an introduction to the philosophy of science”, University of Chicago Press 2003 [4] Mitchell Waldrop ,“Complexity, the Emerging Science at the Edge of Order and Chaos”, Simon & Schuster 1992 [5] Adri Smaling “The Chatton-Ockham Strategy: an Alternative to the Simplicity Principle”, in “World-Views, Science and Us”. World Scientific 2005 [6] James Gleick, “Chaos, Making a New Science”, Dutch Edition, Contact 1990 [7] Stephen Jay Gould, “The structure of Evolution Theory”, Harvard University Press 2002 [8] Ludwig von Bertalanffy, “Problems of Life: An Evaluation of Modern Biological and Scientific Thought”, Harper, 1952. [9] Gerald M. Weinberg, “An Introduction to General Systems Thinking”, Dorste House Publishing 1975: 2001 [10] Harold S. Black, “U.S. Patent 2,102,671, Wave Translation System”, Bell Labs 1932-1937 [11] C.P. Pieters, “The Paradox of Pictures”, European Journal of Scientific Research, Vol... 2008 [12] Michael Wooldridge, “Reasoning about Rational Agents” , MIT Press 2000 [13] Pieters, Kees P. “Symbiotic Networks”, Proceedings of CEC2003 Volume 2, IEEE, 2003 [14] Pieters, Kees P (2005), “Trains in Symbiosis”, Proceedings of SCS2005, IASTED 2005 [15] Paul Cilliers, “Boundaries, Hierarchies and Networks in Complex Systems ”, International Journal of Innovation Management, Vol. 5, No. 2 (June 2001) pp. 135–147. [16] John Holland, “Hidden Order, How Adaptation Builds Complexity”, Perseus Books 1995 [17] A.L. Barabasi, “Linked: How Everything Is Connected to Everything Else and What It Means ”, Plume 2003

[18] Manuel Castells, “The Rise of the Network Society”, WileyBlackwell 2000 [19] John H. Holland, “Emergence: From Chaos to Order”, Perseus Books, 2000 [20] Humberto R. Maturana and Francisco Varela, “Tree of Knowledge”, Shambhala 1992 [21] Gerald M. Edelman & Giulio Tononi, “Consciousness, How Matter Becomes Imagination”, Penguin 2000 [22] Allen Dutoit & Berndt Bruegge, “Object-Oriented Software Engineering: Conquering Complex and Changing Systems”, Prentice Hall 1999 [23] Christopher Alexander, “A Pattern Language: Towns, Buildings, Construction”, Oxford University Press 1977 [24] Gamma et. al, “Design Patterns, Elements of Reusable Object-Oriented Software”, Addison-Wesley 1995 [25] Luciano Floridi, “Is Semantic Information Meaningful Data?, Philosophy and Phenomenological Research, Vol. LXX no 2., March 2005. [26] David Christian, “Maps of Time, an Introduction to Big History”, University of California 2004 [27] Daniel Dennet, “Darwin's Dangerous Idea”, Simon & Schuster 1995 [28] Kees Pieters, “Rethinking the Obvious”, WPE 2007. [29] Martin Schroeder, “Fractals, Chaos, Power Laws, Minutes from an Infinite Paradise”, Freeman 1992 [30] Paul Cilliers, “Complexity and Postmodernism”, Routledge 1998 [31] Martin Gardner, “Mathematical Games, The fantastic combinations of John Conway's new solitaire game "life", Scientific American 223 (October 1970): 120-123 [32] Hassoun, Mohamad H., ”Fundamentals of Artificial Neural Networks”, MIT Press 1995 [33] Zbigniew Michalewicz, “Genetic Algorithms + Data Structures = Evolution Programs”, Springer Verlag 1999 [34] Stuart Russel & Peter Norvig, “Artificial Intelligence, A Modern Approach”, Prentice Hall 2003