Graphical Model Transformation Framework


Published on

This is a Model Driven Approach to convert heterogeneous models into domain-specific model.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Graphical Model Transformation Framework

  1. 1. Graphical Model Transformation Framework (GMTF) - Normalizing heterogeneous models into UML – a suggested approach
  2. 2. Problem Space  <ul><ul><li>Product Vendors need a tool to visualize and persist heterogeneous </li></ul></ul><ul><li>domain models in the form of a platform-specific yet standard-based </li></ul><ul><li>model. </li></ul><ul><ul><li>In order to minimize the chaos, the product vendors are very fast coming up with standard specifications for industry domain models . </li></ul></ul><ul><ul><li>For example, </li></ul></ul><ul><ul><ul><li>telecom industry has proposed a common meta-model for telecom products. </li></ul></ul></ul><ul><ul><ul><li>Similarly, warehouse tools have agreed upon CWM (Common Warehouse Model). </li></ul></ul></ul><ul><ul><ul><li>Statistical tools trying to adopt a common Predictive Mark-up Modeling Language ( PMML ). </li></ul></ul></ul><ul><ul><ul><li>Rule Engines adhere to Ontology Definition Model ( ODM ). </li></ul></ul></ul><ul><ul><li>These meta-models are referred as Computational Independent Model (CIM). </li></ul></ul>
  3. 3. Solution Approach <ul><ul><li>We embrace the MDA to address the problem </li></ul></ul><ul><ul><ul><ul><li>Capturing the business requirement using a Computation Independent Model ( CIM – e.g. SBVR/ODM/XMI/XSD/WSDL/Annotated POJO). – as mentioned in the problem space </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Then defining the system functionality into platform-independent model ( PIM - e.g. EMOF) using an appropriate Domain Specific Language (e.g. EMF). </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>In an attempt to ensure synergy and interoperability between different meta-models, OMG has proposed MOF (Meta-Object Facility). </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>It’s the responsibility of MOF implementers to provide an API that can convert heterogeneous CIMs into a standard Platform Independent Model </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Finally, given a Platform Definition Model ( PDM - e.g. eclipse GMF vocabulary) the PIM is translated to one or more platform-specific models ( PSMs - e.g. UML with domain specific stereotype). </li></ul></ul></ul></ul>
  4. 4. Eclipse makes it so simple ! UML XSD WSDL DB Schema EMF+GMF Domain Specific Graphical model Annotated POJO
  5. 5. Case Study A: A Finance Vendor needs to render the purchase-order requirements received as WSDL into a PSM CIM ( human elaborated specifications )
  6. 6. Case Study A: Implementation <ul><ul><li>Convert CIM to Ecore </li></ul></ul><ul><ul><ul><li>Xsd2EcoreBuilder – dynamically generates the EClass hierarchy using EMF API. </li></ul></ul></ul>
  7. 7. Case Study A: Implementation <ul><ul><li>Convert Ecore to UML </li></ul></ul><ul><ul><ul><li>Eclass hierarchy is converted into UML class hierarchy using UML Diagramming Framework API (uml2tools plugin). </li></ul></ul></ul><ul><ul><ul><li>UML meta model (implemented as uml.ecore -> ecore.ecore) </li></ul></ul></ul><ul><ul><li>Convert PIM to PSM </li></ul></ul><ul><ul><ul><li>the domain specific (FinanceEntity) stereotypes are applied to the uml model in order to obtain a PSM. </li></ul></ul></ul><ul><ul><li>Visualize the PSM </li></ul></ul><ul><ul><ul><li>GMF persists the UML superstructures using a diagram notational model (an eclipse specific diagram persistence vocabulary-PDM). </li></ul></ul></ul><ul><ul><ul><li>finally the PSM (domain specific uml model) is rendered on a graphical editor. </li></ul></ul></ul>
  8. 8. Case Study A: Final PSM <ul><ul><li>This domain specific uml file now can be imported into any other xmi-compliant uml tools (Rational / EA/ Poseidon etc.). </li></ul></ul><ul><ul><li>Only the data &quot;behind&quot; the diagram <uml:Model/>… will be transmitted. </li></ul></ul><ul><ul><li>The diagram elements will be recreated by importer tools. </li></ul></ul>
  9. 9. Viewer & Editor Controller GEF Model EMF «notational» View Diagram model «semantic» EObject Biz Model «notational» commands Graphical editing Component (IGraphicalEditPart) Editing policies requests figures layouts references manipulates reads listens returns understands handles Connection Routers creates/updates PSM is visually rendered/ manipulated by gef Controller and persisted in emf Model CIM CIM-to-Ecore Behind the scene….
  10. 10. Case Study B : Converting Java Model into PSM
  11. 11. Case Study B : Visualizing PSM JavaEcoreBuilder  UMLModelGenerator  GMF Renderer
  12. 12. Case Study C : Transforming DB Schema into Graphical Model Schema Meta Model (DTP)  (DB2EcoreBuilder) Ecore Meta Model (EMF) UML Meta Model  PSM with Table stereotype (UMLTools)  Editor (GMF)
  13. 13. Graphical Model Transformation Framework – in a nutshell