Towards design theory for semizoic artifacts

Kernel theories

Our conceptualisation of IS/IT artifacts as complex systems means there is a wide array of reference disciplines to draw upon as ideas for design. Three reference disciplines are particularly promising sources of underlying kernel theories for the design of semizoic artifacts: biology, computer science and especially Artificial Intelligence (AI), and systems theory. The interactions among these fields is traced by Richardson (1991) who shows how a number of disciplines, including biology, engineering, mathematics and the social sciences came together in the Macy Cybernetics Conferences, with cybernetics subsequently leading to further streams of thought including control theory, information theory, digital computing, system dynamics and systems theory.

We have depicted semizoa as only in part designable and also as exhibiting growth and change in ways that parallel the mutability of organic life forms. Thus, it is not surprising biology forms a significant source of kernel theories for semizoa. Biology has provided a number of ideas and metaphors for com­puting. De Castro and Von Zuben (2004) suggest that ‘natural computing’ en­compass these three types of approaches:

  • biologically-inspired computing;

  • artificial life and fractal geometry of nature; and

  • computing with natural means.

Similar ideas are expressed by Christopher Langton (1989), the ‘father’ of artificial life (Alife), who describes the concept as ‘the study of man-made systems that exhibit behaviours characteristic of natural living systems’.

Computer scientists, especially in the field of AI, have adopted ideas and metaphors for computing from biology to develop computational systems and algorithms capable of solving complex problems; for example, with artifical neural networks and evolutionary algorithms. More fundamentally, the increased distribution of computing has led computer scientists to develop new paradigms for computing based on interaction rather than algorithms (Wegner, 1997; Wegner and Eberbach, 2004). The interaction paradigm, in which one sees computation as a distributed ongoing interaction of interaction machines, provides a theoretical model of computation that is more consistent with the idea of mutability, change and evolution than the algorithm paradigm based on the Turing machine.

Even though biologically inspired computing, artificial life and artificial intelligence provide a bundle of technologies, many of them reflect the algorithmic paradigm of search, problem solving and optimisation, rather than an interaction paradigm. To analyse and understand the mutability and change of semizoic artifacts, systems theory provides a third perspective (von von Bertalanffy, 1973; Ashby 1956). IT artifacts are systems and, as digital systems, very complex ones (Parnas, 1985). Systems theory has paid considerable attention to the analysis of complex and dynamic systems (see Aulin, 1989; Bar-Yam, 1997).

These potential sources of kernel theories for ISDT provide for many concepts that can be recognised in existing designs for semizoic artifacts. Characteristics of these artifacts include homeostatic mechanisms, situated action, autopoiesis, learning, evolution and emergence; although not necessarily all of them together, but at least one of them. These requirements constrain or enable mutability in the semi-designed artifact, as explained further in the following section.

Designing for mutability in semizoic artifacts

In this section we examine a number of the ways in which mutability can be enabled or constrained in semizoic IS/IT artifacts. These different categories of mutability have been identified by studying the theories discussed above and the different ways in which the mutability of semizoic artifacts are dealt with in existing design theories. We do not claim that our list is exhaustive, although we believe that it captures the most salient aspects of providing for mutability. Nor do we claim that the different catego­ries we present are mutually exclusive; some IS/IT artifacts will have several types of mutability allowed for. In keeping with our previous ideas about designed and semi-designed artifacts, some types of mutability can be more ‘designed-in’ than others. With some types the designer can set up some initial pre-conditions that allow for change, but it is unlikely to be possible to anticipate completely the direction change will take.

Nilpotence

A nilpotent system is a memory-less system (without any persistent in­formation base) that gives the same response to the same stimulus and re­turns to its initial rest-state after a finite number of units of time (Aulin 1989; Järvinen 2004). Many real-time computer systems are nilpotent systems. They are designed to react to different external events, to give the same response to the same type of event, and to return to the idle state after processing the external event. We are including nilpotent systems to demonstrate a dimension of minimum mutability in a designed artifact.

Homeostatic mechanisms

Biologists use the term homeostasis for the state where an organism is relatively insensitive to its environment. That is, it has mechanisms that allow it to function despite wide variability in external conditions. Homeostasis normally refers to the maintenance of the internal environment of the body within narrow and rigidly controlled limits (for example, a body temperature of around 37°C in human beings).

