Complex systems are collections of independent agents interacting with each other and with their environment to produce emergent behaviour. Agent-based computer simulation is one of the main ways of studying complex systems. A naïve approach to such simulation can fare poorly, due to large communication overhead, and due to the scope for deadlock between the interacting agents sharing a computational platform. Agent interaction can instead be considered entirely from the point of view of the environment(s) within which the agents interact. Structuring a simulation using such Environment Orientation leads to a simulation that reduces communication overhead, that is effectively deadlock-free, and yet still behaves in the manner required. Additionally the Environment Orientation architecture eases the development of more sophisticated large-scale simulations, with multiple kinds of complex agents, situated in and interacting with multiple kinds of environments. We describe the Environment Orientation simulation architecture. We report on a number of experiments that demonstrate the effectiveness of the Environment Orientation approach: a simple flocking system, a flocking system with multiple sensory environments, and a flocking system in an external environment.
We describe a computationally reflective object-oriented architecture suitable for incorporating open-ended innovation and emergent entities into simulations. This allows emergent properties to be reified into objects. This requires modifying the model, and the metamodel, by incorporating novel classes and metaclasses dynamically. The classes and metaclasses are modified by including them in the model through reflection. We argue that such computationally reflective introduction of novelty is necessary for true open-ended simulations.
We investigate the consequences of introducing an energy model into open ended evolutionary simulations. We propose a metamodel for simulations that incorporate an energy model and apply that model by extending Turk’s Sticky Feet model. We show that introducing an energy model produces simulations with measurably increased diversity of the simulated population.
We summarise the existing CoSMoS approach to modelling and simulating complex systems, then introduce how the various CoSMoS models are related via their metamodel, and demonstrate the generality of the process by discussing its application to engineering bio-
We are developing a concurrent, agent-based approach to complex systems simulation as part of the CoSMoS project. In such simulations an agent's behaviour can typically be characterised as a series of queries and updates to its environment - a ''transactional'' pattern of interaction familiar to programmers of database systems. We explore how ideas from the field of databases, such as optimistic approaches to consistency and replication, may profitably be applied to the field of simulation, and how the constraints of modern databases can be relaxed to yield better performance while maintaining simulation validity.
The 15 generative patterns of Alexander’s “Nature of Order” are descriptions of architectural structures that are seen in both buildings and in the natural world. We are investigating various aspects of complex systems, including those relating to structural patterns that may underlie those systems. Here we describe some experiments to generate 2D structures that incorporate those patterns that Alexander describes as Positive Space, the voids that contribute to the overall pattern, and Levels of Scale, a gradation in the size of the pattern’s components. We show some of the results, illustrating that these patterns can be achieved as emergent properties of simple placement algorithms with a generative component.
A näıve implementation of a complex system simulation with its plethora of interacting agents would be to represent those interactions as direct communications between the agents themselves. Considerations of the real world that a complex system inhabits shows that agent interactions are actually mediated by the environment within which they are embedded and which embodies facilities used by the agents. This suggests an “environment oriented” simulation architecture. Here we motivate and describe an abstract software architecture for an environment oriented approach to complex systems simulation, and sketch the implementation of this architecture in a number of different ways.
As part of research towards the CoSMoS unified infrastructure for modelling and simulating complex systems, we review uses of definitional and descriptive models in natural science and computing, and existing integrated platforms. From these, we identify requirements for engineering models of complex systems, and consider how some of the requirements could be met, using state-of-the-art model management and a mobile, process-oriented computing paradigm.
The adoption of design patterns as part of software development has had a profound effect. The patterns in use, though, are essentially static in nature showing different designs that might work differently in a particular context. The originator of the notion of patterns and that of a pattern language, Christopher Alexander, has also proposed that a set of generative patterns, which influence the development of buildings might also have analogues that are appropriate for a generative approach to software development. This document describes both Alexander's generative patterns and the general notions of design and architecture that exist in the development of both conventional software systems and complex systems. In order to understand Alexander's patterns sufficiently, so that the hypothesis relating those patterns to software development can be properly investigated, an approach to a " field theory " of Alexander's patterns is described. A preliminary implementation of some aspects of this field concept, based on an adaptation of the Ising model of magnetic domain formation, is shown. Initial results from this implementation are sufficiently encouraging to point the way to further work in this area, leading to an improved understanding both of Alexander's generative patterns and of how such an approach might work in the context of software development, in particular for that of complex systems.
Formaliser is a software tool which supports the interactive editing, syntax, scope and type checking of Z specifications. The tool uses windows and a mouse, operating in a “WYSIWYG”, point-and-click style. Unconstrained text may be interspersed with syntax-enforced formal utterances. The tool is generic, in that it may be configured for formal languages other than Z. The software runs on low-cost desk-top machines. This paper illustrates the use and implementation of the tool.