CellML.org - Meeting Minutes 22 September 2000
October 2000 31 October 2000 24 October 2000 08 October 2000 06 October 2000 05 October 2000 04 October 2000 02 October 2000 01 October 2000 September 2000 28 September 2000 22 September 2000 19 September 2000 18 September 2000 13 September 2000 12 September 2000 11 September 2000 05 September 2000 |
Author: 1 SummaryYet again, this document is not just limited in scope to meeting minutes, but also reports on progress on behind-the-scenes CellML development, which generally equates to E-mail conversations between Warren and Melanie. Topics of discussion included possible XML implementations of qualitative pathway model information, and scripting support. 2 Qualitative Pathway Models
To recap: Auckland had originally declared that the concept of a model without math was ridiculous, and that qualitative model information was really metadata or documentation. Melanie and Prasad at Physiome had gone to considerable trouble convincing the Auckland team that something like During subsequent discussions with Physiome, we realised that they do in fact hope to also be able to differentiate between the inputs and outputs in a reaction. It was Melanie who first proposed a good-looking solution, as shown in Figure 1.
As the Auckland team had already been convinced that we'd need to be able to differentiate " This looked initially like a simple extension of the grouping mechanism used for encapsulation and geometry information, but Warren wasn't happy with it. Basically, this grouping was referencing components rather than variables, and thus relied on the assumption that there is only one variable per component and only one variable is received by the reaction component from each participant. In addition to this, it would force the modeller to specify pathway models with one component per participant, which might be unnecessary in many cases, or downright impossible for combined electrophysiological-pathway models. So Warren proposed the solution shown in Figure 3. In this solution, the variables taking part in a reaction are referenced directly, and the grouping is placed inside the component where the reaction takes place (this would allow multiple reactions to be specified inside one component). He also voiced the opinion that some kind of generalised variable grouping mechanism (previously unconsidered) could be used for associating properties like units with sets of variables.
This solution was the recipient of some pretty harsh abuse during the Auckland team's meeting of September 22. Poul and David were fairly resistant to the idea of adding variable grouping to CellML at this late stage. They argued that it added complexity and wasn't a requirement, so why have it? This was a pretty concise and effective argument, and Warren was persuaded that the general grouping of variables wasn't needed. However, he stubbornly refused to admit that the core information set marked up in his solution wasn't the best one, something which Poul and David were forced to accept. So we looked at introducing a new object to the data model called
Poul and David were reasonably happy with this, but also suggested some further changes. It was pointed out that the true = reactant(A); true = reactant(B) | catalyst(B); true = product(C); { A , B , C } -> { T , F }; 3 Math and Scripting SupportOne of the other topics of discussion during the September 22 meeting was the specification and use of math and scripting information in CellML. There had never been any plan to throw out the MathML specification of ODEs proposed in CellML '99. The Auckland team was, and still is, very opposed to using script for the specification of model formulation, which they believe can always be specified using MathML. However since the Luo-Rudy II model appears to recommend using an iterative method to evaluate the value of some state variable, it was accepted that at least some support for specifying algorithms should be incorporated into MathML (as long as its use was discouraged).
Ecmascript (formerly Javascript) seems a good bet, as it has a fairly concise specification, is intuitive to use, and a number of free interpreters already exist. Javascript is used primarily for adding functionality to hypertext documents for publishing on the web, and is generally encapsulated by a One of the major headaches with incorporating scripting support into CellML is the specification of an appropriate set of rules for the ways in which ODEs specified in MathML should interact with functions or objects defined in scripting language. Some of the issues are (in no particular order):
4 Component Reuse and Class DefinitionWith about three minutes left to discuss things (a rude interruption by Andrew Pullan this time) the Auckland team moved on to component re-use and class definition. Warren's original ontology ideas (see the meeting minutes from August 25) were again brought up. Basically a class definition or template can use exactly the same data model as the type of object that the author wishes to create a template for, where some associated object flags the processing application that this is an abstract (in an object-oriented sense) object, and need not be instantiated in the network. Additionally some sort of flag is needed on data object instances to associate the instance with the class definition.
To the annoyance of Poul and David, both these requirements are satisfied by the CRIM scheme developed by Warren in April 2000 (and appearing soon on the CellML preview website). A class definition could be implemented using the Even Warren would admit however that this means of class definition would be fairly un-intuitive and unnecessarily complex. Some new scheme may be needed. | ||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||