Change-driven model transformations

Download Change-driven model transformations

Post on 07-Jul-2015

189 views

Category:

Technology

1 download

Embed Size (px)

DESCRIPTION

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

TRANSCRIPT

  • 1. ChangeDrivenModelTransforma5ons DerivaonandProcessingofChangeHistories IstvnRth,GergelyVarr,DnielVarrrath@mit.bme.huBudapestUniversityofTechnologyandEconomicsModelDrivenEngineeringLanguagesandSystems2009,Denver,Colorado,USA

2. Outlineofthetalk Introduc5on Mo5va5on Overviewoftheconcept Changedriventransforma5onsindetail Summary Futurework 3. Mo5va5ngscenario:forwardmodelsynchroniza5on Source TargetMA MB changeMAMB 4. Incrementalmodelsynchroniza5onandme Ondemand:batchtransforma5onsoThetradi5onalway 5. Incrementalmodelsynchroniza5onSourceTarget MAMBchange MA MBRetransform Targetincrementality 6. Modelsynchroniza5onandme Ondemand:batchtransforma5ons oThetradi5onalway Instantly:livetransforma5ons oReactinstantlytocontext(model)changes eventdriventransforma5ons oHearndenLawleyRaymond.IncrementalModel TransformaonfortheEvoluonofModeldrivenSystems. MODELS2006. oRthkrsBergmannVarr.Livemodeltransformaons drivenbyincrementalpaCernmatching.ICMT2008. Transac5onorientedapproach Reac5onspossibletoarbitrarilycomplexchanges 7. Livemodelsynchroniza5onSourceTarget MAMBchange MA MB2.Reactto3.Merge1.Watchforchangeschanges 8. Modelsynchroniza5onandme Ondemand:batchtransforma5onsoThetradi5onalway Instantly:livetransforma5onsoReactinstantlytocontext(model)changes eventdriventransforma5onsoHearndenLawleyRaymond.IncrementalModel Commonassump5ons:TransformaonfortheEvoluonofModeldriven 1. AllmodelsareavailableinSystems.MODELS2006.memory2. ChangesarepropagatedoRthkrsBergmannVarr.LivemodelsynchronouslytransformaonsdrivenbyincrementalpaCernmatching.ICMT2008. Transac5onorientedapproach 9. Asynchronoussynchroniza5on WhatifoSomemodelscannot(shouldnot)bematerializedinmemory? Modelsaretoolarge Modelshavetobemanipulatedinsidetheirna5veenvironment(tool)oChangesaretobeapplied/reproducedlater? Changeshavetorecordedfore.g.traceability Asynchronous(oline)synchroniza5on 10. Mo5va5ngscenarioSourceTarget MAMBchange? IF MA MBTrace recordHighlevel(domain Deployedprocess specic)processtemplate(jPDL) model 11. Casestudyandchallenges Toolintegra5oninaheterogeneousenvironmentoDevelopedfortheSENSORIAandMOGENTESEUresearchprojects Highlevelprocessmodelsdescribe(complex) developmentprocesssegmentsoE.g.automatedtestgenera5on,deploymentcongura5ongenera5on ProcessesareexecutedinoAdistributedenvironment(worksta5ons,toolservers)oOrchestratedbythejBPMprocessexecu5onengine. 12. Challenges Challenge#1:highlevelmodelsareedited changeshavetobepropagatedtothedeployed processtemplate Challenge#2:changesaremapped asynchronouslyin5meoNot(necessarily)bytheprocessengineer 13. Conceptualoverview3.Applychangesto Source TargetexternalmodelsthroughaninterfaceMA MB(IF) change CHMA CHMB IF MA MB1.Recordchanges 2.Mapsourcechangesto intotraceabilitytargetchanges(=CHMsto models(=CHMs)CHMs)insteadofsourcemodelstotargetmodels 14. Changehistorymodels TraceabilitymodelsCHMA CHMBoOpera5onaldierencemodelsoRecordhistoricalopera5onsequences WHEN(5mestampsinalinkedliststructure) WHAT(CUDM) Context(referencedmodelelements)oweakreferences IDsorFQNs Allowstoreferenceexternal(nonorpar5allymaterialized)models 15. ChangehistorymetamodelHistorical recordWeak referencesOpera5oncategories 16. Genera5onofCHMs Livetransforma5onsSourceoEditorindependent! Generatetracemodel MA snippetsastheuseris edi5ngthemodelchange CHMA oTimestamps oContextualreferences MA 17. Genera5onofCHMs:Genericexample :parentFQN Sampleexecu5onsequence: ParentCE:CreateEn5ty{pre}Timestamp:Name: E:Type :targetFQN {new}:typeFQN TypeEn5tyandRela5onare basicVIATRAconceptsfor {pre}:newSrcFQN graphnodeandedge Src CR:CreateRela5on R:Type Timestamp: Name: Trg:newTrgFQN {new}:typeFQN Type 18. Genera5ngdomainspecicCHMs{pre} W::parentID 2a.Createacompound WorkowCJN:CreateJPDLNodeCHMsequenceasTimestamp:postcondi5onI:Invoca5on :targetID {new}:next:parameters :returnsDI:DO:CJA:CreateJPDLAtribute DataInputDataOutputtargetID:CJN.targetID+.parameters1.UseacompoundparentID:CJN.targetID paternas 2b.UseatargetTextValue:value(DI) precondi5on, :next compressedCHMcorrespondingtoa CJA:CreateJPDLAtributeelementcorresponding (complex)modeltoacomplexdomaintargetID:CJN.targetID+.returnsparentID:CJN.targetID structure specicopera5ontargetTextValue:value(DO) 19. Changedriventransforma5ons Input: oChangesofthesource modelSource Target Output oCorrespondingchangesofCHMA CHMBthetargetmodel Maybeformulatedas:MA oLivetransforma5on oBatchtransforma5on Granularity? oonetoone ontom 20. MappingCHMs {pre}Parent:parentFQNCE:CreateEn5ty Sampleexecu5oncon5nued:E:Invoca5on typeFQN=meta.Invoca5onfunc5onName: :targetFQN :typeFQNInvoca5on{new}CJN:CreateJPDLNodetargetID:name(Parent)+.+name(E)parentID:name(Parent) Foreachnewlycreated Invoca5on,createa:next correspondingJPDLnodeCJA:CreateJPDLAtribute togetherwithisfunc5ontargetID:CJN.targetID+.fun5onatribute(=domainspecicparentID:CJN.targetIDtargetTextValue:E.func5onNamemappinglogic) 21. ApplyingCHMstoexternalmodels ApplyingCHMs=modelTargetinterpreta5on Externalmodelsare MB manipulatedthrougha (service)interfaceCHMBoVIATRA:na5vefunc5onsIF MB 22. Manipula5ngnonmaterializedmodelswithVIATRA VIATRAna5vefunc5ons allowforDOMstyle manipula5onofthe deployedjPDLprocesstemplate. 23. Summary Changedriventransforma5ons=oAninnova5vesynthesisofknowntechniques: Tracemodels Livetransforma5ons Nonmaterializedmodelmanipula5onoAsolu5onforanengineeringproblemoLotsofopenques5onsandnewideas 24. Futurework Abeginning,ratherthananend Lotsofopenques5onsoHowtowriteCDTs?oHowtogenerateCDTsfromtradi5onaltransforma5ons? Aretheyuseful?oEcient,intui5vemodelsynchroniza5onoChangerepresenta5on,processing((re)verica5on,changeimpactanalysis)oModelmerging(~opera5onalmerging) Thankyouforyouraten5on.