Closed jonrkarr closed 3 years ago
This is used to set amount
, concentration
or particle number
for species. This is a clear currently existing use case for the symbol. I have many examples for this which I could not encode so far in SED-ML until we add the amount
or concentration
symbol (which was basically decided). Not sure how to do this otherwise.
The setValue is not for algorithm parameters.
I hope we can clarify the semantics of this as part of the revision of repeated tasks. Part of the problem is that tools are using repeated tasks quite differently and SED-ML doesn't yet capture enough information for a document to indicate what the intended interpretation is.
@jonrkarr , have you found an example of a repeated task that is interpreted differently in two tools, in this context? (Or more generally, any SED-ML file that is interpreted different ways in different tools.)
There's divergence in a variety of places
To clarify that symbols are almost always used to read values out of a model rather than being used to set values, I added the following to the 'Symbols' section:
"With very few exceptions, symbols refer to mathematics of a model that can be read out of the model, but cannot be set directly. You cannot use a symbol attribute to set the time of a model, for example, nor may you set the Stoichiometry matrix nor the elasticities. The only partial exception to this is that the amount, concentation, or particle number of a species may be set by an element using both a target attribute to indicate the species and a symbol to indicate which form to use."
This makes sense. Since symbols, by definition, don't appear in model descriptions, there should be no way to set them as part of a description of a changed model. This ensures that models and changed models conform to the same schemas.
The
symbol
attribute ofSetValue
intended to enable repeated tasks to set the value of the internal state of simulation tools.There are multiple issues with this
initialTime
ofUniformTimeCourse
also sets the value of the one recognized symbol,time
.Task
rather than introducing this capability at the more abstract level of repeated tasks.