Skip to content

Unable to redefine a PartUsage with the same name #1949

@AxelRICHARD

Description

@AxelRICHARD

In standard diagrams, it is not possible to redefine a PartUsage with the same name, through the direct edit.

For example, with the following model:

package Package1 {
        part def A;
        part def B {
            part x : A [0..*];
        }

       part y : B {
            x :>> x; // In SysON the second x points to y::x instead of B::x 👎 
       }
}

We could consider this case as expected, because the PartUsage y is in a Package and not in a Definition, which is not recommended by the SysMLv2 specification.

If PartUsage y was in a Definition with a proper import of PartDefinition B, then in SysON the second x would point to B::x

package Package1 {
        part def A;
        part def B {
             part x : A [0..*];
       }
       part def C {
            import Package1::B::*;
            part y : B {
            x :>> x; // In SysON the second x points B::x 👍 
            }
       }
}

But, it is difficult for users to understand why in the first example the second x points to y::x instead of B::x.

So, it would be nice, when a Usage is redefined, to check if an inherited feature already exists with this name, no matter if this Usage is contained by a Package instead of a Definition.
In our example, check if a feature name x exists in B.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions