Source: Elparazim ( Edward Roberts)
Taking the rules in SysML...
"SysML excludes variations of associations in UML in which navigable ends can be owned directly by the association. In SysML, navigation is equivalent to a named property owned directly by a block. The only form of an association end that SysML allows an association to own directly is an unnamed end used to carry an inverse multiplicity of a reference property. This unnamed end provides a metamodel element to record an inverse multiplicity, to cover the specific case of a unidirectional reference that defines no named property for navigation in the inverse direction. SysML enforces its equivalence of navigation and ownership by means of constraints that the block stereotype enforces on the existing UML metamodel."
and the fact that if you can navigate to something you also own it in SysML... then one can derive a rule...
"if it does not have a navigation on the end, it can not be named"
inv: memberEnd→ forAll(m | a.navigableOwnedEnd.excludes(m) implies m.name = null)
I think this needs to be in the Standard
Reported: SysML 1.6 — Wed, 11 Aug 2021 17:47 GMT
Updated: Mon, 16 Aug 2021 15:19 GMT
SYSML17 — Association Rules
- Key: SYSML17-479
- OMG Task Force: SysML 1.7 RTF