210 likes | 221 Views
This document provides clarification on the typing of a binding connector in SYSML16-319, including constraints and examples. It discusses the use of binding connectors in different scenarios and explores advantages and disadvantages of certain approaches.
E N D
Clarification of typing a binding connector SYSML16-319
Current text 8.3.2.3 Binding Connector Description A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a ValueType, the connector specifies that the instances of the properties shall hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties shall refer to the same block instance.[…] Constraints [1] The two ends of a binding connector shall have either the same type or types that are compatible so that equality of their values can be defined. […] 8.3.2.4 Block […] Constraints [2] […] (In SysML, a binding connector is not typed by an association, […])[…] 9.3.2.12 ProxyPort […] When a proxy port is connected to a single internal part, the connector shall be a binding connector, or have the same semantics as a binding connector (the value of the proxy port and the connected internal part are the same; links of associations typing the connector are between all objects and themselves, and no others). When a proxy port is connected to multiple internal parts, the connectors have the same semantics as a single binding connector to an aggregate of those parts, supporting all their features, and treating flows and invocations from outside the aggregate as if they were to those parts, and flows and invocations it receives from those parts as if they were to the outside. This aggregate is not a separate element of the system, and only groups the internal parts for purposes of binding to the proxy port. Internal connectors to proxy ports can be typed by association blocks, including when the connector is binding.[…]
Use cases untyped • parametric diagram • Bound references • ProxyPort • ProxyPort with multiple Connectors (may be typed?) typed • tolerance • approximate equality • formalization of semantics • Type conversion • Connector decomposition
«interfaceBlock» «block» Waterflow Faucet «proxy» flow properties hot : Waterflow «equal» hotInlet : Inlet in w : Water «equal» coldInlet : Inlet «proxy» «block» cold : Waterflow Inlet ProxyPort
ProxyPort with multiple Connectors① virtual aggregate RTF Aug. 10th 17: The word „aggregate“ is not meant in a formal sense. This picture is wrong.
Proxy Port with multiple Connectors② virtual specialized Block RTF Aug. 10th 17: This is more like what is meant by the specification
ProxyPort with multiple Connectors③ AssociationBlock RTF Aug. 10th 17: It is very unclear how this is to be used.
Discussion ProxyPort with multiple connectors Unclear how to interpret the specification and what semantics it defines for the AssociationBlock. RTF Aug. 10th 17: The RTF agrees that it needs some clarification. Advantages Disadvantages
tolerance RTF Aug. 10th 17: An existing way to define this would be a Property based requirement in a parametric diagram.
Discussion tolerance Advantages • Just one connector defines equality of all value properties Disadvantages • This semantics would be completely new and unusual for the binding connector. • The tolerance might not be the same for all value properties. • There is already a working solution (property based requirements).
Discussion approximate equality Advantages • It is possible to specify, that two values are only approximately equal • Two measured values could be assured to be approximately equal. Disadvantages • Unnecessary complication:When one of the values is a calculated value the calculation will usually define a range (Stereotype Interval). There is no need to define that for the connector. • Inconsistent semantics: The binding connector means usually that the two values are the same value. For example when two circuits are connected electrically the Voltage on the output of one of them is the same as on the input of the other. When it is measured on both sides, the measurement might be different, but the physics says they measure the same reality.
Discussion formalization of semantics Advantages • Formal semantics allows to be precise Remark • This can be used in the formal description of the specification. All BindingConnectors would then have a type, because this is what defines them: Connectors typed by the equality-Association. Connectors with another type or without are normal Connectors. • The semantic library is not accessible to the user. Especially he doesn’t need to add new Associations to this library. • A notation could get defined for a BindingConnector, making the underlying model transparent to the user. Our diagrams don’t need to change.
Type conversion RTF Aug. 10th 17: By defining Scalar as the Supertype of all numeric Types, we could define that these ValueTypes are compatible.
Discussion Type conversion Advantages • Formal definition of compatible types Disadvantages • Unclear how this is to be interpreted. An association means that one element is using the features of another element. Which features are used here? • A mathematical formula doesn’t depend on the quantity kinds, so no conversion should be necessary (if it is, it should get changed). • It is not necessary to convert units. This is already defined in QUDV.
Discussion Connector decomposition Advantages Disadvantages • Can a connector between a constraint property and a part property be a binding connector? • Easily replaced with Block-Typed Constraint Parameter