Computational Modelling Group

Seminar  12th October 2015 10 a.m.  177/2023

What has software engineering ever done for us simulators? Some best-practice software engineering ideas applied to simulation and why they're so underused.

Stuart Rossiter

Categories
NGCM
Submitter
Susanne Ufermann Fangohr

Summary

There are various best-practice software engineering techniques which can be used to work towards simulations which exhibit some useful properties: automated reproducibility; cohesive, loosely-coupled design; and testability.

This talk looks at four such techniques which, surprisingly, are not well-supported in any known simulation framework. I introduce a Java library (JSIT) which tries to provide these generically, and give an example of its use on a published model of health and social care.

I also draw back to consider why such techniques are not well-used or well-supported.

This talk is particularly aimed at NGCM PhD students because it gives a coherent example of several tool topics discussed in the FEEG6003 course: design patterns, reproducible computing, version control and a particular simulation platform (AnyLogic) which is effectively a Java IDE with visual programming and visualisation capabilities.

Biography

Stuart Rossiter worked in IT for 10 years as a software developer and architect before moving in to complexity science research (particularly agent-based modelling) via a Multidisciplinary Informatics MSc, an alas-unfinished PhD looking at models of electricity markets, and a postdoc position at Southampton on the Care Life Cycle project (developing models of health and social care for an ageing population). He is currently a freelance simulation developer though a return to research is not completely off the agenda!

In general, he is very interested in simulation methodology and ways to break down artificial divides between disciplines, modelling paradigms and simulation development practices.