Metamodel Specification Tools (MST) is a proposed open source subproject of the Model Development Tools (MDT) project to provide tooling for the development of MOF compliant metamodels, and specifications based on them.
This project is in the Pre-Proposal Phase (as defined in the Eclipse Development Process) and this document is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join in the development of the project. Please send all feedback to the eclipse.mst newsgroup.
The importance of supporting industry standards is critical to the success of the Modeling project, and to Eclipse in general. The role of the Modeling project in the support of industry standards is to enable their creation and maintenance within the Eclipse community. Furthermore, as standards bodies such as the OMG have a strong modeling focus, the Modeling project needs to facilitate communication and outreach through its PMC and project contributors to foster a good working relationship with external organizations.
Years of experience with creating and using metamodels based on MOF and similar technologies (e.g. EMF) have shown that the object-oriented structure of MOF is quite effective at providing an abstract syntax for a model representing a single view and notation but has proven limited in a broader context involving multiple viewpoints, related models, or different viewpoints of the same thing, e.g., a set of process, information, service, and rules models about the same enterprise. Multiple "stovepipe" metamodels and profiles have thus been created and are causing problems for users who use multiple tools. In addition, many MOF-based metamodels lack a "semantic grounding" because MOF does not currently facilitate semantic precision. The OMG has issued a Request for Proposal (RFP) to make incremental changes to several existing specifications in order to make MOF better capable of supporting richer and evolving models; the proposed MST project would provide an implementation of the specification that emerges in response to this RFP.
One of the challenges of developing an OMG specification is the lack of tooling support for CMOF (Complete Meta Object Facility) models. This was one of the many topics that were discussed during the “Mega Modeling Mania” BoF at EclipseCon 2008 and again at the Eclipse/OMG Symposia in March and June. Based on those discussions, there appears to be demand for tooling that will make it easy to create, serialize (in CMOF-compliant XMI), and document metamodels that form the basis for open specifications. This a proposal for a new sub-project of the MDT project, dubbed “Metamodel Specification Tools”, or MST, to provide this kind of tooling at Eclipse.
The MST project would customize and/or extend the existing (or forthcoming) UML editors (primarily for class and package/profile diagrams) to expose CMOF concepts which are missing in UML (like identifiers, namespace URIs, and XMI tags), leverage the CMOF (de)serialization support that was introduced in the UML2 project as part of the Ganymede release, and provide a mechanism for generating a specification (or at least a decent boiler plate for one) directly from the metamodel using BIRT. The project would also aim to automate the mapping between a metamodel and its profile representation (if there is one) and to make use of the Eclipse Process Framework (EPF) to document and coordinate the specification development process. Finally, it will provide a proof of concept for changes and/or extensions to EMF and/or UML2 to better support richer and evolving metamodels, as per the MOF Support for Semantic Structures RFP.
Relationship with Other Eclipse Projects
The Papyrus (recently created), UML2 Tools, and UML2 subprojects of the Model Developement Tools (MDT) project already (or will soon) provide much of the functionality that will be used to create and serialize MOF-compliant metamodels. It is our intent to work closely with these project teams to ensure that the challenges discovered while developing this new project can be addressed.
Obvious integrations with other Modeling subprojects will be explored as the project evolves.
- Ed Merks
- Richard Gronback
Initial CommittersThe initial committers for this project would be:
- Kenn Hussey (Embarcadero Technologies), proposed project lead
- Nicolas Rouquette (JPL)
- Nick Dowler (Adaptive)
- Chris Armstrong (Armstrong Process Group, Inc.)
- Tom Digre (ModelDriven.org)
This project will not include an initial code contribution. Extensions to existing framworks and tooling consisting of Java packages within the org.eclipse.mst.* namespace will be developed as required to provide the capbilities mentioned above.
Thus far, interest in this component has been expressed by Embarcadero Technologies, IBM, JPL, Adaptive, No Magic, Inc., visumpoint, Armstrong Process Group, Inc., Unisys, Zeligsoft, Inc., and ModelDriven.org.
The team of initial committers will explore statements of interest from additional developers experienced with metamodel and/or specification development or willing to gain such experience.
It is expected that the user community for this component will consist primarily of specification authors, given that it is essentially a tool aimed at building and documentation metamodels.
The first release of this project, focused on metamodel creation and serialization, would be tentatively scheduled for June 2009, as part of the Galileo simultaneous release.