[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[emfindex-dev] Contributing the QVT Declarative Model Registry to EMF Index
|
Hi
Tool support for OCL or QVTc or QVTr must perform a two level model name
resolution.
a) name to nominal URI
b) nominal URI to precise URI
In OCL a package context specifies a package name without specifying
where that package may be located.
In QVTc or QVTr a transformation references a meta-model name again
without specifying where that meta-model may be located.
The (originally UMLX) QVT Declarative Model Registry supports a) and b)
by prioviding a per-project set of registrations that are scoped by
resources (File or IResource), allowing a user to provide registrations
with project, folder or file granularity. Registrations are defined for
a chosen Model Accessor namespace, so that Model Name registrations map
from ad hoc name such as myUML to nominal URI such http://my.uml, and
URI registrations map from nominal URI to precise URI e.g.
platform://resources/myuml/model/uml.ecore.
The Model Name accessors are completely user defined.
The URI accessors enhance the built-in EPackage.Registry resolutions
with user defined mappings for models that need not be reified as Java code.
The registry is persisted as an EMF model in
.settings/org.eclipse.qvt.declarative.modelregistry
The GUI supports maintenance of registrations using a Property Page.
The API supports locating registrations and/or loading a resolution.
This functionality seems mostly complementary to EMF Index, so it seems
desirable to revise the current Model Registry code so that it can be
contributed to EMF Index. This will avoid migrating the QVT Declarative
Model Registry to MDT OCL as would be required to support the migration
of the OCL editor.
A fuller write up of the Model Registry with pictures may be found in
the EclipseCon 2008 submission
http://www.eclipse.org/gmt/umlx/doc/EclipseAndOMG08/ModelRegistry.pdf.
Regards
Ed Willink