Java Reference
In-Depth Information
specifically, EMOF (Essential MOF)—is closely aligned with the Ecore meta-
model of the Eclipse Modeling Framework (EMF) [12] and forms the basis of
most Modeling project technologies.
The topic of aligning the Ecore metamodel with the EMOF specification has
been ongoing for years and will likely continue because the implications of align-
ment are not trivial. EMF is such a popular technology used within many Eclipse
projects and commercial products that changing its structure and API is not a
viable solution. As has been discussed, updating the EMOF specification to align
with Ecore might be a better solution.
Although EMF forms the bedrock of nearly every Modeling project, room
for improvement still exists. Discussions are ongoing in the areas of large-scale
models, metamodel enhancements, alternative persistence mechanisms, and so
on. When considering the evolution of EMF and all Eclipse open source projects,
it's important to keep in mind that it is contribution based. EMF itself consists
of a small team that must maintain and preserve its current client base.
Unified Modeling Language (UML)
Unified Modeling Language (UML) [6] is implemented within the UML2 com-
ponent of the Model Development Tools (MDT) project [8] and currently con-
forms to the 2.1 version of the specification. This implementation of the UML2
metamodel is based on EMF and has been part of Eclipse for quite some time.
Diagramming capabilities for the UML2 metamodel implementation are now
provided by the MDT project's UML2 Tools component. These diagrams are gen-
erated using the Eclipse Graphical Modeling Framework (GMF) project, itself an
example of model-driven software development using Eclipse technologies.
Both the metamodel and diagramming components provide support for the
definition of UML Profiles. Profiles play an important role in MDA and in the
definition of UML-based DSLs. Although no UML Profiles are available at
Eclipse today, they could be implemented and provided to the community in the
future. Ideally, a catalog of profiles and other MDA artifacts would be con-
tributed to and maintained by the community for general consumption.
Object Constraint Language (OCL)
Object Constraint Language (OCL) [9] is an important element of Model-Driven
Architecture (MDA) and is used in several Modeling projects. OCL is provided
as a component of the Model Development Tools (MDT) project, with a com-
plementary OCL Tools component coming in the near future. The OCL imple-
mentation conforms to the 2.0 version of the specification and has bindings to
both Ecore and the UML2 metamodel implementations.
Search WWH ::




Custom Search