SED-ML / sed-ml

Simulation Experiment Description Markup Language (SED-ML)
http://sed-ml.org
5 stars 2 forks source link

Modify or remove the setting of symbols (via SetValue) #108

Closed jonrkarr closed 3 years ago

jonrkarr commented 3 years ago

The symbol attribute of SetValue intended to enable repeated tasks to set the value of the internal state of simulation tools.

There are multiple issues with this

matthiaskoenig commented 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.

jonrkarr commented 3 years ago

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.

luciansmith commented 3 years ago

@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.)

jonrkarr commented 3 years ago

There's divergence in a variety of places

luciansmith commented 3 years ago

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."

jonrkarr commented 3 years ago

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.