I'd like to suggest that using MathML 3 rather than MathML 2 be considered in the work to develop CellML 1.2; it is currently in the tracker as an item for future versions of CellML. I believe my proposal is well justified for the following reasons:

1. MathML 3 is more mathematically sound than MathML 2. MathML 2 relies on a number of poorly documented conventions, and has built in operators that are not very comprehensively defined. On the other hand, MathML 3 has two forms, strict and non-strict, with well-defined rules for translating from non-strict to strict form, and with every symbol in strict form mapping to an OpenMath content dictionary to give it mathematical meaning.

2. The semantics for extending MathML 3 are cleaner are more consistent - you use an existing OpenMath content dictionary that covers what you want, or define a new content dictionary.

3. The drafts that I put together (up at http://www.cellml.org/Members/miller/draft-secondary-spec-dae-events/toplevel.xhtml) are based on the assumption that MathML 3 will be used, as are the draft secondary specifications. For example, they refer to content dictionaries. This allows for certain things to be defined very easily in the secondary specifications, without the need to spell out things like the type semantics of operators. For example, my secondary specification draft for models with DAEs with events spells out which OpenMath STS types correspond to the CellML real type and which ones correspond to boolean, and refers to classes of allowed operators by referring to particular content dictionaries. Having to repeat all this information explicitly would make secondary specifications considerably more messy.

4. An effort to prototype my CellML 1.2 draft is well under way (code at https://github.com/A1kmm/cellml-testbed). This effort is based on MathML 3. Implementation experience helps to verify that a draft standard is feasible, because the process of implementation can identify issues with a specification. There is no corresponding implementation experience that combines the other proposed CellML 1.2 changes with MathML 2.

Best wishes,
cellml-discussion mailing list

Reply via email to