Add terminal support#120
Draft
Tc-Fast wants to merge 2 commits intomodelica:mainfrom
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This draft adds support for FMI 3.0-style terminals to SSP 2.1. The draft closely follows the proposals from @DagBruck in #83.
Related to #59, #56, #84
Terminals are defined globally at the SSD root level (similar to
UnitsandEnumerations), giving them a name that components can reference by. A terminal connector is declared withkind="terminal"and carries a<ssc:Terminal name="..."/>child pointing at the global terminal defintiion.Member variables are bound by naming convention: a connector named
portName.memberNameis automatically associated with the terminal connectorportName. This avoids any new connection syntax and keeps full backward compatibilty with SSP 2.0 systems.Terminals carry a
matchingRuleattribute (plug,bus,sequence,none) taken from the FMI 3.0 terminal semantics, which tools can use for connection validation. Fan-out of terminal connections follows the same rules as scalar connections — an input member may only be written by one source.