Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada
description
Transcript of Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada
![Page 1: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/1.jpg)
Zinovy Diskin and Juergen Dingel,
Queen’s UniversityKingston, Ontario, Canada
A metamodel independent framework for model transformation: Towards generic model management patterns in reverse engineering
![Page 2: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/2.jpg)
Motivation. A big picture: RE as a generic MMt play
Slide 2
RE
MT generic MMt
Metadata management mathCT
![Page 3: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/3.jpg)
MT-programming (on the left) via PB (pull-back) (right)
Source model S;Source metamodel MS;
Target metamodel MT;
TransformationEngine
TransformationSpec (rules), PB-algorithm
Source model;Metamodel mapping,
MT MS
Target model
Trace mapping
Target model
Trace mapping
![Page 4: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/4.jpg)
MT in universal (not elementwise) terms(specification vs. implementation)
Slide 4
S
MT
mMS
T
m*
[ = ]
T’
’
m*’
u!
(1) Definition:
(T,,m*) = PB(, m)
(2) Theorem [an elementwise implementation of def(1)] :
T = {(e,y) S x MT | e. = y.m }
Th. (2) gives rise to a procedure implementing specification (1)
![Page 5: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/5.jpg)
MT-via-PB: separation of concerns
Slide 5
S
MT
mMS
T
m*
derQMS
Q
derQS
[ algExp] (query exec)
[PB](retyping)
Declarativepart
Proceduralpart
![Page 6: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/6.jpg)
Example: extracting ER-diagrams from SQL-tables(simplified)
![Page 7: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/7.jpg)
Does PB works? Yes, if we use proper (Kleisly) mappings to derived elements.
![Page 8: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/8.jpg)
How essential are derived elements?
Relational metamodel augmented with derived elements to interpret ER-metamodel.
Semantics of data is hidden in the application code.
![Page 9: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/9.jpg)
![Page 10: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/10.jpg)
Example of PB-execution over graphs
![Page 11: Zinovy Diskin and Juergen Dingel, Queen’s University Kingston, Ontario, Canada](https://reader035.fdocuments.net/reader035/viewer/2022062409/56814fd1550346895dbd92ff/html5/thumbnails/11.jpg)
UML SemanticsPresentation
Page 11
mathCT