Steffen Kruse

„Co-Evolution of Metamodels and Model Transformations“

Abstract

Withthecontinualincrease in size and complexity of modern softwaresystems, theevolution of softwareremainsone of thebigchallenges of softwareengineering. Model Driven Engineering (MDE) isoneapproachtomeetthischallenge - bybreaking down thedescription of softwaresystemsunderdevelopmentintomanageableabstractions, eachembodiedby a suitablekind of artefact. Kinds of artefactsaremodels and metamodels, alongwithmodeltransformations, (modelling) languages, generators and others. Yetthebenefitsexpectedfrom MDE canonlybefullyrealisedwhenthecomplexity of the MDE artefacts and theirrelationshipsremainmanageablethemselves.

The challengeaddressed in thiscontextbythisthesisistheco-evolution of metamodels and modeltransformations; expressedastransformationdescriptions in common, dedicatedtransformationlanguages. Transformations areusedtoproduceoutputmodelsconformingto a metamodelbased on inputmodelsconformingtoanother (orthe same) metamodel and areexpressed in terms of themetamodelsused. This enforces a tightcouplingbetweenmetamodels and transformationdescriptions. In consequence, anychangemadetooneormoremetamodelpotentiallyinvalidatesexistingtransformations so thateverychangerequiresthevalidation and adaptation of all dependenttransformations. This canleadto an exceedingamount of effortnecessarytokeepmetamodels and transformationsconsistentasthenumber of transformations and metamodelsincrease.

This workpresents an operator-based, stepwiseapproachtosupportsoftwarearchitects in theco-evolution of metamodels and transformations. Tothis end wepropose a set of operatorswhich, whenappliedtometamodels, perform an evolutionstep on themetamodel. The impacts of such a change in the form of an operatorappliedto a metamodelcanbepredictedfortransformationsthatdepend on themetamodel. The approachfurtherallowstheresolution of theimpactstorestoreconsistency, eitherautomaticallyorwith minimal human input - depending on the type of change and thekind and complexity of thetransformation. In theworstcase, theuse of operatorsat least indicatespotentially invalid transformationpartsthatneedfurthervalidationtofulfiltheir original intendedpurpose. Overall theapproachreducestheeffortneededforco-evolution.

The approachisimplemented and integratedinto MDE toolingcommonlyusedformodelling and transformationcreationtodemonstrateitsfeasibility. The operatorsareformalised on thebasis of the Essential MOF and theimpactresolutionisprovidedforthe ATLAS Transformation Language.