Fakultät Informatik, Institut für Software- und Multimediatechnologie, Lehrstuhl Softwaretechnologie Towards a Generic Layout Composition Framework for Domain Specific Models Jendrik Johannes Karsten Gaul 26/10/2009, DSM’09, Orlando, Florida
Model Composition in MDSD Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 1
Model Composition in MDSD mental map Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 2
Model Composition in MDSD Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 3
Viewpoints on Models mental map Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 4
Viewpoints on Models (E)MOF Instance-of CIM UML … Instance-of mental map Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 5
Viewpoints on Models (E)MOF Instance-of CIM Instance-of ? X Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 6
Viewpoints on Models (E)MOF Instance-of CIM Instance-of Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 7
Viewpoints on Models (E)MOF Instance-of CIM Instance-of mental map Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 8
Viewpoints on Models (E)MOF Instance-of CIM GMF GMF Instance-of mental map + Layout Composition Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 9
Viewpoints on Models (E)MOF Instance-of CIM GMF GMF Instance-of + Layout Composition Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 10
Layout Composition 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout composition in addition to semantic composition • Setting – DSMLs (defined in EMOF/Ecore) with graphical syntax – Graphical composition scripts – Composition tool needs to expose relations between composition scripts and input models Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 11
Layout Gathering & Merge 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout format dependent (e.g. GMF) • Input Model Source (Source Layout) width = ? – Width and height of height = ? bounding box Target x = ? • Composition Script y = ? (Target Layout) – Position of model in script Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 12
Layout Gathering & Merge 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout format dependent (e.g. GMF) • Input Model Source (Source Layout) width = 30 – Width and height of height = 20 bounding box Target x = ? • Composition Script y = ? (Target Layout) – Position of model in script Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 13
Layout Gathering & Merge 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout format dependent (e.g. GMF) • Input Model Source (Source Layout) width = 30 – Width and height of height = 20 bounding box Target x = 5 • Composition Script y = 5 (Target Layout) – Position of model in script Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 14
Layout Gathering & Merge 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout format dependent (e.g. GMF) • Input Model Source (Source Layout) width = 20 – Width and height of height = 10 bounding box Target x = ? • Composition Script y = ? (Target Layout) – Position of model in script Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 15
Layout Gathering & Merge 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout format dependent (e.g. GMF) • Input Model Source (Source Layout) width = 20 – Width and height of height = 10 bounding box Target x = 40 • Composition Script y = 5 (Target Layout) – Position of model in script Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 16
Simple Layout Composition (E)MOF Instance-of CIM GMF GMF Instance-of mental map + Layout Composition Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 17
Simple Layout Composition (E)MOF Instance-of CIM GMF GMF Instance-of + Layout Composition Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 18
Overlap Elimination 0$123' !"#$%&'($)*$+,&,$-'.!(/ ($)*$+,&,$-'.0(/ <$C08'3$,9$?-&-$) !"#$%&'()*$+,"&-$) !"#$%&' 670+8"9' !"#$%&' 2"5 :)1-)0 ."&/0+-)1'2!345 <0+10'2!3=5 :8-,-)"&-$)'2!3;5 >0+?-?&-)1'2!3@5 A$%+B0'()*$+,"&-$) D"+10&'()*$+,"&-$) 2F5 3$,9"+"&$+ E++")10+ <"&0+-"8-?0+ >+$7-C0+ >+$7-C0+ • Layout adjustment algorithms – Always apply on input model element sets – Horizontal sorting • May destroy layout by moving elements too far – Uniform Scaling • May move elements too far out • Danger of loosing compactness Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 19
Layout Composition with Adjustment (E)MOF Instance-of CIM GMF GMF Instance-of mental map + Layout Composition Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 20
Layout Composition with Adjustment (E)MOF Instance-of CIM GMF GMF Instance-of mental map + Layout Composition Tool View User View Jendrik Johannes and Karsten Gaul: Towards a Generic Layout Composition Framework for Domain Specific Models 21
Recommend
More recommend