Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 364066 - [SysML Block Definition Diagram] For an association end in SysML (contrary to UML >=2.2), being navigable should be equivalent to being owned by source classifier.
Summary: [SysML Block Definition Diagram] For an association end in SysML (contrary to...
Status: RESOLVED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: 1.1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: M6   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-17 12:20 EST by Alain Le Guennec CLA
Modified: 2015-07-01 18:08 EDT (History)
7 users (show)

See Also:


Attachments
Illustrates the bug/regression (3.36 KB, application/zip)
2015-05-13 03:53 EDT, Klaas Gadeyne CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alain Le Guennec CLA 2011-11-17 12:20:53 EST
As stated in the SysML specification:
"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"

On BDD, Papyrus *almost* enforces this equivalence, but not quite:
-Making an end owned by the classifier makes it navigable => OK
-Making an end owned by the association makes it non-navigable => OK
-Making an end non-navigable makes it owned by the association => OK
-Making an end navigable does not change its ownership => *NOK*
Only the last case (switching from non-navigable to navigable) does not seem to work (and therefore fails to create a reference in the corresponding block).
Comment 1 Klaas Gadeyne CLA 2013-11-06 09:47:50 EST
Verified in 0.10 nightly build.
Comment 3 Camille Letavernier CLA 2015-03-24 14:02:33 EDT
> Gerrit change https://git.eclipse.org/r/38473 was merged to [master].

I close the task
Comment 4 Klaas Gadeyne CLA 2015-05-13 03:53:52 EDT
Created attachment 253428 [details]
Illustrates the bug/regression

Please have a look to the attachment.  I created this one using the latest nightly build from luna, using the scenario described in Comment #1.
I don't know whether this is a regression, which went undetected due to the lack of a unit test, or if this was never fixed properly, but please re-open.

As a side note, if any of the SysML 1.4 developers is cc: here, I wonder if (and how) such kind of issues are being tackled by the new 1.4 editors?
Comment 5 Klaas Gadeyne CLA 2015-07-01 18:08:33 EDT
Seems to work fine for the mars sysml 1.1 editors now (visualization seems to be screwed up though), but not for the sysml 1.4 editors!

Rationale from 8.3.2.3 Block:

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
OMG SysMLTM, v1.4 51
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.

So Blocks #440082