Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 358759 - UML Model/MetaModel availability
Summary: UML Model/MetaModel availability
Status: RESOLVED DUPLICATE of bug 381237
Alias: None
Product: MDT.UML2
Classification: Modeling
Component: Core (show other bugs)
Version: 4.0.0   Edit
Hardware: PC Windows Vista
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: UML2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-23 14:31 EDT by Ed Willink CLA
Modified: 2012-06-01 15:42 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2011-09-23 14:31:13 EDT
In UML2 3.0.0, UML.merged.uml and UML.metamodel.uml were substantially the same; i.e. Element has many keyword operations.

In UML2 4.0.0M2 UML.metamodel.uml is substantially smaller; Element has no keyword operations.

This causes a problem for MDT/OCL JUnit tests that use discontinued UML.metamodel.uml facilties.

It would help if the metamodel for UML models was also present as a pathmap://UML_METAMODELS/ entry. Perhaps as UML_MODEL_METAMODEL_URI.
Comment 1 Ed Willink CLA 2011-09-24 09:24:40 EDT
(In reply to comment #0)
> It would help if the metamodel for UML models was also present as a
> pathmap://UML_METAMODELS/ entry. Perhaps as UML_MODEL_METAMODEL_URI.

Especially important given that UML.merged.uml is not part of the binary contents of the main UML plugin.
Comment 2 Kenn Hussey CLA 2011-09-24 10:14:34 EDT
The purpose of the reference metamodel is for creation of stereotype extensions; the UML2-specific extensions (i.e., the various convenience methods that UML2 adds to the API) are not relevant in this context. Why are these operations needed by OCL?
Comment 3 Ed Willink CLA 2011-09-24 11:21:16 EDT
(In reply to comment #2)
> Why are these operations needed by OCL?

I'm not entirely sure; I'm just mending regressions.

In some cases, it appeared that e.g. Element::getKeywords() was just a convenient function for a signature test, but there are a couple of tests specifically focussed on OCL access to stereotyped elements in the presence of aliases, and others that verify the integrity of getMetaClass().

Whether the OCL tests are necessary or not, it seems that provision of the merged UML model from which the Java classes are generated is useful.
Comment 4 Kenn Hussey CLA 2011-09-27 00:07:27 EDT
Hmm. The merged UML model is a source model, used at development time when producing the implementation. I'm not convinced that it's of much/any use to clients...
Comment 5 Ed Willink CLA 2011-09-27 04:59:29 EDT
I don't fully understand the traditional MDT/OCL support for Associations and the new pivot support is still in progress, but I'm pretty sure that for any application that wants to reason about Associations it is helpful to have a modeled representation of them.

In the absence of UML.merged.uml, an application must either go back to the unmerged sources, if they are available, and re-merge or reverse engineer the idiomatic exposition in the generated Ecore, which probably lacks the EAnnotations to capture the lost information such as unnavigable opposites.

It seems a shame for the UML2 support project to hide the second most important meta-model.

[Some of the specific MDT/OCL JUnit problems can be resolved by rewriting tests to exercise operations that are present in some other model.]
Comment 6 Ed Willink CLA 2012-03-30 12:29:29 EDT
The MDT/OCL tests have taken a copy as a test vehicle, so there is no requirement now from MDT/OCL; just a general user friendliness in providing the overall UML as a file rather than requiring independent generation.
Comment 7 Kenn Hussey CLA 2012-03-30 15:21:55 EDT
Given there's no longer a burning need, and taking my previous comments into consideration, I'm inclined to not fix this issue because I don't want this model to be treated like "API".
Comment 8 Kenn Hussey CLA 2012-06-01 13:50:03 EDT
See bug 381237.
Comment 9 Kenn Hussey CLA 2012-06-01 15:42:22 EDT
So, the UML2 customizations will be restored to the reference metamodel after all, in response to bug 381237.

*** This bug has been marked as a duplicate of bug 381237 ***