Computers are, of course widely used as control systems where the goal is to maintain the homeostatic state of the controlled process, such as keeping the temperature of a process within specified limits. Information systems can be designed to exhibit homeostatic behaviour. For example, the aim might be to control the response time of a distributed database. If the response time approaches an allowed upper limit, the system may automatically reorganise its database. In this way mutability is restricted.

Autopoiesis

Living beings are characterised by their autopoietic organisation. The term autopoiesis was coined in cybernetics by Humberto Maturana to refer to a special case of homeostasis in which the critical variable of the system that is held constant is that system’s own organisation (Maturana and Varela, 1980). Maturana recognised that the autonomous quality of the living cell or organism was captured by the term self-creation, self-making, or self-producing. The organism is capable of maintaining its own organisation as a unity, in terms of its components and the relationships between them, without outside interference. That is, the basic structure of the organism remains the same. In simple terms, all the cells in a living creature might change, but it appears to have much the same appearance to an observer. An important aspect of autopoietic theory is that there is a boundary around the system. It can obtain matter and energy from its environment while at the same time being operationally closed. Closed, that is, to instruction or control. Further explanation of this concept and its relevance to IS and IT can be found in Mingers (1989, 1994) and Winograd and Flores (1986).

Application of the concept to IS design is not straightforward. In terms of the theory of Maturana and Varela, the focus should be on the internal dynamics of the system, and not on an ascription of outwardly-focused behaviour such as recognition and reaction to external events. An example with living or­ganisms is the immune system’s distinction between self and non-self. An analogy with a da­tabase system would be the principles of self-organisation that it is given to maintain database integrity. For example, it might have a consistency rule that says a department has only one manager. The system should then never contain data that violates this consistency rule.

Situated action

The idea of ‘situated action’ has been discussed in a number of contexts — in biological systems, but also in robotics, human-computer interaction design and with parallels in structuration theory and actor-network theory (see Johnston, 2001). We will mainly base our discussion on the work of Lucy Suchman (1987), who introduced the idea in the context of design theory for human-computer interaction. This design theory sees people’s behaviour as contextualised; that is, the situation in part determines what they will do. In situated action individuals continuously monitor their flow of action and the context in which the action takes place.

To what extent can IS/IT artifacts exhibit situated action in the sense of Suchman (1987)? Lieberman and Selker (2000) discuss context-aware systems that adapt to and learn from context.[3] Erickson (2002) expresses serious concerns about context-aware artificial systems, about their capability to sense their rich context in a way comparable to human beings, and about their capability to intelligently select an action appropriate in the context. And when one takes into account that situated action as introduced by Suchman (1987) comprises artful improvisation (Orlikowski and Hofman, 1997) as an essential aspect, the possibilities of artificial situated action become still slimmer.

Despite these difficulties, some researchers have applied the concepts of situated action to the design of information systems, showing how, in an environment such as a manufacturing plant, the need for high-level planning of interrelated complex processes can be reduced by allowing some of the actors in the system to respond in a situated way to their environment (Johnston, 1995, 2001; Johnston and Milton, 2002). One of the authors, in the course of writing this paper, realised that a situated action perspective could help in another project involving designing ‘zero intelligence’ trading agents and decision aids in a complex trading environment.

Learning

A further characteristic that distinguishes intelligent life is the capacity to learn and acquire knowledge. The attempt to model this characteristic is one that occupies designers who develop theories of machine learning and build ‘systems that learn’ (see Jain et al., 1999). Machine learning has, of course, a long tradition in AI (Langley and Simon, 1995) but it is beyond the scope of the present paper to review this research tradition.

All information systems that have a memory (information base) have a potential for learning in the simple sense that they can accumulate more information into their information base. A more advanced form of learning implies changes in the structure and functionality of the system at the IS schema level. For example, the inter­connections of system components and the behaviour of components may be changed because of learning (as in, for example, neural computing).

An example of an IS incorporating learning is provided by Hall et al (2003) who propose a theory for the design of learning-oriented knowledge management systems.

Evolution

The term ‘evolution’ is used with a number of meanings in information systems and software engineering, often without any connection to biological evolution (for examples, see Hawgood, 1982; Lehman and Belady, 1985). Generally, ‘evolution’ refers to a trial-and-error process of variation and natural selection of systems at all levels of complexity. In the Darwinian theory of biological evolution, ‘natural selection' is distinguished from ‘artificial’ selection where, for example, the breeding of animals is controlled so that certain traits are retained or eliminated.

