Computer-based simulation is a key tool in many fields of scientific research. In silico experiments can be used to explore and understand complex processes, to guide and complement in vitro and in vivo experiments, to suggest new hypotheses to investigate, and to predict results where experiments are infeasible. Simulation is an attractive, accessible tool: producing new simulations of simple systems is relatively easy. But it is also a dangerous one: simulations (and their underlying models) are often complex, buggy, and difficult to relate to the real world system.
A recent UK Government report on computational modelling (Government Office for Science (2018), Computational Modelling: Technological Futures, 2018) makes several recommendations, including
Decision-makers need to be intelligent customers for models, and those that supply models should provide appropriate guidance to model users to support proper use and interpretation. This includes providing suitable model documentation detailing model purpose, assumptions, sensitivities, and limitations, and evidence of appropriate quality assurance.
In this book we describe the CoSMoS (Complex Systems Modelling and Simulation) approach, a pattern-based approach to engineering trustworthy simulations: simulations that are both scientifically useful to the researcher, and scientifically credible to third parties. The CoSMoS approach emphasises three key aspects to this development of a simulation as a scientific instrument: the use of models to capture the scientific domain and the simulation platform; the use of arguments to provide evidence that the scientific instrument is fit for purpose; and the close co-working of domain scientists and simulation software engineers.
The CoSMoS approach is generic: it does not mandate a particular modelling technique, a particular implementation language, or a particular real world application domain. What it does mandate is the careful and structured use of models and arguments, to ensure that the simulation is both well-engineered, and seen to be well-engineered.
The book is useful for domain scientists who wish to see what is needed to build and use scientifically credible simulations, and for software engineers who wish to build scientific simulations that are useful and usable. The examples in the book focus mainly on biological simulations, to exploit the specific experience of the authors, but the CoSMoS approach is not restricted to this domain. The approach we describe is also useful for building simulations as part of the process of building engineered systems. There are some differences between scientific simulation (crudely, simulating the world as it is) and engineering design simulation (simulating the world as we wish it to be), but much of the approach is common. These differences are noted when they occur.
@book(Stepney-2018-cosmos, author = "Susan Stepney and Fiona A. C. Polack and Kieran Alden and Paul S. Andrews and James L. Bown and Alastair Droop and Richard B. Greaves and Mark Read and Adam T. Sampson and Jon Timmis and Alan F. T. Winfield", title = "Engineering Simulations as Scientific Instruments: A Pattern Language", publisher = "Springer", year = 2018 )