Community
Participate
Working Groups
Steps - Create Classes C1, C2, C3 - Create Association A between C1 and C2 - Create 3 objects of respective types: I1:C1, I2:C2, I3:C3 - Try to draw link between I1 and I3 -- not allowed, correct - Draw link between I1 and I2, set type to A - now reroute either end to I3 - it is not allowed, correct - now create one more instance of type C2, I22:C2 and try to reroute link to I22:C2 => still not allowed
New Gerrit change created: https://git.eclipse.org/r/43014
New Gerrit change created: https://git.eclipse.org/r/46046
Remi Schnekenburger comment from https://git.eclipse.org/r/#/c/43014/ >>Hi, >>I clicked +2 review too fast. I can find some issues with this contribution: >>1. I was not able to create instance specification link on the current >>verison, but it seems unrelated to your case 2. There are also some issues >>with the given management of the ends. Ex: a. create a instance >>specification link with no association b. reorient its target to a given >>instance specification represented by a classifier (always possible as >>instance spec link is not typed) c. set an association that is not compliant >>with the target instance spec d. it is impossible to reorient the >>association to a target with the right classifier. >>Please fix the contribution, and also please contribute some tests on this >>aspect, as this is a very fragile aspect of the tool (instance spc can be a >>link or a node) - Issue related to the Class diagram migration to ElementType framework. So it's fixed in https://git.eclipse.org/r/46046 gerrit contribution with required tests. Note, that #46046 covered some other issues related to the InstanceSpecification. There are: - InstanceSpecification LinksInstanceSpecificationLink starting/ending on an untyped InstanceSpecification (part of #444606) - Bug 459033 - [All Diagrams] Creating instance of association should check both ends at once
As mentioned in Gerrit 46046: > I'm not sure we want to enforce "correct by construction" behaviors in this case. It makes it a little bit cumbersome to modify a model with such restrictions, especially since, in UML, InstanceSpecifications are very flexible elements (Which can be used to represent either valid or invalid elements, or partially valid elements)