-
-
Notifications
You must be signed in to change notification settings - Fork 217
Description
Is your feature request related to a problem?
Splitting the UML model concepts between Core.gaphor and UML.gaphor makes it impossible to comply with the UML language specification.
A specific case in point is the modeling of Dependency (issue #3528, pull request #3525). Shown below is the UML specification for dependency. In Gaphor, Dependency is defined in Core.gaphor, while PackageableElement is defined in UML.gaphor. This makes it impossible to make Dependency a subclass of PackageableElement. This, in turn, makes it impossible to set the owningPackage property of a Dependency (it doesn't have one because it is not a subclass of PackageableElement). This is but one consequence of trying to split the model.
Describe the solution you'd like
Migrate all language-specific modeling concepts from the Core model into language-specific models. If common cross-language concepts are desired for tool purposes, make them base classes (e.g. BaseElement) that can be made sub-classes of the language-specific modeling concepts. With this approach the language models are not constrained in any way and the base classes can support tool-specific behavior.
Describe alternatives you've considered
There are no alternatives is compliance with language specifications is sought.
Additional context
Add any other context or screenshots about the feature request here.