You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/5___ssd.adoc
+17-12Lines changed: 17 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,7 @@ Note that there is no requirement that connectors have to be present for all var
119
119
At least those connectors *MUST* be present which are referenced in connections inside the SSD.
120
120
121
121
|kind a|
122
-
This attribute specifies the kind of the given connector, which indicates whether the connector is an input, an output, both (inout), acausal (in e.g. Modelica), a local variable, a constant, a parameter, a calculated parameter (i.e. a parameter that is calculated by the component during initialization), or a structural parameter (i.e. a parameter that can be set during (re-)configuration mode).
122
+
This attribute specifies the kind of the given connector, which indicates whether the connector is an input, an output, both (inout), unspecified, a local variable, a constant, a parameter, a calculated parameter (i.e. a parameter that is calculated by the component during initialization), or a structural parameter (i.e. a parameter that can be set during (re-)configuration mode).
123
123
124
124
For components this *MUST* match the related kind of the underlying component implementation.
125
125
For referenced FMUs it *MUST* match the combination of variability and causality:
@@ -138,6 +138,9 @@ However, if it is connected, the semantics are same as for an `output`.
138
138
For SignalDictionaryReferences, the kind of a given connector can additionally be inout, which indicates that the semantics of the connector are derived from the connections going to the connector.
139
139
This can be used for example to allow a connector to function as both an input and output within the same SignalDictionaryReference.
140
140
141
+
Connectors of kind `unspecified` are used to define connectors for which the flow of information is either not yet specified, or is determined at runtime, for example for acausal connections of Modelica models.
142
+
Such connectors can be connected to any other connector under the rules of the underlying modeling language.
143
+
141
144
|===
142
145
143
146
The following XML child elements are specified for the Connector element:
@@ -156,7 +159,11 @@ Boolean / String / Enumeration / Binary / Clock |Exactly one of these elements *
156
159
157
160
The type of the Connector is identified by the presence of one of the XML child elements Real, Float64, Float32, Integer, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64, Boolean, String, Enumeration, Binary, or Clock.
158
161
159
-
When Modelica models are represeented in SSP, built-in input and output connectors shall be mapped as follows.
162
+
The dimensionality of the Connector is given by the presence of one or more Dimension elements.
163
+
164
+
The association of a connector to a clock is given by the presence of one or more Clock elements.
165
+
166
+
When Modelica models are represented in SSP, built-in input and output connectors shall be mapped as follows:
@@ -171,15 +178,13 @@ When Modelica models are represeented in SSP, built-in input and output connecto
171
178
|StringOutput |ssc:String |output
172
179
|===
173
180
174
-
Modelica connectors of more advanced types are mapped the same way as Modelica component models.
181
+
Modelica connectors of more advanced types are currently mapped in the following way:
175
182
176
183
* The connector type is ssc:Binary.
177
-
* The media type is "text/x-modelica" and the "path" attribute designates the path of the Modleica connector..
178
-
* Acausal Modelica connector types are in SSP of kind="acausal".
184
+
* The media type is `text/x-modelica` and the `path` parameter of the media type designates the path of the Modelica connector.
185
+
* Acausal Modelica connector types are mapped to connectors of kind unspecified.
179
186
180
-
The dimensionality of the Connector is given by the presence of one or more Dimension elements.
181
-
182
-
The association of a connector to a clock is given by the presence of one or more Clock elements.
187
+
_[ Note that the current opaque mapping of more advanced types to Binary connectors is a temporary solution, and a more detailed mapping may be provided in future versions of the standard supporting more complex data types. ]_
183
188
184
189
===== ConnectorGeometry
185
190
@@ -551,6 +556,10 @@ Note that source and destination in the following table indicate the resulting d
551
556
Implementations *MUST NOT* specify connections that are not of one of the allowed combinations in the following table.
552
557
Implementations *MUST* ensure that data flow is specified unambiguously, including ensuring that not multiple connections with inbound data flow enter into a connector signifying an input, inout, parameter, or structuralParameter connector of an element, or a local, constant, calculatedParameter, or output connector of an enclosing system.
553
558
559
+
For connectors of kind unspecified it is ultimately implementation-defined whether and how connections are allowed, as the exact semantics depend on the underlying modeling language.
560
+
For the purposes of the following table, connectors of kind unspecified are treated as connectors of whatever kind is needed to make the connection allowed, i.e. they serve a wild-card role.
561
+
The handling of conflicts that arise in transitive connections from conflicting wild-card assignments is implementation-defined.
562
+
554
563
It is implementation-defined whether connections between connectors of different types are allowed, and to what extent conversions are performed.
555
564
This includes type conversions that can be performed without data loss, e.g. converting from an output of type `Float32` to an input of type `Float64` or `Real`, as well as conversions that can potentially lead to data loss, e.g. converting from an output of type `Float64` to an input of type `Float32` or `Int8`.
556
565
It is also implementation-defined how and whether any error-handling at runtime is performed in those cases.
@@ -576,7 +585,6 @@ For all connections of an element connector of type `Clock` to a system connecto
0 commit comments