Wednesday 3 February 2016

simulation the CoSMoS way

not this cover, sadly
We are currently writing a book about how to design, build, and use computer simulations “as scientific instruments”, using out CoSMoS (Complex Systems Modelling and Simulation) approach.  This is taking somewhat longer than planned, as other things always seem to have higher priority.

One of those other things is the CellBranch research project, funded by BBSRC, which finished last year.  We’ve just published a technical report describing in detail what we’ve done on the simulation side.

We used the CoSMoS approach, as described in that book in preparation.  The structured approach helped us enormously, particularly in getting to grips with the biological model we were simulating.  The report describes three increments of the simulation, and how to access the software developed.

One process step we invented, which is not part of the official approach in the current draft of the book, was a thing we dubbed the to don’t list.  We built the system incrementally, starting with a very simple version, then systematically adding the needed complexity.  While we were developing each increment, we kept having ideas about what would be needed next.  We wanted to remember these, but we also wanted to make it crystal clear that they were not to be included in the current increment.  So they got added to the to don’t list.

This turned out not to be just a helpful aide-memoire, but had an interesting side effect.  One feature of the CoSMoS approach is listing and justifying the assumptions being made during modelling and development.  Such assumptions are always made, but are often not documented, and so are promptly forgotten.  Making assumptions explicit, and teasing out their consequences, helps communication within a multidisciplinary team (here biologists and software engineers): “oh, that means we won’t be able to do X”.  And it helps enormously in subsequent increments, if one of the earlier, no longer forgotten, assumptions becomes invalidated because of new assumptions.  Nearly everything that went onto the to don’t list could be cast as an assumption: Y on the to don’t list could become “Y isn’t needed this increment, because…”.  This gave us much better insight into what the current increment could actually provide in terms of scientific understanding.

So now the to don’t list is being added to the official approach.  Maybe it’s a good job we hadn’t delivered the book on the original schedule, else we wouldn’t be able to make this valuable addition!  I hope the acquiring editor sees it the same way…

No comments:

Post a Comment