Zinovy ¡Diskin, ¡Yingfei ¡Xiong, ¡Krzysztof ¡Czarnecki ¡ Genera9ve ¡So;ware ¡Lab ¡ University ¡of ¡Waterloo, ¡Canada ¡
Overlap? ¡ Consistency? ¡
Model D1 Model D2 same ¡ A ¡ C ¡ D ¡ B ¡ E ¡ Merge model Σ AC ¡ D ¡ F ¡ G ¡ Model D3 BF ¡ GE ¡
Model ¡Correspondence ¡via ¡Span ¡ Model ¡A0 ¡reifies ¡all ¡ same -‑links ¡ Model ¡A0 ¡ Model ¡ ¡A2 ¡ Model ¡ ¡A1 ¡ ? Order OnlineOrder price: int price: int price: int date: Date mapping ¡(leg) ¡f2 ¡ mapping ¡(leg) ¡f1 ¡ Model ¡ Model ¡ ¡A2 ¡ Model ¡A1 ¡ (head) ¡A0 ¡ Triple ¡(A0,f1,f2) ¡is ¡called ¡a ¡ span ¡ from ¡A1 ¡to ¡A2 ¡
Sequence ¡diagram ¡ Class ¡diagram ¡ ¡ sd ¡ cd ¡ Statechart ¡ ? � sc ¡
Problems ¡1: ¡Type ¡Safety ¡ same ¡ IncompaMble ¡types: ¡OperaMon ¡vs. ¡MessageType ¡! ¡
Problem ¡2: ¡Indirect ¡correspondence ¡ ? same ¡ No ¡explicit ¡target ¡in ¡mmSD ¡(and ¡sd)! ¡ ¡
Problem ¡3: ¡Inter-‑Model ¡Constraints ¡ ≤ ¡ Sequence ¡diagram ¡ Statechart ¡ sd ¡ sc ¡ The ¡inter-‑model ¡constraint ¡is ¡neither ¡ in ¡mmSD ¡nor ¡mmSC! ¡
Problem ¡4: ¡N-‑ary ¡Metamodel ¡RelaMons ¡ Pairwise, ¡ternary, ¡… ¡overlaps! ¡ Overlaps ¡between ¡overlaps! ¡
Problem ¡1: ¡Type ¡Correspondence ¡ Common ¡metamodel ¡ view def m1 view def m2 Metamodel � Metamodel ¡ Metamodel ¡ mm CA ¡ mmCD � mmSD � Sequence diagram sd 2CA ¡ Class diagram cd2CA sd cd traceability traceability mapping m2 mapping m1 same ¡ Operation ‘ get ’ models view execution mechanism
Problem ¡2: ¡Indirect ¡Overlap ¡
Problem ¡3: ¡Inter-‑Model ¡Constraints ¡ Mapped ¡to ¡derived ¡ elements ¡in ¡mmSD ¡ Inter-‑model ¡constraint: ¡ A ¡view ¡to ¡ Traces ¡consistent ¡with ¡ mmSD ¡ the ¡flat ¡Statemachine ¡ A ¡view ¡to ¡ mmSC ¡
Problem ¡4: ¡N-‑ary ¡Metamodel ¡ InterrelaMons ¡ mmSD m 4 [=] m 2 m 1 m 6 � mmCD mmCA mmCTrSM m 3 [=] m 5 mmSC
Summary ¡ • Heterogeneous ¡consistency ¡check ¡is ¡reduced ¡ to ¡the ¡homogeneous ¡one ¡but ¡metamodel ¡ merging ¡is ¡minimal ¡ – only ¡to ¡manage ¡inter-‑metamodel ¡constraints, ¡ working ¡as ¡locally ¡as ¡possible ¡ • Despite ¡heterogeneity, ¡matching ¡is ¡type ¡safe ¡ • Applicability ¡to ¡a ¡wide ¡class ¡of ¡metamodeling ¡ techniques ¡(based ¡on ¡graph-‑like ¡structures) ¡ • Formal ¡foundaMons ¡based ¡on ¡the ¡well-‑ established ¡ ins6tu6on ¡theory ¡
Local ¡vs. ¡total ¡consistency ¡checking: ¡ Discussion ¡ cd sd Class diagram Sequence cd diagram sd cd2CA sd2CA cd2CA+ Statechart Merge sc2CA sd2CA+ sc2CA sc cd + sd + sc sc Two ¡approaches: ¡ (b) ¡Local ¡merge: ¡we ¡first ¡specify ¡an ¡ (a) Total ¡direct ¡merge: ¡cd, ¡sd, ¡sc ¡are ¡ overlap ¡metamodel ¡ ¡CA ¡= ¡a ¡common ¡ considered ¡instances ¡of ¡the ¡same ¡ view ¡to ¡CD, ¡SD, ¡SC. ¡Then ¡project ¡the ¡ global ¡metamodel ¡M. ¡ three ¡models ¡to ¡the ¡overlap ¡and ¡apply ¡ M ¡can ¡be ¡derived ¡from ¡the ¡ Consistency ¡Checking ¡by ¡Merge. ¡ ¡ metamodel ¡mappings. ¡
Future ¡work ¡ • TheoreMcal ¡validaMon ¡ – complete ¡the ¡formal ¡semanMcs ¡outlined ¡in ¡the ¡ paper ¡ – prove ¡that ¡(a) ¡local ¡and ¡(b) ¡global ¡(via ¡total ¡ merging ¡of ¡all ¡metamodels) ¡CC ¡are ¡equivalent ¡ – develop ¡a ¡taxonomy ¡of ¡heterogeneous ¡ mulMmodels ¡and ¡verify ¡its ¡usability ¡ • Experimental ¡validaMon ¡of ¡the ¡approach ¡ 10/5/10 ¡ MDI-‑2010, ¡Oslo ¡ 22 ¡
Recommend
More recommend