Title: ATLAS Model Weaver
1 ATLAS Model Weaver Using weaving to define
generic model correspondences Marcos Didonet
Del Fabro fabro _at_ univ-nantes.fr PhD student
(2004 - 07) Supervisors Jean Bézivin and Patrick
Valduriez
2Overview
- Model weaving
- Use cases
- Mapping as models
- Model Weaver workbench
- Common weaving core
- Extensions
- Eclipse implementation
3Model Weaving
- Model engineering in ATLAS
- Modeling in the small (operations between model
elements) - Weaving, transformations
- Model Weaving
- Correspondences between models
4Use cases
- Transformation specifications
- Data mapping
- Heterogeneous data integration
- Schema merging
- Schema evolution
- Metadata management ( OMG Y organization )
5Weaving as Models
- Use of same model management primitives!
- Weaving of weavings (composition, undo)
- Expressiveness
- Attach semantics
- Foreign keys, nested constraints, ordering, etc.
- Hard to express with 1-1 correspondences
Weaving model
6Weaving metamodel
- Abstract and extensible core
- Associations, correspondences (links)
7Metamodel extensions
- Metamodel extensions
- add specific semantics to the correspondences
- Knowledge capture
- FK, nested, ordered, equals, containment,
supplier/consumer, - Weaving model ( 1 N ) woven models
8Model Weaver Workbench
- Eclipse EMF (Eclipse Modeling Framework)
- Manipulation of (meta)models
- Ecore metametamodel
- Reflective API
- Allows metamodel flexibility
- Auto generated UI
- Metamodels are represented in KM3 (KM32Ecore
transformation) - Based on contributions (small interconnected
plugins)
9Example RDBMS x XML
Weaving metamodel represented in KM3 Creation of
Eclipse extension points
Extension de base correspondences, models, links
Extension DBMXML FK, nested, equals
10Example RDBMS to XML
- Woven (meta)model(s) selection (allows N woven
models)
Interface extension point Different
visualizations for the woven models
Object identification mechanism Object adapters
Woven metamodel (or model)
11Extensible workbench
Plugged panels
Item providers extensions
Identification mechanism
12Semantic structures
Semantics
XML schema conforms to Ecore
SQL schema conforms to Ecore
13Weaving use ATL transformation
- IN RDBMS representation in XMI
- lt?xml version"1.0" encoding"UTF-8"?gt
- ltRootDatabase xmiversion"2.0"
- xmlnsxmi"http//www.omg.org/XMI"
xmlnsRoot"http//relationalMetaSchema.ecore"
xmiid"Database1"gt - ltbooks xmiid"Books6"gt
- ltbookRcds xmiid"BookRcd7"
ISBN"445533446FR" Title"Model Weaving"
Author"Myself" - SID"1"/gt
- ltbookRcds xmiid"BookRcd8"
ISBN"445566US" Title"Data mapping"
Author"Ralf" - SID"2"/gt
- lt/booksgt
- lt/RootDatabasegt
- ltsubjects xmiid"Subjects2"gt
- ltsubjectRcd xmiid"SubjectRcd3" SID"1"
Description"MDD"/gt - ltsubjectRcd xmiid"SubjectRcd4" SID"2"
Description"Data mapping"/gt - ltsubjectRcd xmiid"SubjectRcd5" SID"3"
Description"Computer Science"/gt - lt/subjectsgt
- OUT XML document
- lt?xml version"1.0" encoding"ASCII"?gt
- ltRootRoot xmiversion"2.0" xmlnsxmi"http//www
.omg.org/XMI" xmlnsRoot"Root"gt - ltbooks ISBN"445533446FR" Title"Model
Weaving" Author"Myself"gt - ltsubjects SubjectID"1" Description"MDD"/gt
- lt/booksgt
- ltbooks ISBN"445566US" Title"Data mapping"
Author"Ralf"gt - ltsubjects SubjectID"2" Description"Data
mapping"/gt - lt/booksgt
- lt/RootRootgt
14ATLAS Model Weaver - end
- Thanks
- Questions?
- Comments?