Change-driven model transformations
-
Upload
istvan-rath -
Category
Technology
-
view
193 -
download
1
description
Transcript of Change-driven model transformations
![Page 1: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/1.jpg)
BudapestUniversityofTechnologyandEconomicsModelDrivenEngineeringLanguagesandSystems2009,Denver,Colorado,USA
Change‐DrivenModelTransforma5ons
Deriva'onandProcessingofChangeHistories
IstvánRáth,GergelyVarró,DánielVarró[email protected]
![Page 2: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/2.jpg)
Outlineofthetalk
Introduc5on Mo5va5on
Overviewoftheconcept Change‐driventransforma5onsindetail
Summary
Futurework
![Page 3: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/3.jpg)
Mo5va5ngscenario:forwardmodelsynchroniza5on
MA MB
MA’
change
MB’
TargetSource
![Page 4: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/4.jpg)
Incrementalmodelsynchroniza5onand'me
On‐demand:batchtransforma5onso The“tradi5onal”way
![Page 5: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/5.jpg)
Incrementalmodelsynchroniza5on
MA MB
MA’
change
MB’
• Re‐transform• Targetincrementality
TargetSource
![Page 6: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/6.jpg)
Modelsynchroniza5onand'me On‐demand:batchtransforma5ons
o The“tradi5onal”way Instantly:livetransforma5ons
o Reactinstantlytocontext(model)changes• “event‐driven”transforma5ons
o Hearnden‐Lawley‐Raymond.IncrementalModelTransforma'onfortheEvolu'onofModel‐drivenSystems.MODELS2006.
o Ráth‐Ökrös‐Bergmann‐Varró.Livemodeltransforma'onsdrivenbyincrementalpaCernmatching.ICMT2008.• Transac5on‐orientedapproach• Reac5onspossibletoarbitrarilycomplexchanges
![Page 7: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/7.jpg)
Livemodelsynchroniza5on
MA MB
MA’
change
MB’
1.Watchforchanges
2.Reacttochanges
3.Merge
TargetSource
![Page 8: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/8.jpg)
Modelsynchroniza5onand'me
On‐demand:batchtransforma5onso The“tradi5onal”way
Instantly:livetransforma5onso Reactinstantlytocontext(model)changes• “event‐driven”transforma5ons
o Hearnden‐Lawley‐Raymond.IncrementalModelTransforma'onfortheEvolu'onofModel‐drivenSystems.MODELS2006.
o Ráth‐Ökrös‐Bergmann‐Varró.Livemodeltransforma'onsdrivenbyincrementalpaCernmatching.ICMT2008.• Transac5on‐orientedapproach
Commonassump5ons:1. Allmodelsareavailablein
memory2. Changesarepropagated
“synchronously”
Commonassump5ons:1. Allmodelsareavailablein
memory2. Changesarepropagated
“synchronously”
![Page 9: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/9.jpg)
Asynchronoussynchroniza5on
Whatif…o Somemodelscannot(shouldnot)bematerializedinmemory?• Modelsaretoolarge
• Modelshavetobemanipulated“inside”theirna5veenvironment(tool)
o Changesaretobeapplied/reproduced“later”?• Changeshavetorecordedfore.g.traceability
Asynchronous(off‐line)synchroniza5on
![Page 10: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/10.jpg)
TargetSource
Mo5va5ngscenario
MA MB
MA’
change
MB’
IF?Tracerecord
Highlevel(domain‐specific)process
model
Deployedprocesstemplate(jPDL)
![Page 11: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/11.jpg)
Casestudyandchallenges
Toolintegra5oninaheterogeneousenvironmento DevelopedfortheSENSORIAandMOGENTESEUresearchprojects
Highlevelprocessmodelsdescribe(complex)developmentprocesssegmentso E.g.automatedtestgenera5on,deploymentconfigura5ongenera5on
Processesareexecutedino Adistributedenvironment(worksta5ons,toolservers)o OrchestratedbythejBPMprocessexecu5onengine.
![Page 12: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/12.jpg)
Challenges
Challenge#1:highlevelmodelsareeditedchangeshavetobepropagatedtothedeployedprocesstemplate
Challenge#2:changesaremappedasynchronouslyin5meo Not(necessarily)bytheprocessengineer
![Page 13: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/13.jpg)
Target
Conceptualoverview
MA MB
MA’
change CHMA
MB’
CHMB
IF
1.Recordchangesintotraceabilitymodels(=CHMs)
2.Mapsourcechangestotargetchanges(=CHMstoCHMs)insteadofsourcemodelstotargetmodels
3.Applychangestoexternalmodels
throughaninterface(IF)
Source
![Page 14: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/14.jpg)
Changehistorymodels
Traceabilitymodelso Opera5onaldifferencemodels
o Recordhistoricalopera5onsequences• WHEN(5mestampsinalinkedliststructure)
• WHAT(CUDM)• Context(referencedmodelelements)
o “weak”references• IDsorFQNs• Allowstoreferenceexternal(non‐orpar5allymaterialized)models
CHMA CHMB
![Page 15: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/15.jpg)
Changehistorymetamodel
Opera5oncategories
Weakreferences
Historicalrecord
![Page 16: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/16.jpg)
Genera5onofCHMs Livetransforma5ons
o Editor‐independent! Generatetracemodelsnippetsastheuserisedi5ngthemodelo Timestampso Contextualreferences
MA
MA’
CHMAchange
Source
![Page 17: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/17.jpg)
Genera5onofCHMs:GenericexampleSampleexecu5onsequence:
E:Type
ParentCE:CreateEn5ty
:parentFQN
:targetFQN
Type:typeFQN
Timestamp:<sysTime()>Name:<name(E)>
{new}
{pre}
Trg
SrcCR:CreateRela5on
:newSrcFQN
:newTrgFQN
Type :typeFQN
Timestamp:<sysTime()>Name:<name(R)>
{new}
{pre}
R:Type
En5tyandRela5onarebasicVIATRAconceptsforgraphnodeandedge
En5tyandRela5onarebasicVIATRAconceptsforgraphnodeandedge
![Page 18: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/18.jpg)
Genera5ngdomain‐specificCHMs
I:Invoca5on
W:Workflow
DI:DataInput
{pre}
DO:DataOutput
:returns:parameters
CJN:CreateJPDLNode
:parentID
:targetID
Timestamp:<sysTime()>
{new}
CJA:CreateJPDLAtribute
:next
targetID:CJN.targetID+”.parameters”parentID:CJN.targetIDtargetTextValue:value(DI)
CJA:CreateJPDLAtribute
:next
targetID:CJN.targetID+”.returns”parentID:CJN.targetIDtargetTextValue:value(DO)
1.Useacompoundpaternas
precondi5on,correspondingtoa(complex)model
structure
2a.CreateacompoundCHMsequenceaspostcondi5on
2b.Usea“compressed”CHM
elementcorrespondingtoacomplexdomain‐specificopera5on
![Page 19: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/19.jpg)
Change‐driventransforma5ons Input:
o Changesofthesourcemodel
Outputo Correspondingchangesofthetargetmodel
Maybeformulatedas:o Livetransforma5on
o Batchtransforma5on
Granularity?o “one‐to‐one”o “n‐to‐m”
MA’
CHMA CHMB
TargetSource
![Page 20: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/20.jpg)
MappingCHMsSampleexecu5oncon5nued:
E:Invoca5on
ParentCE:CreateEn5ty
:parentFQN
:targetFQN
Invoca5on:typeFQN
CJN:CreateJPDLNode{new}
CJA:CreateJPDLAtribute
:next
{pre}
targetID:name(Parent)+”.”+name(E)parentID:name(Parent)
targetID:CJN.targetID+”.fun5on”parentID:CJN.targetIDtargetTextValue:E.func5onName
typeFQN=meta.Invoca5on
func5onName:<>
ForeachnewlycreatedInvoca5on,createa
correspondingJPDLnodetogetherwithis“func5on”atribute(=domain‐specific
mappinglogic)
![Page 21: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/21.jpg)
ApplyingCHMstoexternalmodels ApplyingCHMs=model“interpreta5on”
Externalmodelsaremanipulatedthrougha(service)interfaceo VIATRA:“na5vefunc5ons”
MB
MB’
CHMB
IF
Target
![Page 22: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/22.jpg)
Manipula5ngnon‐materializedmodelswithVIATRA
VIATRAna5vefunc5onsallowforDOM‐stylemanipula5onofthe
deployedjPDLprocesstemplate.
![Page 23: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/23.jpg)
Summary
Change‐driventransforma5ons=o Aninnova5vesynthesisofknowntechniques:• Tracemodels• Livetransforma5ons
• Non‐materializedmodelmanipula5on
o Asolu5onforanengineeringproblem
o Lotsofopenques5onsandnewideas…
![Page 24: Change-driven model transformations](https://reader033.fdocuments.in/reader033/viewer/2022060201/559b31aa1a28ab5d0a8b4867/html5/thumbnails/24.jpg)
Futurework
Abeginning,ratherthananend… Lotsofopenques5ons
o HowtowriteCDTs?o HowtogenerateCDTsfrom“tradi5onal”transforma5ons?
Aretheyuseful?o Efficient,intui5vemodelsynchroniza5ono Changerepresenta5on,processing((re)verifica5on,changeimpactanalysis)
o Modelmerging(~opera5onalmerging)
Thankyouforyouraten5on.