Home » Modeling » EMF Diff/Merge » How to use DiffMerge/Patterns
| | |
Re: How to use DiffMerge/Patterns [message #1706387 is a reply to message #1706294] |
Wed, 26 August 2015 13:32 |
Olivier Constant Messages: 106 Registered: January 2012 |
Senior Member |
|
|
Glad the problem got solved.
About your questions :
1. User viewpoint
Good news, we are almost in sync: we have worked on a first draft of a complete documentation. It has been almost ready for some time, we just needed some request like yours to give this task a high priority. I have logged bug #475916 to track that. I tried to push the documentation today but I ran into technical problems (it is ALWAYS the case when you come back from vacation, as if networks were living beings). It will be done tomorrow if we are lucky.
2. Developer viewpoint
I assume your need is not just to share metaclasses, otherwise you could use classical dependencies between Ecore files. Beware that every instance of a pattern duplicates the elements of the pattern, so patterns support "sharing" of modeling principles, but not "sharing" of model elements. I would suggest you give a try to patterns in Capella class diagrams in order to be sure that it corresponds to your needs.
If that is the case then you are right: you have to develop a customization for Ecore Tools. The thing is, it is likely to be a tricky, technical work in that case, because elements in EMF metamodels (instances of EClass, EReference, etc.) do not have unique identifiers, unlike UML or Capella elements. A consequence is that the customization will need to provide a means to uniquely identify those elements (preferably, a means that supports renaming and moving operations...). If you think that is the thing to do, then I would suggest to start with the UML Designer customization and try to adapt it to Ecore Tools.
|
|
| |
Re: How to use DiffMerge/Patterns [message #1706492 is a reply to message #1706478] |
Thu, 27 August 2015 10:37 |
Olivier Constant Messages: 106 Registered: January 2012 |
Senior Member |
|
|
The documentation is now available on the Patterns repository! As mentioned in [1], it is located in /doc in the form of an Eclipse help.
To browse it, you can perform as you did with the UML Designer customization. The documentation will become visible as a root entry named "Modeling Patterns" in the "Help Contents" of your modeling environment.
Note that it is more of a reference manual for now, maybe a tutorial for beginners would be useful too. Anyway, any suggestion for improving the doc is of course welcome!
There are two sorts of identifiers for model elements: "intrinsic" and "extrinsic".
- intrinsic IDs are defined in metamodels, they correspond to an attribute, usually named "id" and of type String, whose Ecore property "isID" is true. This is the best way of identifying elements if you need, e.g., version control for your models. Capella uses intrinsic IDs.
- extrinsic IDs are assigned by the persistence layer for models, e.g. XMI, CDO, etc. A consequence is that if you physically move a model, e.g., from XMI to CDO, these IDs will be lost. Eclipse UML / UML Designer models use XMI IDs when stored in local files.
You may have a look at the official EMF book by Ed Merks et al. for more detailed (and probably better written) information.
Hope it helped.
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=475916
|
|
| | |
Goto Forum:
Current Time: Fri Nov 08 23:38:41 GMT 2024
Powered by FUDForum. Page generated in 0.03176 seconds
|