towards an expressivity benchmark for mappings based on a systematic classification of...
TRANSCRIPT
Towards an Expressivity Benchmark for Mappings based on a Systematic Classification of Heterogeneities
M. Wimmer, G. Kappel, Angelika Kusel, W. Retschitzegger, J. Schönböck, W. Schwinger
Johannes Kepler University Linz, [email protected]
This work has been partly funded by the Austrian Science Fund (FWF) under grant P21374-N13.
2/10
• Multitude of modeling tools available• Seamless exchange of models essential• Thus, M2M Transformations to overcome heterogeneities are needed
Motivation (1/2)
Motivation Example Heterogeneities Homepage Future Work
Model Creation Tools Model Checking Tools
Model Simulation Tools
Model Transformation Tools Code Generation Tools
3/10
Motivation (2/2)
Kind
name:String
Publication
name:StringPublication
title:String1..1kind
kind:String
MM of Tool1 MM of Tool2
K1: Kind
name = ‘Journal‘
P1: Publication
title = ‘P1‘
kind
P2: Publication
title = ‘P2‘
kind
K2: Kind
name = ‘Conference‘
P3: Publication
title = ‘P3‘
kind
P1:Publication
name = ‘P1‘kind = ‘Journal‘
P2:Publication
name = ‘P2‘kind = ‘Journal‘
P3:Publication
name = ‘P3‘kind = ‘Conference‘
Exemplary ModelExemplary Model
instance ofinstance of
unique
• Possibilities for expressing the transformation:– Use a model transformation language, e.g., ATL– Use a mapping tool and generate the transformation code– Advantages
• Abstracts from code• Reuses transformation logic through reusable components
Motivation Example Heterogeneities Homepage Future Work
How to express such a transformation?
Still unclear Which kinds of heterogeneities might occur
between metamodels?
And thus Which reusable components are needed?
Goal of this work Analyze potential heterogeneities Build a systematic classification Provide benchmark examples wrt. expressivity
for mapping tools
4/10
Heterogeneity Example
Kind
name:String
Publication
name:StringPublication
title:String1..1kind
kind:String
MM of Tool2
unique
MM of Tool1
: EClass
abstract = falsename = ‘Kind‘
: EAttribute
name = ‘title‘lowerBound = 1upperBound = 1
: EReference
name = ‘kind‘
lowerBound = 1upperBound = 1containment = false
ordered = false
: EAttribute
name = ‘name‘lowerBound = 1upperBound = 1
eStructuralFeatures
eStructuralFeatures
eReferenceType: EClass
abstract = false
name = ‘Publication‘
: EAttribute
name = ‘name‘lowerBound = 1upperBound = 1
: EAttribute
name = ‘kind‘lowerBound = 1upperBound = 1
eStructuralFeatures
eStructuralFeatures
: EClass
abstract = false
name = ‘Publication‘eStructuralFeatures
Con
cre
te
Syn
tax
Insta
nces o
f Ecore
(Ab
str
act
Syn
tax)
No heterogeneity
Naming Difference
Naming Difference and
Context Difference
Modeling Concept Difference
Modeling Concept Difference
Motivation Example Heterogeneities Homepage Future Work
Which kinds of heterogeneities do occur in this example?
Which kinds of heterogeneities might occur between Ecore-based MMs?
5/10
Variation Points in Ecore-based MMs
EClass
abstract : boolean
ENamedElement
name : String
EClassifier
…
ETypedElement
ordered : booleanlowerBound : int
upperBound : int
eStructuralFeatures0..*EStructuralFeature
…
EReference
containment : boolean
EAttribute
eReferenceType1..1
EDataType
eAttributeType1..1
eSuperTypes0..*
…
…
Naming Difference
Order Difference
Multiplicity Difference
Containment Difference
Concreteness Difference
Datatype Difference
Context Difference
Direction Difference
Breadth Difference
Depth Difference
Inheritance Type Difference
Publication
name:String
Paper
title:String
Example – Naming Difference
MM of Tool1 MM of Tool2
Publication
kind:String
Publication
kind:Integer
Example – Datatype Difference
MM of Tool1 MM of Tool2
Example – Context Difference
MM of Tool1 MM of Tool2
Publication
name:Stringkind:String
Publication
name:String 1..1
kind Kind
kind:String
Example – Order Difference
MM of Tool1 MM of Tool2
Publication
name:String 1..*
auths Author
name:String
Publication
name:String 1..*
auths Author
name:String
ordered
Example – Multiplicity Difference
MM of Tool1 MM of Tool2
Publication
name:String 1..5
auths Author
name:String
Publication
name:String 1..*
auths Author
name:String
Example – Direction Difference
MM of Tool1 MM of Tool2
Publication
name:String 1..*
pubs Author
name:String
Publication
name:String 1..*
auths Author
name:String
Example – Containment Difference
MM of Tool1 MM of Tool2
Publication
name:String 1..*
pubs Author
name:String
Publication
name:String 1..*
pubs Author
name:String
Example – Concreteness Difference
MM of Tool1 MM of Tool2
Publication
name:String
Conference
location:String
TechReport
university:String
Conference
location:String
TechReport
university:String
Publication
name:String
Example – Inheritance Differences
MM of Tool1 MM of Tool2
Publication
name:String
Conference
location:String
Conference
location:String
TechReport
university:String
Springer ACM
Two-Column
Publication
name:String
In which combinations might the heterogeneities occur?
Motivation Example Heterogeneities Homepage Future Work
6/10
Potential Combinations of Heterogeneities
Different cases can be distinguished
1) Same Ecore concepts
2) Different Ecore concepts
3) Different number of Ecore concepts
4) Additionally: valid instance seta) Different number of valid instances
b) Difference in the interpretation of the instance values
Syn
tacti
c
Hete
rog
en
eit
ies
Sem
an
tic
Hete
rog
en
eit
ies
Kind
name:String
Publication
name:StringPublication
title:String1..1kind
kind:String
unique
MM of Tool1 MM of Tool2
Example – Kind of Concept Difference
University
name:String
Author
name:StringAuthor
name:String1..1uni
university:String
MM of Tool1 MM of Tool2
Example – Number of Concepts Difference
Publication
name:StringJournal
name:Stringkind:String
MM of Tool1 MM of Tool2
Example – Number of Instances Difference
Motivation Example Heterogeneities Homepage Future Work
7/10
Feature-based Classification of Heterogeneities
Syntactic Heterogeneity Semantic Heterogeneity
Heterogeneity
Naming Difference Structural Difference
Disjoint Subset
Source-Target-ConceptCardinality
1:1 n:1 1:n C2C
Datatype Difference
Same Meta- modeling Concept
Different Meta- modeling Concept
A2A R2R C2A 2RR2C R2AA2C
Context Difference
MultiplicityDifference
MultiplicityDifference
Context Difference
Direction Difference
ContainmentDifference
Required Feature
Optional Feature
XOR Features
OR Features
Legend
Core Concept Difference Inheritance Difference
I2I
Same Meta- modeling Concept
Different Meta- modeling Concept
I2C A2II2R C2II2A R2I
Concreteness Difference
Depth Difference
m:n
Number of Instances Difference
Interpretation ofInstance Values Difference
Inheritance TypeDifference
Intersection Superset
OrderDifference
Breadth Difference
OrderDifference
Classification bases on existing work (mainly from the area of data engineering) F. Legler and F. Naumann. A Classication of Schema Mappings and
Analysis of Mapping Tools. In Proc. of BTW'07, 2007.
V. Kashyap and A. Sheth. Semantic and schematic similarities between database objects: A context-based approach. VLDB Journal, 5(4):276-304, 1996.
Contribution Adaptation to the area of MDE
Concept of relationship
Concept of inheritance
Systematization by means of a feature model
Motivation Example Heterogeneities Homepage Future Work
8/10
Benchmark Examples
• Should serve as expressivity benchmark for mapping tools• Community is invited to contribute!
http://www.modeltransformation.net/
Motivation Example Heterogeneities Homepage Future Work
Initial set of benchmark examples
Form-based entry of new
examples
Ratings of examples Examples are
classified
9/10
Future Work
• Extend the benchmark examples to fully cover
the classification• Apply the benchmark examples to diverse
mapping tools from the area of– Model engineering– Data engineering– Ontology engineering
• Extend own mapping language to provide the
required expressivity
Motivation Example Heterogeneities Homepage Future Work
10/10
Thank you for your attention!
Questions?