| Summary: | [Plan Item] Migration Framework | ||
|---|---|---|---|
| Product: | [Modeling] MDT.UML2 | Reporter: | Kenn Hussey <Kenn.Hussey> |
| Component: | Core | Assignee: | Kenn Hussey <Kenn.Hussey> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P1 | CC: | dmisic, knut.wannheden, nb271, sspeiche |
| Version: | 1.0.0 | Keywords: | plan |
| Target Milestone: | 1.1.0 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
| Bug Depends on: | 85979, 87825 | ||
| Bug Blocks: | |||
|
Description
Kenn Hussey
Hi, Will this framework make it any easier to write arbitrary transformations between UML2 models rather than just migrating UML model versions? My particular interest is in transformations for model compilers but there are of course a number of scenarious where transforming a UML2 model into another UML2 model is important, refactoring for example in which case no meta-model change has occured. Or as another example migration between models with profiles applied rather than just core UML2. Also will it have any relation to QVT or other more general model transformation work? This enhancement is not intended as a generic transformation framework, but rather a mechanism to support migration between versions of an EMF-based metamodel. However, a similar approach (that of using a custom resource implementation with extended metadata) could possibly be used to support transformations (e.g. Ecore - EMOF conversion). Regarding Nick Brett's comment on a generic transformation framework... There is an Eclipse technology project looking at that problenm GMT (Generative Transformation Framework) http://www.eclipse.org/gmt/ based on QVT, EMF, etc. I think that is where the generic framwork will arrise. I assume that those UML2 schema based resources include both models and profiles. In case of profiles I think it would be worthwhile to provide "the best effort" migration algorithm based on names in absence of the mapping file. It would probably be useful for models as well but it is more important for profiles as they internally create schemas every time the profile is 'defined'. These internal schemas can (and are) be programmatically deleted thus forcing authors to create a mapping file even for simple updates. A new mapping capability, Ecore2XML (plug-ins org.eclipse.uml2.mapping.ecore2xml.*; subject to change), has been added as of build 1.1M2. In combination with resource pre/post-processors and the XMLResource.OPTION_RECORD_UNKNOWN_FEATURE load option, this capability can be used to migrate between different versions of a given (Ecore-based) schema or in fact transform between two entirely different (Ecore-based) schemas. An example (plug-in org.eclipse.uml2.examples.emof2ecore), which transforms a resource from the EMOF schema to the Ecore schema, has also been provided as part of the examples feature. Documentation to follow. Auto-migration of profiles based on name matching will be addressed separately, time permitting. The Ecore2XML capability is being moved to EMF (see 85979). Refactor UML2 (and example) code as required. The changes have been committed to CVS. The necessary refactoring has been done as of build I200503311223. Move to verified as per bug 206558. |