ABI CellML Meeting Minutes, 12th May 2010

Present: Dougal Cowan, Geoff Nunns, David "Andre" Nickerson, Randall Britten, Andrew Miller, Tommy Yu, Poul Nielsen, Peter Hunter, Justin Marsh

Apologies: Catherine Lloyd

This week's agenda:

1) Shifting some of the meeting times for overseas participants

  • Randall said that next week's meeting and every third meeting subsequently will be at 9am in order that overseas participants may attend remotely.

2) PMR2 development - update

  • Tommy has sent a draft of the paper to Catherine.
  • Tommy has rebuilt the RDF routines, which are used to generate FieldML metadata. This is used to build the initial view for Zinc.
  • Randall: As discussed previously, we want to also include CellML simulator style exposures in one of the next versions of PMR2.
  • Andre said that users should be able to see any revision as an exposure.
  • Tommy said that dynamically generated content puts an excessive computational strain on the PMR2 server. We need static exposures to reduce this.
  • There was a discussion about PMR2 code/view generation.
  • There was a discussion about a possible web-service that dynamically creates an exposure view from a revision. Randall said that if for example you want to view some graphs and change the simulation parameters on the exposure page, this would have to be dynamically generated.
  • Andre said that exposures should be able to show subsets of workspaces - Tommy said that this is what they currently do.
  • Andrew suggested that a webservice could dynamically generate views for revisions, and then cache them for subsequent views.
  • There was an extensive discussion about exposures and curation.
  • Andre said that modellers (PMR2 users) want to be able to curate models.
  • It was noted that a system will probably be required to authenticate commits/pushes.

3) Discussion of possible section of PMR2 paper on links with CAP database.

  • Randall said that we might want to mention future plans for PMR2 features in the paper.
  • There was a discussion of the differences between the CAP database and PMR2, especially the DVCS of PMR2 vs. the simple linear versioning of the CAP database.
  • Andrew has sent out another draft of the paper for comments.
  • Randall said that exposures and exposure styles are important ideas to mention in the paper.
  • Andrew replied that all of the concepts in the paper should relate to the use of a DVCS in biological databases.
  • There was a discussion about how much to cover about exposures in the paper.
  • Randall suggested that exposures are the fundamental difference between PMR2 and any other normal use of DVCSs. When a paper introduces a new approach, including some key implementation details lends credibility, showing that the approach has been put into practice to validate it.

4) Repository contributions - update

  • Geoff has added Gupta et al. 2009 to the repository, which Catherine has pushed and exposed.
  • Geoff continues to work on the calcium dynamics category.
  • Geoff found an old model by Catherine which used the sum operator, which can only be applied to vectors. He asked whether vectors were ever going to be supported in CellML.
  • There was a discussion about the support of vectors.
  • Andrew said that ModML will support vectors through transformations.
  • Randall suggested that the model be left in the repository with the sum operator intact. It will be easier in future to convert a model in this form to a format which supports the sum operator, rather than expanding it.

5) (Dougal) Alternatives for help systems, and should a help system demo be included in Justin's metadata editor?

  • This item was included in discussion about OpenCell development.

6) OpenCell development

  • Randall said that a lot of energy has now been spent on the JVM/Scala prototype. We now need to get feedback from other development groups in the ABI.
  • Randall suggested that this means we should probably go ahead and include IDA support in the XULRunner version of OpenCell, as this is probably enough of an addition to release version 0.8.

7) CellML API - update

  • Andrew has helped Geoff to try to get a model working with IDA. This is not working at yet.
  • Geoff said that the model can be broken up into components, each of which can be tested with IDA.
  • Andrew said that we may not want to use the IDA initial conditions solver; we could just turn it off and provide the initial conditions.
  • Randall mentioned tracker item 2542: offering both levmar and KINSOL solvers as options for the decoupled DAE solver approach.
  • Poul asked what the timeframe was on a decision about platforms (JVM/Scala vs Qt/C++)
  • Randall said that he will have a written summary of discussions by next week, when a decision can be made.

8) CellML core specs - update

  • No update.

9) Metadata specifications (general, citations, graphing, simulation, other) - update

  • Andre reported back from the SED-ML hackathon; there is a big push for SED-ML at the moment, with several grants being applied for to support it. Nicolas is keen to push the initial spec out, which could work with CellML even though it does not mention the variable of integration. Andre said that we need some tool support for SED-ML so that we can begin testing. There is a complete draft of the spec available.
  • Andre mentioned that having a static binary version of RunCellML available would have been useful to Frank Bergmann for testing of CellML aspects of SED-ML
  • Justin has been helping Sarala to try to get the CellML API to build on her Win7 64 machine. So far this has not been working.

10) Time permitting: Updates or additional items from volunteering attendees

  • It is Geoff's last week here, and we would all like to thank him for the great work he has done.
  • Andrew has been looking at time delays and available DDE solvers and thinks that the best approach may be to take IDA or CVODE as the basis for building a custom delayed DAE solver. Randall did a small amount of reading and investigation into DDE solvers. An article from a Mathematica tutorial introduces one of the aspects of handling delayed ODE's: The propagation of discontinuities. Discontinuities arise because the state histories that are provided to the solver need not satisfy the "constraints" (i.e. the ODE systems equations). Hence, there are often discontinuities in first derivatives or higher derivatives. As the solution progresses, future points in the solution have terms that are delays that pass through the prior discontinuities, and so cause the discontinuities to occur again. The propagation of these discontinuities becomes complicated if there are fixed delays of different durations, and even more so if there are state dependent delays. DDE solvers essentially restart at the discontinuities. Randall also pointed out that handling delayed DAE's is more complex than delayed ODE's since restarts of the DAE solvers like IDA requires re-establishing consistent initial conditions, which experience has shown us is fraught with difficulties.
  • There was a discussion about DDE solvers.