change-driven model transformations

24
Budapest University of Technology and Economics Model Driven Engineering Languages and Systems 2009, Denver, Colorado, USA Change‐Driven Model Transforma5ons Deriva’on and Processing of Change Histories István Ráth, Gergely Varró, Dániel Varró [email protected]

Upload: istvan-rath

Post on 07-Jul-2015

194 views

Category:

Technology


1 download

DESCRIPTION

Presented at MODELS2009. Received the Springer Best Paper Award and the ACM Distinguished Paper Award.

TRANSCRIPT

Page 1: Change-driven model transformations

BudapestUniversityofTechnologyandEconomicsModelDrivenEngineeringLanguagesandSystems2009,Denver,Colorado,USA

Change‐DrivenModelTransforma5ons

Deriva'onandProcessingofChangeHistories

IstvánRáth,GergelyVarró,DánielVarró[email protected]

Page 2: Change-driven model transformations

Outlineofthetalk

  Introduc5on Mo5va5on

 Overviewoftheconcept Change‐driventransforma5onsindetail

 Summary

 Futurework

Page 3: Change-driven model transformations

Mo5va5ngscenario:forwardmodelsynchroniza5on

MA MB

MA’

change

MB’

TargetSource

Page 4: Change-driven model transformations

Incrementalmodelsynchroniza5onand'me

 On‐demand:batchtransforma5onso The“tradi5onal”way

Page 5: Change-driven model transformations

Incrementalmodelsynchroniza5on

MA MB

MA’

change

MB’

• Re‐transform• Targetincrementality

TargetSource

Page 6: Change-driven model transformations

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

Livemodelsynchroniza5on

MA MB

MA’

change

MB’

1.Watchforchanges

2.Reacttochanges

3.Merge

TargetSource

Page 8: Change-driven model transformations

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

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

TargetSource

Mo5va5ngscenario

MA MB

MA’

change

MB’

IF?Tracerecord

Highlevel(domain‐specific)process

model

Deployedprocesstemplate(jPDL)

Page 11: Change-driven model transformations

Casestudyandchallenges

 Toolintegra5oninaheterogeneousenvironmento DevelopedfortheSENSORIAandMOGENTESEUresearchprojects

 Highlevelprocessmodelsdescribe(complex)developmentprocesssegmentso E.g.automatedtestgenera5on,deploymentconfigura5ongenera5on

 Processesareexecutedino Adistributedenvironment(worksta5ons,toolservers)o OrchestratedbythejBPMprocessexecu5onengine.

Page 12: Change-driven model transformations

Challenges

 Challenge#1:highlevelmodelsareeditedchangeshavetobepropagatedtothedeployedprocesstemplate

 Challenge#2:changesaremappedasynchronouslyin5meo Not(necessarily)bytheprocessengineer

Page 13: Change-driven model transformations

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

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

Changehistorymetamodel

Opera5oncategories

Weakreferences

Historicalrecord

Page 16: Change-driven model transformations

Genera5onofCHMs  Livetransforma5ons

o Editor‐independent!  Generatetracemodelsnippetsastheuserisedi5ngthemodelo Timestampso Contextualreferences

MA

MA’

CHMAchange

Source

Page 17: Change-driven model transformations

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

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

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

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

ApplyingCHMstoexternalmodels  ApplyingCHMs=model“interpreta5on”

  Externalmodelsaremanipulatedthrougha(service)interfaceo VIATRA:“na5vefunc5ons”

MB

MB’

CHMB

IF

Target

Page 22: Change-driven model transformations

Manipula5ngnon‐materializedmodelswithVIATRA

VIATRAna5vefunc5onsallowforDOM‐stylemanipula5onofthe

deployedjPDLprocesstemplate.

Page 23: Change-driven model transformations

Summary

 Change‐driventransforma5ons=o Aninnova5vesynthesisofknowntechniques:• Tracemodels• Livetransforma5ons

• Non‐materializedmodelmanipula5on

o Asolu5onforanengineeringproblem

o Lotsofopenques5onsandnewideas…

Page 24: Change-driven model transformations

Futurework

 Abeginning,ratherthananend… Lotsofopenques5ons

o HowtowriteCDTs?o HowtogenerateCDTsfrom“tradi5onal”transforma5ons?

 Aretheyuseful?o Efficient,intui5vemodelsynchroniza5ono Changerepresenta5on,processing((re)verifica5on,changeimpactanalysis)

o Modelmerging(~opera5onalmerging)

 Thankyouforyouraten5on.