Hi Andrew,

I think the advantages offered by this transition outweigh the lack of 
backwards compatibility and have no objections to your proposal, just a 
few clarifications below...

> I am planning on completely updating the CCGS to make use of CeVAS, 
> MaLaES, and CUSES. Due to the large scale of the changes, I am taking 
> this opportunity to fix some design issues which currently limit what 
> CCGS can do. This inevitably means breaking the existing interface, and 
> any code that uses it (I could have tried to make the interfaces look 
> the same, but the code generated would still be different, due to the 
> changes discussed below).
> 
> Major changes proposed:
> * The concept of variables and rates in CCGS is being replaced by a 
> concept of a computation target. A computation target is anything which 
> can be computed by CCGS, and includes variables and  rates (possibly 
> multiple times).

I'm not sure I follow how variable's are linked to a ComputationTarget. 
You say that a given variable may be associated with multiple 
computable's - does this mean there are possibly multiple methods to 
compute the same variable or will all the ComputationTarget's for a 
given variable resolve to the same computational steps?

> * There will no longer be separate blocks of code which explicitly 
> compute rates and blocks which explicitly compute variables. Instead, 
> computation targets are computed, and as a side effect of this, any 
> other algebraic or rate variable may be computed as a pre-requisite. One 
> positive result of this is that it will be possible to use derivatives 
> like any other variable, so the same derivative can appear more than 
> once, and derivatives can even be solved by Newton-Raphson steps if 
> required. It means that it is possible to efficient code which evolves 
> the model without computing unnecessary variables until they are needed 
> for presentation purposes. This completely changes the structure of the 
> strings produced, causing backward-incompatibility.

Could you clarify what you mean by "presentation purposes"?

> * The idea that a rate is a constant is contemplated, allowing for more 
> efficient computation.

Is this looking at the math defining a rate and checking if it would 
remain constant after all the other math has been processed?


Thanks,
Andre.

_______________________________________________
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion

Reply via email to