-
Key: SYSML17-166
-
Status: closed Implementation work Blocked
-
Source: Commissariat a l Energie Atomique-CEA ( Mr. 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=530565After 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: Resolved — SysML 1.7
-
Disposition Summary:
Add the missing generalizations
The reporter is right; those generalization are missing in the model defining the profile and have to be added.
-
Updated: Thu, 22 Dec 2022 13:45 GMT
SYSML17 — Inconsistency between xmi and pdf for Trace and Refine specializations
- Key: SYSML17-166
- OMG Task Force: SysML 1.7 RTF