Simulation is a key tool for researching complex system behaviour. Agent-based simulation has been applied across domains, such as biology, health, economics and urban sciences. However, engineering robust, efficient, maintainable, and reliable agent-based simulations is challenging. We present a vision for engineering agent simulations comprising a family of domain-specific modelling languages (DSMLs) that integrates core software engineering, validation and simulation experimentation. We relate the vision to examples of principled simulation, to show how the DSMLs would improve robustness, efficiency, and maintainability of simulations. Focusing on how to demonstrate the fitness for purpose of a simulator, the envisaged approach supports bi-directional transparency and traceability between the original domain understanding to the implementation, interpretation of results and evaluation of hypotheses.
Simulations of evolutionary dynamics often employ white noise as a model of stochastic environmental variation. Whilst white noise has the advantages of being simply generated and analytically tractable, empirical analyses demonstrate that most real environmental time series have power spectral densities consistent with pink or red noise, in which lower frequencies contribute proportionally greater amplitudes than higher frequencies. Simulated white noise environments may therefore fail to capture key components of real environmental time series, leading to erroneous results. To explore the effects of different noise colours on evolving populations, a simple evolutionary model of the interaction between life-history and the specialism-generalism axis was developed. Simulations were conducted using a range of noise colours as the environments to which agents adapted. Results demonstrate complex interactions between noise colour, reproductive rate, and the degree of evolved generalism; importantly, contradictory conclusions arise from simulations using white as opposed to red noise, suggesting that noise colour plays a fundamental role in generating adaptive responses. These results are discussed in the context of previous research on evolutionary responses to fluctuating environments, and it is suggested that Artificial Life as a field should embrace a wider spectrum of coloured noise models to ensure that results are truly representative of environmental and evolutionary dynamics.
Workflow models are used to rigorously specify and reason about diverse types of processes. The Workflow+ (WF+) framework has been developed to support unified modelling of the control and data in processes that can be used to derive assurance cases that support certification. However, WF+ is limited in its support for precise contracts on workflow models, which can enable powerful forms of static analysis and reasoning. In this paper we propose a mechanism for adding interface contracts to WF+ models, which can thereafter be applied to tracing and reasoning about the uncertainty that arises when combining heterogeneous models. We specifically explore this in terms of design models and assurance case models. We argue that some of the key issues in managing some types of uncertainty can be partly addressed by use of interface contracts.
Simulation is a key tool for researching complex system behaviour. Agent-based simulation has been applied across domains, such as biology, health, economics and urban sciences. However, engineering robust, efficient, maintainable, and reliable agent-based simulations is challenging. We present a vision for engineering agent simulations comprising a family of domain-specific modelling languages (DSMLs) that integrates core software engineering, validation and simulation experimentation. We relate the vision to examples of principled simulation, to show how the DSMLs would improve robustness, efficiency, and maintainability of simulations. Focusing on how to demonstrate the fitness for purpose of a simulator, the envisaged approach supports bi-directional transparency and traceability between the original domain understanding to the implementation, interpretation of results and evaluation of hypotheses.
Dynamic systems, where the behaviour is the dominant characteristic, pose engineering challenges that are often neglected in model-based software engineering. However, supporting simulation development from design models is important in demonstrating that a simulator and simulation experiments are fit for their intended purpose. In engineering agent-based simulations, observable system behaviour is built up from the behaviour of low-level components; such simulations are used as research tools in (for instance) biological systems research. We have found that domain experts can validate diagrammatic models of behaviour and accompanying text, but we need model-based software development, and ideally automatable model transformation, to maintain fitness for purpose into code and experimentation. We present an exploration of behavioural model transformation, devising and applying manual transformation guidelines to an existing, published Java Mason simulator, created using the CoSMoS approach and UML-style state diagrams. We succeed in recreating part of the class structure of the code, but also expose many issues to be overcome, in terms of what needs to be modelled to enable transformation, and how and when design decisions are taken and documented. We also identify the need to generate the creation of low-level simulation, visualisation, and data capture mechanisms, and a means to design and encode simulation experimentation.
Ecological, environmental and geophysical time series consistently exhibit the characteristics of coloured (1/f^\b{eta}) noise. Here we briefly survey the literature on coloured noise, population persistence and related evolutionary dynamics, before introducing coloured noise as an appropriate model for environmental variation in artificial evolutionary systems. To illustrate and explore the effects of different noise colours, a simple evolutionary model that examines the trade-off between specialism and generalism in fluctuating environments is applied. The results of the model clearly demonstrate a need for greater generalism as environmental variability becomes `whiter', whilst specialisation is favoured as environmental variability becomes `redder'. Pink noise, sitting midway between white and red noise, is shown to be the point at which the pressures for generalism and specialism balance, providing some insight in to why `pinker' noise is increasingly being seen as an appropriate model of typical environmental variability. We go on to discuss how the results presented here feed in to a wider discussion on evolutionary responses to fluctuating environments. Ultimately we argue that Artificial Life as a field should embrace the use of coloured noise to produce models of environmental variability.
In May 2019, a workshop on principled development of future agent-based simulations was held at Keele University. Participants spanned companies and academia, and a range of domains of interest, as well as participant career stages. This report summarizes the discussions and main outcomes from this workshop.
Susan Stepney has created novel research in areas as diverse as formal software modelling and evolutionary computing. One theme that spans almost her whole career is the use of patterns to capture and express solutions to software engineering problems. This paper considers two extremes, both in time and topic: patterns for formal modelling languages, and patterns related to the principled modelling and simulation of complex systems.