CellML Discussion List

Text archives Help


[cellml-discussion] Proposed changes to the CellML API specification


Chronological Thread 
  • From: ak.miller at auckland.ac.nz (Andrew Miller)
  • Subject: [cellml-discussion] Proposed changes to the CellML API specification
  • Date: Thu, 23 Feb 2006 10:55:01 +1300

Hi all,

A few more errors have been found in the CellML API specification, which I
will
be suggesting be changed today at the CellML meeting.
1) Remove readonly from the secondComponent attribute in MapComponents. This
makes it match the firstComponent attribute.
2) The nextReactantVariableRef operation on ProductVariableRefIterator should
be
called nextProductVariableRef. Note however that I will be proposing a
redesign
of this part of the API soon anyway, as it does not represent the CellML
specification well.
3) The iterateReactantVariableRefs operation on ProductVariableRefSet should
be
called iterateProductVariableRefs. The comments for item 2 also apply for this
operation.

In addition, I have changed the CellMLComponentSet attributes on Model to be:
/**
* Returns a list of all components which are defined in this model.
*/
readonly attribute CellMLComponentSet localComponents;


/**
* The collection of components. This will fetch all the components
retrieved by
* localComponents, but in addition will also fetch all the
ImportComponents
* declared in this model.
*/
readonly attribute CellMLComponentSet modelComponents;

/**
* Returns all components with interface 'CellMLComponent' in the model.
* Provided that the imports are instantiated, this will fetch components
* in both direct and indirect imports. If the import containing the
* component definition has been instantiated, iterating the set will
* return the component definition, otherwise it will return the
* ImportComponent. If an import containing component definitions is
* instantiated after iterator creation but before component retrieval,
* the implementation may choose to return either the ImportComponent or
* the component definition. Applications must not rely upon the behaviour
* of any particular implementation in this case.
*/
readonly attribute CellMLComponentSet allComponents;

In a similar vein, I have changed the the CellMLUnitsSet attributes to be:
/**
* The collection of units defined within this model.
*/
readonly attribute UnitsSet localUnits;

/**
* The collection of units. This will fetch all the units retrieved by
* localUnits, but in addition will also fetch all the ImportUnits
* declared in this model.
*/
readonly attribute UnitsSet modelUnits;

/**
* The collection of units. Provided that the imports are instantiated,
* this will fetch units in both direct and indirect imports. If the
* import containing the unit definition has been instantiated, iterating
* the set will return the unit definition, otherwise it will return
* the ImportUnit. If an import containing unit definitions is
instantiated
* after iterator creation but before unit retrieval, the implementation
* may choose to return either the ImportUnit or the unit definition.
* Applications must not rely upon the behaviour of any particular
* implementation in this case.
*/
readonly attribute UnitsSet allUnits;

Best regards,
Andrew Miller


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



  • [cellml-discussion] Proposed changes to the CellML API specification, Andrew Miller, 02/23/2006

Archive powered by MHonArc 2.6.18.

Top of page