Legacy Issue Number: 18952
Source: Airbus Group ( Yves Bernard)
Per the definition of behavior proxy ports, they have their owner for value. This implies that a classifier typing a port is a classifier for the owner of the port as well. However, when that classifier specifies directed features or flow properties, these feature specifications shall be interpreted so that their directions are reverted if the port is conjugated (isConjugated=true). The point is that, if the owner is not itself a port, there is no means to specify that such an interpretation applies. Thus, assuming one needs to refer to the owner as the instance realizing the port, it will be required to explicitly use (and then model) a classifier specifying the corresponding feature in the opposite direction. This makes the useful conjugation concept unusable in practice.
The implementation of the conjugation concept should be modified so that it is not limited to port and applicable to block definitions as well.
Reported: SysML 1.4 — Wed, 25 Sep 2013 04:00 GMT
Disposition: Resolved — SysML 1.6
Conjugation dependency proposal
The conjugation mechanism can be implemented at type level by defining a new stereotype, specialized from InterfaceBock in order to specify a conjugated type.
This conjugated InterfaceBlock definition shall have the same feature defined as the original type but – where applicable – with the inverted directions. Note that the corresponding features could be automatically computed or checked by the tool.
In the conjugated InterfaceBlock, direction of any FlowProperty or DirectedFeature is inverted (i.e. as specified for a conjugated port today)
To avoid any ambiguity or conflict the UML mechanism for port conjugation must be disabled this is achieved by adding a constraint to the SysML::Block stereotype so that all owned ports shall have their "isConjugated" property set to "false". In addition, and for consistency, the UML mechanism will be deprecated.
In order to keep an equivalent notation one can give the conjugated interface block the same name than the original type with the tilde symbol "~" prepended but it is not required by this resolution.
A migration procedure is provided for legacy models: for any port with isConjugated=true, get its type and look in the scope for an existing conjugated type. If none is found create it. Replace the port's type by that conjugated type and set its isConjugated property to false.
Updated: Mon, 1 Apr 2019 18:17 GMT
- Automatic Fueling System (no DirectedFeatures).png 98 kB (image/png)
- Automatic Fueling System.png 184 kB (image/png)
- ConjugatedInterfaceBlock-revision3.docx 60 kB (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
- ConjugatedInterfaceBlock_Notation.docx 36 kB (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
- ConjugationDependency.docx 64 kB (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
- ConjugationDependency_AnnexTableRow.docx 26 kB (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
- ConjugationDependency_Notation.docx 38 kB (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
- SysML1.6-289_ConjugatedInterfaceBlock.pptx 124 kB (application/vnd.openxmlformats-officedocument.presentationml.presentation)
- SysML1.6-289_ConjugationDependency.pptx 65 kB (application/vnd.openxmlformats-officedocument.presentationml.presentation)
- SysML1.6-289_No Change (use two normal Interface Blocks).pptx 61 kB (application/vnd.openxmlformats-officedocument.presentationml.presentation)