-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Second iteration of MSMI format #496
Conversation
Where do you mean? In the |
…semantics here and there.
That interface is the topic of discussion in #464, and it is surprisingly difficult to land something which is simple and concise, yet flexible enough to enable what is being done with the Anyway, names are good for humans, numbers are good for computers – especially in performance-critical situations like simulation. So a name-number mapping will almost definitely be needed. In FMI, the mapping is explicit and immutable, because the variables are defined in an XML document which is separate from the code. Whether that is necessary or beneficial for connections depends on the solution of #464, I guess. |
We could just add an index to the <Signal name="Super readable name" index="3" type="real" causality="input"/> |
Some more thoughtwork on the potential implications for #464: We should also validate that all the Some |
Just to make sure I understand: "Functions" are the same as "advanced connections" here, right. (And the same as "function units" in ViProMa lingo?)
Does that comparison make sense? AFAICT,
Again, to make sure I understand: |
Yes, pretty much. The way I used "Function" with capital F is describing the XML element, whereas "cse::function" would be the code counterpart.
You are right, but where a
Yes, I was thinking that a Hope this helps (it's getting late 😄) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved by mamma.
This PR relates to #490, the second iteration of the MSMI format. The work in this PR originates from a mob session where we tried to hash out the new XML format(s) for MSMI. Some of the changes are my own suggestions, so feedback is welcome!
Changes to
OspModelDescription.xml
:Plug
,Socket
andBond
concepts are replaced withVariableGroup
andVariableGroupContainment
.VariableGroup
contains no causality information, as its variables can have different causalities. The causality information for each individual variable can be found from the FMUsmodelDescription.xml
.Changes to
OspSystemStructure.xml
:ScalarConnection
,SumConnection
,PlugSocketConnection
andBondConnection
are no more.Function
, is introduced for performing calculations between connected signals. These are defined withinOspSystemStructure.xml
with a modelDescription-like interface. AFunction
has signals (and if necessary parameters) which can be connected to FMU variables.VariableConnection
connects two variables. Causality information is found from each variable's simulator'smodelDescription.xml
.SignalConnection
connects an FMU variable and a function signal.VariableGroupConnection
connects variable groups to each other in an elementwise fashion.SignalGroupConnection
connects a variable group to a function signal group. The realization of this in the execution is not yet implemented.Question: Should a function's signal be identified with an index rather than a name? As of now this identifier is ignore, but it might be helpful for the future's connection architecture.