IMM is a proposed open source component of the Model Development Tools (MDT) subproject to provide metamodel/profile implementations based on the forthcoming Information Management Metamodel (IMM) OMG specification.
This component 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 component. Please send all feedback to the eclipse.modeling.mdt 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.
The OMG’s Common Warehouse Metamodel (CWM) has been successful and is mature and stable, with widespread and increasing adoption by vendors and customers for metadata interchange: most widely in the area of relational database information. Unfortunately, the uptake has been somewhat hampered by CWM’s name - many of the potential uses of CWM have no connection with building or managing data warehouses. It is in effect a core standard for representing the management of any form of information resource: it has been recognized as such by being made one of MDA’s ‘cornerstone’ standards (the others being MOF and UML).
The Information Management Metamodel (IMM) specification is still at the Request For Proposal (RFP) process stage. The RFP proposes the name Information Management Metamodel (IMM) instead of CWM in light of the fact that, with the advent of MDA, there is now far more emphasis on modeling compared to when CWM was originated - as primarily a means of interchange only.
IMM is a "standard" metamodel to address the needs of Information Management. This includes the scope of the existing Common Warehouse Metamodel (CWM) standard but is extended to cover the following areas:
- Metamodel for Information Management (IMM)
- UML2 Profile for Relational Data Modeling, with a mapping to the IMM metamodel and SQL DDL
- UML2 Profile for Logical (Entity Relationship) Data Modeling, with a mapping to the IMM metamodel
- UML2 Profile for XML Data Modeling, with a mapping to the IMM metamodel and XML Schema
- UML2 Profile for Record Modeling, with a mapping to the IMM metamodel and COBOL Copybooks
- A standardized ‘Information Engineering’ data modeling notation with a mapping to the IMM metamodel
Using tools that support IMM, end-users will be able to not only model the business information in a consistent manner but also enable traceability among OO, Data, and XML models. This traceability is critical to improve semantic accuracy of information and promote reuse without locking developers into a particular tool but enabling use of tools of their choice while retaining interoperability. As the existing CWM standard will morph into IMM, the capability to provide data lineages (source to target maps) will continue to be available and enhanced. In a nutshell, IMM will enable modeling and interchange of the complete information lifecycle.
The objectives of the proposed IMM component are to provide
- an open source "reference" implementation of the IMM specification
- an EMF-based foundation on which information management modeling tools can be built
- a basis for integrating and interchanging artifacts between information management modeling tools
- a forum for engaging the community in validation of the IMM specification
Relationship with Other Eclipse Projects/Components
The Model Base subproject of the Data Tools Platform (DTP) project provides an SQL model that is in fact being used as the basis for the relational modeling subset of the IMM standard. An effort was made to enhance this model to accommodate comments/requests made by the OMG, but it is unclear whether the results were complete or satisfactory. It is our intent to work closely with the DTP project team to reconcile these differences.
The XSD component of the Model Developement Tools (MDT) subproject provides an XSD metamodel that is in fact being used as the basis for the XML schema modeling subset of the IMM standard. It is our intent to work closely with the XSD component team to ensure that the profile developed as part of this new component will be alligned with the existing metamodel.
Obvious integrations between this and other Modeling subprojects/components will be explored as the component evolves.
The initial committers for this component would be:
- Kenn Hussey (Embarcadero Technologies), proposed component lead
- Dave Carlson (XML Modeling)
- Nick Dowler (Adaptive)
This component will not include an initial code contribution. An implementation of the IMM metamodels/profiles consisting of Java packages within the org.eclipse.imm.* namespace will be developed using EMF and UML2 as the standard emerges in response to the OMG RFP.
The team of initial committers will explore statements of interest from additional developers experienced with IMM or willing to gain such experience.
It is expected that the user community for this component will consist primarily of developers, given that it is essentially a foundation for building information management modeling tools.
The first release of this component, focused on the data (conceptual, logical, and relational) and XML schema (XSD) modeling subsets of the IMM specification, would be tentatively scheduled for June 2009, as part of the annual simultaneous release.