ABI CellML Meeting Minutes, 4th of May, 2011

Present: Dougal Cowan, Andrew Miller, Lukas Endler, David "Andre" Nickerson, Mike Cooling, Poul Nielsen, Randall Britten

This week's agenda:

1) CellML core specs - update

Progress:

  • Andrew: continuing to work on the secondary spec. Some discussion is required about primary vs secondary specs.

Discussion:

  • Andre: not convinced that there is a need to use the spec to stop people making errors (eg take square root of negative number) in their models.
  • There was a discussion about how the spec disallows a variety of errors in the model, and how models should be validated against these secondary specs. Errors in the mathematics could mean that models can't be validated without being computed.
  • Randall: Andrew's proposal for bound variables seems to provide a good solution that would work (bvars do not appear as variables in components, tracker item 2902).
  • There was an extensive discussion about the purpose of secondary specifications, what they should and should not describe/disallow, etc.
  • Poul: CellML is for exchanging the meaning of a model, not numerical restrictions.
  • Mike: the core ideas of the proposed secondary spec are not CellML specific, and could be decoupled from the CellML 1.2 specification framework and instead provide a numerical simulation specification for use by, for example CellML, SBML, Little B, ModML etc.
  • Andrew: the secondary specs are to enable modellers to model within the boundaries of a spec, not the limitations of a tool.

Planning:

  • It was generally agreed that Andrew's proposal is the solution to the bound variable problem.
  • It was agreed that for practical purposes, bound variables should have unique names if scopes overlap.

2) CellML API - update

Progress:

  • Andrew: RC1 of the API has been released, and some feedback received.

Discussion:

  • Andrew: Alan Garny wants other builds (MinGW, 64bit, etc). Andre wants static libraries.
  • There was a discussion about how to provide 64bit builds, and the problems with delays in obtaining build hardware.
  • Andre: Alan wants to provide 32 and 64bit versions of OpenCOR on all three platforms using the same codebase from the start. For this he needs the builds he requested, and he is a key customer for the API.

Planning:

  • Randall: will chat with Alan about what would be minimal API build requirements.
  • Andrew: RC2 could be released today, including build and packaging fixes.

3) Repository contributions - update

Progress:

  • Dougal: some updated session files and exposures.
  • Andre: coded up the Collier et al. Delta/Notch pattern formation model, using a brute force single component approach to reproduce the figures for the simplest two-cell model.

Discussion:

  • Poul: hoping there would be a version [of Collier et al.] coded up to give people some idea of the complexity of setting up collections of cells in CellML.
  • There was a discussion about the pattern formation model.
  • Poul: this model is one of the simpler multi-cell models that people would be interested in seeing. Dynamic models would be more interesting and far more complex. What options are there in CellML for describing a model with dynamic topology?
  • Andrew: this could be done in ModML if the model was not excessively large or complex.
  • Randall: Chaste already does this for 2D simulations with growth, death, etc using CellML for individual cells.
  • There was a discussion about the limits of CellML's descriptive capabilities.
  • Lukas: is there any scope for dynamic imports?
  • Poul: could Andrew write an explanation of how ModML could be used to solve a dynamic multi-cell problem?
  • There was a discussion about vector variables and imports.
  • Andre: is there any point in taking the Collier et al. model further?
  • Poul: yes - if we want to have a model that reproduces the paper, and if we want to show what can be done using imports for these types of models.
  • There was a discussion about generating these static topology models via connections in CellML, possibly generated by some external code or script.
  • Poul: it is worth asking what we could do if we allowed vector type variables - would this allow us to build these models?
  • Andre: the purpose of building such a model in CellML is model exchange. Rather than having only the unitary models (run as multi-cell using other tools) able to be exchanged, the whole multi-cell system would be exchangable.

4) PMR2 development - update

Progress:

  • Dougal: have done some testing of Hg access, exposures, etc on the staging instance of 0.4.

Discussion:

  • Randall: is there an "Andre style" exposure up on the staging?

Action item 1: Dougal - get in touch with Tommy about creating an Andre style exposure.