SysML 1.6 RTF Avatar
  1. OMG Issue

SYSML16 — Inconsistency between xmi and pdf for Trace and Refine specializations

  • Key: SYSML16-458
  • Status: closed   Implementation work Blocked
  • Source: Commissariat a l Energie Atomique-CEA ( Benoit Maggi)
  • Summary:

    While generating code for a custom sub-profile of SysML 1.4, we got some issues (as far as I can tell the same apply for SysML 1.5)
    You can see the discussion here https://bugs.eclipse.org/bugs/show_bug.cgi?id=530565

    After some internal discussions (thanks Patrick and Jérémie for your time), here are our conclusions:

    In the normative SysML 1.4 XMI Refines and Trace stereotype are implemented as follows :

    1. Refine
    ­ Specializes SysML::Blocks::DirectedRelationshipPropertyPath.
    ­ Extends UML::Abstraction.

    • This extension is a specialization of Abstraction_Refine extension.
    • This extension is a specialization of DirectedRelationship_DirectedRelationShipPropertyPath extension.
      2. Trace
      ­ Specializes SysML::Blocks::DirectedRelationshipPropertyPath.
      ­ Extends UML::Abstraction.
    • This extension is a specialization of Abstraction_Trace extension.
    • This extension is a specialization of DirectedRelationship_DirectedRelationShipPropertyPath extension.

    [Issue 1] The profile design is not aligned with the content of the normative PDF for [SysML 1.4]. Indeed, in this latter:
    1. Refine specializes StandardProfile::Refine and SysML::Blocks::DirectedRelationshipPropertyPath.
    2. Trace specializes StandardProfile::Trace and SysML::Blocks::DirectedRelationshipPropertyPath.
    However, to the best of our knowledge, there are no indications regarding the specializations of the existing extensions relationships.

    [Issue 2] The profile design is not conformant to [UML 2.5]. Indeed, both Refine and Trace have a base_Abstraction property redefining :
    1. SysML::Blocks::DirectedRelationshipPropertyPath::base_DirectedRelationship and StandardProfile::Refine::base_Abstraction (Refine case).
    2. SysML::Blocks::DirectedRelationshipPropertyPath::base_DirectedRelationship and StandardProfile::Trace::base_Abstraction (Trace case).
    However, according to [UML 2.5] a property cannot be redefined if it is not inherited (see constraint “redefined_property_inherited” in section 9.9.17.7 in [UML 2.5]). Hence, it is not allowed to specify that StandardProfile::Refine::base_Abstraction or StandardProfile::Trace::base_Abstraction are redefined since Refine and Trace do not specialize StandardProfile::Refine and StandardProfile::Trace.

    [Remark] The usage of the “extension specialization” pattern used to define both Refine and Trace within SysML shall be rationalized. To us, the two main points for using that pattern were:
    1. To avoid the usage of multiple inheritance in Refine /Trace definitions.
    2. Enable the owned extension ends (i.e., the one owned by the newly defined extensions relationships) to redefine the owned extension ends for StandardProfile::Trace, StandardProfile::Refine and SysML::Blocks::DirectedRelationshipPropertyPath.

  • Reported: SysML 1.4 — Tue, 10 Apr 2018 14:04 GMT
  • Disposition: Deferred — SysML 1.6
  • Disposition Summary:

    Defer

    Postponed to the next RTF

  • Updated: Mon, 1 Apr 2019 18:16 GMT