CellML Discussion List

Text archives Help


[cellml-discussion] CellML Validation, Curation and Model Composition


Chronological Thread 
  • From: matt.halstead at auckland.ac.nz (Matt )
  • Subject: [cellml-discussion] CellML Validation, Curation and Model Composition
  • Date: Wed, 18 Apr 2007 22:50:15 +1200

I'll reply way back here but forward reference where appropriate.

On 4/14/07, Randall Owen <randall.owen at new.ox.ac.uk> wrote:
> One topic that seemed to come up in a lot during the recent CellML Workshop
> in
> Auckland was model validation, curation, and composition. This caused me to
> think about a couple of questions about which I would really appreciate the
> CellML community's thoughts:
>
> 1. What does validation mean to the CellML community?

I agree with Andre's list.

I would add that if we introduce the ability to add external code to
the models through the bindings to the math that Andrew has proposed
(http://www.cellml.org/Members/miller/bcp-external-models/) then in
addition to testing the MathML for schema validation there would need
to be some 'test' to validate the external code. What this means is a
bit unclear, but would at least include:

- code compiles/loads without language based errors
- code passes tests provided. What tests these are will be a lively
discussion, but at least they should demonstrate that they perform
what the external code metadata says it does.

I also think there is room for some more theoretical validation,
especially in the composition/model reuse area. A simple example would
be Mike Cooling's accounting cycles .... do such cycles exist? Have
they been broken? Another simple example would be mixing components
that have math which don't share operating domains - e.g. the range of
an output variable will not overlap (or minimally overlaps) with the
domain of another variable which uses this as input. Another one would
be assumptions of a chosen model, e.g. the steady state assumptions of
various chemical kinetics equations.

I think that this involves a lot of work, but would provide very
useful data for filtering and choosing models or parts of models to
reuse.

> 2. What does decomposition and composition mean to the CellMl community?

I agree with Andre's comments. I would like to stress the part about
best practices. Many of these could be programmably applied to
existing models, and should be.

There is also a case that needs to be debated where all models are
decomposed into models of single components with single pieces of math
that represent only one top level apply and then the original models
recomposed out of these. This has come up, and I'm not sure I would
support it in the practical sense (it's a nice theoretical challenge).
The problem would be how to create the intermediate submodels that
created logical subtrees/submodels that formed the 'parts' of a more
complex model. E.g. a single channel could be made up of many
submodels, and the value of the model of the channel is it's
functional unit. What this does say to me is that a high level of
human decision making in the creation of submodels would provide us
with the most meaningful decomposition graphs - where the nodes of a
graph are models and the edges are imports, and a model represents
some logical unit.

I would also add to the composition argument what it means to combine
the metadata of two or more models. Some of this may require
processing - such as connecting up a biological graph model. E.g. can
you generate a composite biopax model from a collection of biopax
models, and does this represent the intention of the composition in
the cellml model.

So while the composition and decomposition in CellML is explicitly
topological, the intention will be quite functional.

> 3. What does re-usability mean to the CellML community?

I agree with Andre's comments.

There should be an emphasis on at least the following:
- best practices that allow for reuse without having to heavily
remodel the submodel you want to reuse
- methods for identifying the best choices from a library for your intended
use
- methods of decomposing models where practices haven't exposed a
useful structure - e.g. need to bubble up some variables from
encapsulated variables.
- methods to automatically compose simple reuse such as hooking up a
different set of parameter values to a generic model.

I guess I am pointing towards the 'practical application' of reuse here.


cheers
Matt


>
> Each of the above have very specific meanings within the software
> engineering and computing communities.
> _______________________________________________
> cellml-discussion mailing list
> cellml-discussion at cellml.org
> http://www.cellml.org/mailman/listinfo/cellml-discussion
>




Archive powered by MHonArc 2.6.18.

Top of page