SysML 1.6 RTF Avatar
  1. OMG Issue

SYSML16 — Semantics consistency of conjugated behavior ports

  • Key: SYSML16-132
  • Legacy Issue Number: 18952
  • Status: closed  
  • Source: Airbus Group ( Mr. Yves Bernard)
  • Summary:

    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
  • Disposition Summary:

    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
  • Attachments: