Transformation Patterns - PowerPoint PPT Presentation

About This Presentation
Title:

Transformation Patterns

Description:

CGI to EJB. JavaDoc. Genealogy data. More Examples... Cross-compilation. OQL to SQL. etc ... What is different from Functional programming? In functional programming ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 14
Provided by: willi322
Category:

less

Transcript and Presenter's Notes

Title: Transformation Patterns


1
Transformation Patterns
  • Al, Jean, Jeff, Kerry, Krzysztof, William, ??

2
Transformation Patterns
  • What is a transformation pattern?
  • common patterns I have seen
  • structures

3
Examples
  • MOF 1.3 ? EMF
  • more constructs in MOF than in EMF
  • want bi-directional (EMF ? MOF 1.3)
  • e.g. MOF constraint into EMF annotation
  • annotation had information on how to go back to
    EMF
  • Details
  • a) Normal EMF ? MOF is pretty easy
  • b) But if the annotations have been changed,
    completing the round-trip is a serious problem
  • Only allow round-trip if it is consistent
    otherwise (a)

4
More Examples
  • UML to MOF
  • UML XMI transform to MOF XMI
  • example of a tool writing in ATL
  • UML Activity to BPEL
  • MOF to JMI
  • CGI to EJB
  • JavaDoc
  • Genealogy data

5
More Examples
  • Cross-compilation
  • OQL to SQL
  • etc
  • Databases
  • Normalizations
  • Logical to physical

6
Common pattern
B
A
C
Y
X
Z
7
Concrete ExampleDatabase Logical ? Physical
Class
Table
Attribute
Column
8
Characterizing Transformationsas a whole
  • 7) HOT (higher order transformation)
  • 6) Ma ? Mb (nothing)
  • 5) Ma ? Mb Exists MMa MMp MMb
  • 4) Ma ? Mb MMa contains MMb
  • 3) Ma ? Mb MMa in MMb
  • 2) Ma ? Mb MMa MMb
  • 1) Ma ? Ma (within same model)

9
Vertical vs. Horizontal Transformations
10
Kinds of Transformation
  • Property-Preserving
  • property P we have P(Ma) implies P(Mb) when Ma ?
    Mb
  • Evolution
  • platform MaMMa ? MaMMa
    semantics-preserving Meaning(Ma) Meaning (Mb)
  • functional (change in requirements)
  • MaMMa ? MbMMa
  • Compilation
  • generally semantics-preserving
  • Optimization
  • one that is P-preserving, Q-reducing
  • Refactoring
  • changing structure, semantics preserving
  • Its like also optimization (Q is -ility or
    niceness metric)

11
Source ? Target
  • Cardinality
  • all cases
  • 11 1M M1 MM
  • Effect at type level
  • Does it increase or decrease number of types
  • For case ?M
  • Homogeneous
  • Heterogeneous

12
Explosion/Contraction
  • State Explosion
  • Two states
  • adding intermediate states into a transition
  • Permutation
  • Elaborating all combinations of information
  • Version explosion
  • multiple models coming in that are variants of
    each other
  • Like Query languages
  • projection
  • selection
  • order
  • transitive closure

13
Philosophical Interlude
  • What is different from Functional programming?
  • In functional programming
  • main structure is a tree
  • In Model-driven approach
  • main structure is a graph
  • moving from trees to graphs gives more power
  • (but text can be better than pictures for some
    uses)
  • All the meta-models are OO
  • Working with OO structures graphs
Write a Comment
User Comments (0)
About PowerShow.com