Swanson (1982) discusses to what extent biological concepts such as genotypes and phenotypes and natural selection apply as analogies to information systems. He parallels design with genotype, implementation with phenotype, and utilisation with natural selection.[4] In the case of design (genotype) he points out that, contrary to biological organisms, which have a fixed genotype, information systems may be redesigned during their implementation, and concludes that effective IS design must provide for its own conceptual adaptation. In the context of implementation (phenotypes) he mainly discusses modifications during implementation, arguing that, instead of a ‘faithful’ implementation, ‘a strong case can be made for a “faithless” implementation which corrects in action that which has been misconceived in thought’. Finally, in the context of utilisation Swanson (1982) notes that over time utilisation tends to decline, not necessarily because of any observable failings in system implementation, but because the user may be better served by a new IS design (genotype).[5] Helylighen (1997a, 1997b) provides a further interpretation of evolution in which there is no need for competition between simultaneously present configurations.

Evolutionary concepts underlie the design architectures of some computer systems. Evolutionary and genetic algorithms (Chaudry et al., 2000) model the evolution of a population of individuals and provide methods for solving optimisation problems. Evolutionary concepts have also been utilised in the context of software architectures, to model how software systems can evolve (e.g. Paderewski-Rodríguez et al., 2004) and Scharl (2000) describes evolutionary methods for Web development.

Emergence

The terms ‘emergence’ and ‘emergent’ are finding increasing use in the field of information systems, although the labels are on occasion applied rather loosely. In systems theory the concepts encapsulated are those of the ‘whole being more than the sum of its parts’ or the ‘generation of complex systems from simple ones’ (see Bar-Yam, 1997, for a more detailed analysis).

John Holland (1996, 1999), the originator of genetic algorithms, pro­posed that the study of emergence was relevant to the development of complex systems in the arts, business, the evolution of society and the generation of new ideas. Problems studied include the evolution of organisations — how a collection of initially independent but interacting agents can come to organise themselves so as to form a coordinated system that can tackle problems too complex for the individual agents themselves (Heylighen 1997b).

One can identify emergence at different levels — at the structural level or in the changes of state that arise. Knowledge Management Support Systems such as Answer Garden (Ackerman, 1998) provide good examples of emergent information systems in which the support provided by the information system is much more dependent on the growth of the system than on its design. A system like Answer Garden is a learning system in the sense that it can accumulate more knowledge into its knowledge base but it may also exhibit emergence. To illustrate, existing knowledge in the knowledge base may be like a puzzle where pieces of knowledge are interrelated, but do not quite fit together. However, a new piece of knowledge may be the critical missing piece in the puzzle that allows the integration of the existing pieces of knowledge and their interpretation in a new light. This case shows emergence at the level of the IS state.

Information systems in which the design is distributed over a number of decisions illustrate emergence at the IS structural level. Imagine a hypertext or multimedia information system on certain topics to which several people can provide content. Their design decisions to insert hyperlinks form an emergent structure that cannot be predicted in advance. The World-Wide Web, with its distributed hypermedia architecture, is an example of an emergent system on a large scale.

In IS/IT systems, emergence cannot be totally planned or designed in. Yet, conditions can be set up that allow emergence to develop (like the plan for a garden). Examples are the standards for interfaces that allow new systems to join to existing systems, and open systems.

Redesign as a response to externally initiated change

Unlike the previous examples of change in an artifact, and reflecting their ‘designed’ rather than ‘natu­ral’ creation, some changes to IS/IT artifacts do not have strong parallels with those that occur in living creatures.

After its original design and implementation, an IS/IT artifact will generally be subjected to further change and modification to meet changing requirements, to correct errors and to allow re-design by new designers. The ability to change in this respect is mostly a desirable aspect of computer software and systems. That is, they should be easy to modify and maintain, and often substantial modification is required. Examples of similar occurrences with living systems are not common. Perhaps the closest is genetic manipulation, or an artificial limb, or a bionic ear.

A number of influential design theories for programming and systems construction were motivated by the need to make programs easy to maintain, modify and change. Many of these design theories make use of the idea that change can be more easily accomplished if it is limited to one section or module of a program. Thus, we have the ideas of modularisation and module de-coupling in structured program design, and encapsulation in object-oriented methods.

A further example is the database concept of ‘data independence‘, which involves the idea that the internal schema of a database can be changed without any change implications for the conceptual schema. Also, Codd’s provision of views in relational database design (Codd, 1970, 1982) means that the database can appear differently to different users at different times and those users can adapt the views from outside as they wish. Further, in the case of relational databases, the database schema can be changed while use is ongoing.[6]