incremental pattern matching in the viatra2 model transformation framework
DESCRIPTION
Presented at an invited talk session for the University of Leicester in spring 2009.TRANSCRIPT
![Page 1: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/1.jpg)
BudapestUniversityofTechnologyandEconomicsDepartmentofMeasurementandInforma<onSystems
BudapestUniversityofTechnologyandEconomics
Incrementalpa,ernmatchingintheVIATRA2modeltransforma9on
framework
IstvánRáth([email protected])
![Page 2: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/2.jpg)
Overview
Introduc9ontoGTo fromtheVIATRA2perspec9ve
Incrementalpa,ernmatchingwithRETE
Ini9alPerformanceanalysiso Incrementalvs.Localsearch
Finetuningo Paralleliza9ono HybridPa,ernMatching
OngoingResearch/Futurework Summary
![Page 3: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/3.jpg)
INTRODUCTION
GraphTransforma9onsfromtheVIATRA2perspec9ve…
![Page 4: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/4.jpg)
BME‐MITMiniszimpózium2009
MDA,DSMinprac9ce
CORBA model
J2EE model
Embedded platform model
CORBA application
J2EE application
Embedded application
Domain-specific models
Platform-specific models
Application
PIM
Legacy code
Modeling (re-engineering)
![Page 5: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/5.jpg)
BME‐MITMiniszimpózium2009
MDA,DSMinprac9ce
CORBA model
J2EE model
Embedded platform model
CORBA application
J2EE application
Embedded application
Domain-specific models
Platform-specific models
Application
PIM
Legacy code
Modeling (re-engineering)
Applica9onsofVIATRA2
Domain‐specificviews
![Page 6: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/6.jpg)
6
ICGT'08
Metamodel
Metamodeling
tkn3:tokens
a4:outarc
a1:inarc a2:outarc
a3:inarc
inarc
outarc 11
* *
At most one
Arbitrary
p1:Place p3:Place
t2:Transition
t1:Transition
to1:Token
Transition
Place
Object
Link
Slot Instance model
Class
Association
Multiplicity constraint
Token
1
*
tokens
![Page 7: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/7.jpg)
GraphTransforma9on 7
Phases of GT matching – Pattern Matching phase – Updating phase: delete+ create
LHS RHS
Place
Token
Tran. Place a1:inarc a2:outarc
Place
Token
Tran. Plan a1:inarc a2:outarc
ttn1:tokens tkn2:tokens
matching updating
Pattern Matching is the most critical issue from performance viewpoint
![Page 8: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/8.jpg)
Incrementalmodeltransforma9ons KeyusagescenariosforMT:
o Mappingbetweenlanguageso Intra‐domainmodelmanipula9on
• Modelexecu9on• Validitychecking(constraintevalua9on)
Theyworkwithevolvingmodels.o Usersareconstantlychanging/modifyingthem.o Usersusuallyworkwithlargemodels.
Problem:transforma9onsareslowo Toexecute…(largemodels)o andtore‐executeagainandagain(alwaysstar9ngfromscratch).
Solu9on:incrementalityo Takethesourcemodel,anditsmappedcounterpart;o Usetheinforma9onabouthowthesourcemodelwaschanged;o Mapandapplythechanges(butONLYthechanges)tothetarget
model.
![Page 9: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/9.jpg)
Towardsincrementality
Howtoachieveincrementality?o Incrementalupdates:avoidre‐genera9on.
• Don’trecreatewhatisalreadythere.• Usereference(correspondence)models.
o Incrementalexecu+on:avoidre‐computa9on.• Don’trecalculatewhatwasalreadycomputed.
• How?
![Page 10: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/10.jpg)
INCREMENTALGRAPHPATTERNMATCHING
WiththeRETEalgorithm,asimplementedinVIATRA2
![Page 11: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/11.jpg)
Incrementalgraphpa,ernmatching Graphtransforma9onsrequirepa,ernmatching
o Mostexpensivephase
Goal:retrievethematchingsetquickly How?
o Store(cache)matcheso Updatethemasthemodelchanges
• Updateprecisely Expectedresults:good,if…
o Thereisenoughmemory(*)o Queriesaredominanto Modelchangesarerela9velysparse(**)o e.g.synchroniza9on,constraintevalua9on,…
![Page 12: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/12.jpg)
Opera9onaloverview
XForminterpreter
VIATRAModelspace
Incrementalpa,ernmatcher
modelmanipula9on
eventno9fica9on
pa,ernmatching
updates
![Page 13: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/13.jpg)
VIATRAModelspace
Coreinterfaces
XMLserializer
Na9veimporter&loaderinterface
XForminterpreter
LSpa,ernmatcher
VIATRA
2Framew
ork Programmodelstore
Incrementalpa,ernmatcher
Modelparser
XFormparser
Architecture
![Page 14: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/14.jpg)
p2
p1
p3
INPUT
Coreidea:useRETEnets
RETEnetworko node:(par9al)matchesofa
(sub)pa,erno edge:updatepropaga9on
Demonstra9ngtheprincipleo input:Petrineto pa,ern:fireabletransi9ono Modelchange:newtransi9on
(t3)
:Place
t2
:Transi9on:Token
t1
k2k1
k2k1
p1p2 t2t1
p2,k2p1,k1
p2,k2,t3
p1,k1,t1,p3
t3t3
t3t3 t3
p1p2p3 t2t1
t3
t3
p1,k1,t1
p2,k2,t2,p3
p3
t3
p2,k2,t3
Inputnodes
Intermediatenodes
Modelspace
Produc9onnode
![Page 15: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/15.jpg)
RETEnetworkconstruc9on Key:pa,erndecomposi9on
o Pa,ern=setofconstraints(definedoverpa,ernvariables)o Typesofconstraints:type,topology(source/target),hierarchy(containment),a,ributevalue,generics(instanceOf/supertypeOf),injec+vity,[nega9ve]pa,erncalls,…
Construc9onalgorithm(roughly)o 1.Decomposethepa,ernintoelementaryconstraints(*)o 2.Processtheelementaryconstraintsandconnectthemwithappropriateintermediatenodes(JOIN,MINUS‐JOIN,UNION,…)
o 3.Createterminatorproduc9onnode
![Page 16: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/16.jpg)
KeyRETEcomponents
JOINnodeo ~rela9onalalgebra:naturaljoin
MINUS‐JOINo Nega9veexistence(NACs)
INPUTINPUT
INPUT
JOIN
JOIN
PRODUCTIONsourcePlace
![Page 17: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/17.jpg)
Suppor9ngarichpa,ernlanguage Pa,erncalls
o Simplyconnecttheproduc9onnodeso Pa,ernrecursionisfullysupported
OR‐pa,ernso UNIONintermediatenodes
Checkcondi9onso check(value(X)%5==3)o check(length(name(X))<4)o check(myFunction(name(X))!=‘myException’)o Filterandtermevaluatornodes
Result:fullVIATRAtransforma9onlanguagesupport;anypa,erncanbematchedincrementally.
![Page 18: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/18.jpg)
Updates Neededwhenthemodelspacechanges
VIATRAno9fica9onmechanism(EMFisalsopossible)o Transparent:usermodifica9on,modelimports,resultsofatransforma9on,externalmodifica9on,…RETEisalwaysupdated!
Inputnodesreceiveelementarymodifica9onsandreleaseanupdatetokeno Representsachangeinthepar9almatching(+/‐)
Nodesprocessupdatesandpropagatethemifneededo PRECISEupdatemechanism
![Page 19: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/19.jpg)
PERFORMANCEANALYSIS
![Page 20: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/20.jpg)
Performance Intheory…
o Buildingphaseisexpensive(“warm‐up”)• Howexpensive?
o Oncethenetworkisbuilt,pa,ernmatchingisan“instantaneous”opera9on.
• Excludingthelinearcostofreadingtheresultset.o But…thereisaperformancepenaltyonmodelmanipula9on.
• Howmuch?
Dependencies?o Pa,ernsizeo Matchingsetsizeo Modelsizeo …?
![Page 21: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/21.jpg)
21
ICGT'08
Benchmarking
Aim:o systema9candreproduciblemeasurementso onperformanceo underdifferentandpreciselydefinedcircumstances
Overallgoal:o helptransforma9onengineersinselec9ngtools,finetuningop9ons
o Serveasreferenceforfutureresearch Popularapproachindifferentfields
o AIo rela9onaldatabaseso rule‐basedexpertsystems
![Page 22: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/22.jpg)
22
ICGT'08
Benchmarkingingraphtransforma9on
Specifica9onexamplesforGTo Goal:assessingexpressivenesso UML‐to‐XMI,object‐rela9onalmapping,UML‐to‐EJB,etc.
„Generic”PerformancebenchmarksforGTo Varróbenchmarko R.GeißandM.Kroll:OnImprovementsoftheVarróBenchmarkforGraphTransforma<onTools
o (Ag<veToolContest,Grabats’08,…) OurICGT’08paper:Benchmarksforgraphtransforma<onwithincrementalpa_ernmatchingo simula9ono synchroniza9on
![Page 23: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/23.jpg)
Petrinetsimula9onbenchmark Exampletransforma9on:Petrinetsimula9on
o Onecomplexpa,ernfortheenablednesscondi9ono Twographtransforma9onrulesforfiring(tokensarere‐created)o As‐long‐as‐possible(ALAP)styleexecu9on(“fireatwill”)o Modelgraphs:
• A“large”Petrinetactuallyusedinaresearchproject(~60places,~70transi9ons,~300arcs)
• Scalingup:automa9cgenera9onpreservingliveness(upto100000places,100000transi9ons,500000arcs)
Analysiso Measureexecu9on9me(averagemul9pleruns)o Take“warm‐up”runsintoconsidera9on
Profilingo Measureoverhead,networkconstruc9on9meo “Normalize”results
![Page 24: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/24.jpg)
Profilingresults Modelmanipula9onoverhead:~15%(ofoverallCPU9me)o Dependslargelyonthetransforma9on!
Memoryoverheado Petrinets(withRETEnetworks)upto~100000fitinto1‐1.5GBRAM(VIATRAmodelspacelimita9ons)
o Growslinearlywithmodelsize(asexpected)o Natureofgrowthispa,ern‐dependent
Networkconstruc9onoverheado Similartomemory;pa,ern‐dependent.o PN:InthesameorderasVIATRA’sLSheuris9csini9aliza9on.
![Page 25: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/25.jpg)
Execu9on9mesforPetrinetsimula9on
10
100
1000
10000
100000
1000000
100 1000 10000 100000
Execu<
on<me(m
s)
Petrinetsize
SparsePetrinetbenchmark
Viatra/RETE(x1k)
Viatra/LS(x1k)
GrGenNET(x1k)
Viatra/RETE(x1M)GrGen.NET(x1M)
Threeordersofmagnitudeand
growing…
Matches/outperformsGrGEN.NETforlargemodelsandhighitera9oncounts.
![Page 26: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/26.jpg)
26
ICGT'08
Object‐Rela9onalMapping:Synchroniza9on
orphanTable
C: Class
T : Table
: tablerRef
NEG
OR
A: Association : tableRef
{DEL}
: Package
: Class
: Attribute : Attribute
: Schema
: Table
: Column : Column
:schemaRef
:columnRef
:tableRef
:columnRef
Sync order 1. Orphan schema delete 2. Orphan Tableclass delete 3. Orphan Tableassoc delete 4. Orphan Columnattr. Delete 5. Renaming 6. new Classes/Assocs/Columns
created
![Page 27: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/27.jpg)
27
ICGT'08
Object‐Rela9onalMapping:Synchroniza9on
Test Case generation − Fully connected graph − N classes − N(N-1) directed association − K attributes
Execution − Phases
1. Generation 2. Build 3. Modification 4. Synchronization
− Measured: Synchronization phase
Paradigm Features ORM Syn. LHS size large fan-out medium
matchings PD transformation
sequence length PD
Characteristic
Source modification − 1/3 classes deleted − 1/5 associations deletes − ½ attributes renamed − 1 new class added and the fully
connected graph is rebuilt
![Page 28: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/28.jpg)
28
ICGT'08
ORMSynchroniza9onbenchmarkresults
• Execution time: • RETE: linear • LS: exponential
Wrt. number of affected elements
![Page 29: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/29.jpg)
29
ICGT'08
Varró:STSBenchmark• Non reusable model elements • Suites better for LS
![Page 30: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/30.jpg)
Ini9albenchmarking:summary
Predictablenear‐lineargrowtho Aslongasthereisenoughmemory
o Certainproblemclasses:constantexecu9on9me
Benchmarkexampledescrip9ons,specifica9ons,andmeasurementresultsavailableat:o h_p://wiki.eclipse.org/VIATRA2/Benchmarks
![Page 31: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/31.jpg)
FINETUNINGPERFORMANCE
![Page 32: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/32.jpg)
Improvingperformance Strategies
o Improvetheconstruc9onalgorithm• Memoryefficiency(nodesharing)• Heuris9cs‐drivenconstraintenumera9on(basedonpa,ern[andmodelspace]content)
o Parallelism• UpdatetheRETEnetworkinparallelwiththetransforma9on• Supportparalleltransforma9onexecu9on• PaperatGT‐VMT’09:Paralleliza9onofGraphTransforma9onBasedonIncrementalPa,ernMatching
o Hybridpa,ernmatching• „mix”pa,ernmatchingstrategies,useeachatitsbest• PaperatICMT’09:Efficientmodeltransforma9onsbycombiningpa,ernmatchingstrategies
![Page 33: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/33.jpg)
Concurrentpa,ernmatching
Asynchronousupdatepropaga9oninRETE Concurrenttothetransforma9on
o Waitforupdatepropaga9ononlywhenquerying
transforma9on RETE
querysourcePlace
tokenremovedno<fica<on
tokenremovedno<fica<on
querytargetPlace
tokenaddedno<fica<on
asynchronous
asynchronous
asynchronous
instantaneous
synchronizing
![Page 34: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/34.jpg)
ConcurrentPMPerformance
Theore9calexpecta9ons
Ini9almeasurements
Pa_ernmatcher Updateoverhead Pa_ernquery
LS 0 slow
RETE large instantaneous
concurrentRETE smaller instantaneous,poten9alwait
Pa_ernmatcher N=7 N=8 N=9 N=10
LS 0.8s 3.2s 37s 390s
RETE 0.8s 2.6s 8.3s 26.2s
concurrentRETE 0.8s 2.2s 6.9s 22.8s
20%speedincrease
![Page 35: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/35.jpg)
Mul9‐threadedpa,ernmatching
Mul9‐threadedRETEpropaga9ono Nodesetpar99onedintocontainerso Dedicatedupdatepropaga9onthreadpercontainer
p2,k2p1,k1
p1,k1,t1,p3
p1,k1,t1
Placep1p2p3
Transi9ont2t1
p3,k2,t3
t3
p3,k2,t2,p2
t3
p3,k2,t3
Tokenk2k1
Pa,ernquery:waitfortermina9on!
OK!OK!
OK!
Whoops…
Detec9ngthefixpointisnontrivialTimestamp‐basedsynchroniza9onprotocol
thread1 thread2 thread3
Highconnec9vityisbadforperformance
![Page 36: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/36.jpg)
Mul9‐threadedPMperformance
Highconnec9vityisbadforperformanceo Toomuchsynchroniza9onbetweenthreads…
o Par99ongranularity:i.e.pa,ern‐wiseo Transforma9onpartsusingindependentpa,erns?o Intelligentarrangement?
![Page 37: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/37.jpg)
Parallelruleexecu9on
Ruleexecu9onisdominant(ifPMisfast)o Thereismoretogainthere!
Problem:parallelrulesmustnotconflicto Coreconflicts:seecri9calpairanalysiso Pa,erncomposi9on,recursion…o Parallelrulesrequirethread‐safePM,model
Exclusion/locksarerequired
thread1 RETE
tokenremovedno<fica<on
thread2
tokenremovedno<fica<on
lockbythread2
lockbythread1
![Page 38: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/38.jpg)
Evalua9ngparallelperformance
Performanceevalua9ono Codegenera9on:readonly
o GraBaTs‘08AntWorldbenchmark:4CPUs,wasslower
Observa9on:lockscanbecomebo,lenecks
Proposedsolu9onso Par9allocking?Rule‐levellocking?
Read‐intensivetransforma9onispreferable
PNMLgenerator Single Double
Serial 2.9s 5.8s
Parallel 3.7s 3.9s50%speedincrease
![Page 39: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/39.jpg)
Parallelism:lessonslearned
IncrementalPMmightbegoodforparalleliza9ono Nosearch,shorterlocking!
IncrementalPMmightbebadforparalleliza9on!o Updatepropaga9onkeepslockslongero Concurrentmatchersolvesthis
Futureworko Enhancingmodellockingo Clevermul9‐threadingofRETEo Verylargemodels:distributedMT,distributedPM
![Page 40: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/40.jpg)
Hybridpa,ernmatching
Idea:combinelocalsearch‐basedandincrementalpa,ernmatching
Mo9va9ono IncrementalPMisbe,erformostcases,but…
• Hasmemoryoverhead!
• Hasupdateoverheado LSmightbebe,erincertaincases
![Page 41: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/41.jpg)
WhereLSisbe,er…
Memoryconsump9ono RETEsizesgrowroughlylinearlywiththemodelspace
o Constrainedmemorytrashing
Cacheconstruc9on9mepenaltyo RETEnetworkstake9metoconstructo „naviga9onpa,erns”canbematchedquickerbyLS
Expensiveupdateso Certainpa,erns’matchingsetisHUGEo Dependslargelyonthetransforma9on
![Page 42: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/42.jpg)
HybridPMinthesourcecode
AssignaPMimplementa9ononaper‐pa,ern(per‐rule)basisabilitytofinetuneperformanceonaveryfinegrainedlevel.
![Page 43: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/43.jpg)
ModifiedORMSynchroniza9onbenchmark
Hybridscalesbe,erwithincreasingmodels!
![Page 44: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/44.jpg)
AntWorldbenchmark
PaperforaspecialissueinSTTT’09:Experimentalassessmentofcombiningpa,ernmatchingstrategieswithVIATRA2
In‐detailinves9ga9ono hybridapproacho Transforma9onlanguage‐levelop9miza9ons
![Page 45: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/45.jpg)
AntWorldResults
Linearcharacteris9cretained,slowerbyonlyaconstantmul9plier
![Page 46: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/46.jpg)
Memoryfootprint
Linearreduc9oninmemoryoverhead
![Page 47: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/47.jpg)
Language‐levelop9miza9ons
![Page 48: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/48.jpg)
Modelmanagementop9miza9ons
![Page 49: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/49.jpg)
Op9miza9onsummary
Inshort:youmaygetalineardecreaseinmemoryforalinearincreaseinexecu9on9meretainscomplexityclasscharacteris9cs
![Page 50: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/50.jpg)
ONGOINGRESEARCH&FUTUREWORK
![Page 51: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/51.jpg)
Event‐drivenlivetransforma9ons Problem:MTismostlybatch‐like
o ButmodelsareconstantlyevolvingFrequentre‐transforma9onsareneededfor
• mapping• synchroniza9on• constraintchecking• …
AnincrementalPMcansolvetheperformanceproblem,butaformalismisneededo tospecifywhento(re)acto andhow.
Ideally,theformalismshouldbeMT‐like.
![Page 52: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/52.jpg)
Event‐drivenlivetransforma9ons(cont’d) Anidea:representeventsasmodelelements. Ourtake:representeventsaschangesinthematchingsetofapa,ern.o ~generaliza9on
Livetransforma9onso maintainthecontext(variablevalues,globalvariables,…);o runasa“daemon”,reactwhenevernecessary;o asthemodelschange,thesystemcanreactinstantly,sinceeverythingneededisthereintheRETEnetwork:nore‐computa+onisnecessary.
PaperatICMT2008:Livemodeltransforma9onsdrivenbyincrementalpa,ernmatching.
![Page 53: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/53.jpg)
Futurework
Paralleliza9ono Alotofresearchgoingon(GrGEN.NET,FUJABA,…)o Wehavesometricksle�tobeexplored,too
Newapplica9onsofincrementalPMo Livetransforma9onsmodelsynchroniza9on,constraintevalua9on,tracemodelgenera9on
o Stochas9cmodelsimula9oncollabora9onwithReiko’sgroup
Adapta9onofourtechnologytootherpla�ormso ViatraEMF
![Page 54: Incremental pattern matching in the VIATRA2 model transformation framework](https://reader034.vdocument.in/reader034/viewer/2022042614/558901abd8b42a3b708b46fe/html5/thumbnails/54.jpg)
Summary
Incrementalpa,ernmatchinginVIATRA2o Aleapforwardinperformance
o Applicabletoothertoolso In‐depthinves9ga9onsrevealedinteres9ngdetails
Futureo Performancewillbefurtherimproved
o We’reworkingonnewapplica9ons
Thankyouforyoura,en9on.h,p://eclipse.org/gmt/VIATRA2
h,p://wiki.eclipse.org/VIATRA2