I'll reply way back here but forward reference where appropriate. On 4/14/07, Randall Owen <[EMAIL PROTECTED]> 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. Also, 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 > [email protected] > http://www.cellml.org/mailman/listinfo/cellml-discussion > _______________________________________________ cellml-discussion mailing list [email protected] http://www.cellml.org/mailman/listinfo/cellml-discussion
