
A QVT model transformation language represented by graph production systems Master of Science thesis By Ronald Nederpel Enschede, Netherlands September 2005 Graduation committee: dr. ir. A. Rensink dr. ir. K.G. van den Berg prof. dr. ir. M. Aksit Chair: Software Engineering Department: Computer Science University: University of Twente Abstract English Model transformation is the key in MDA, Model Driven Architecture. In MDA, there are Platform Independent Models (PIMs), which are models that are independent of any implementation languages. There are also Platform Specific Models (PSMs), which are models specified in a certain implementation language. Finally there is the programming code. The main goal of MDA is to automatically transform these three core models into each other. OMG has issued a Request For Proposals, called QVT (Queries, Views, Transformations), in order to define a language to specify transformations of models with a given source meta-model (a model of a model) to models with a given target meta- model. The source and target meta-models are fixed for each transformation definition, but not for the transformation language. Graph transformations are about changing graphs into other graphs. The semantics of how to change one graph into another are represented by graph transformation rules. A graph transformation rule describes a change that transforms certain graphs into others. A set of graph transformation rules is usually called a graph production system. This thesis takes the QVT proposal by IBM and partners, and defines a way to represent any arbitrary transformation definition as a graph production system. The intentions of the IBM proposal are kept as much as possible. Also a tool is made which can perform the graph transformations for any arbitrary transformation definition. Dutch Modeltransformaties is de kern van MDA, Model Driven Architecture. In MDA, zijn er Platform Independent Models (PIMs), modellen die onafhankelijk van implementatietalen zijn. Er zijn ook Platform Specific Models (PSMs), modellen gespecificeerd in een bepaalde implementatietaal. Ten slot is er de programmeercode. Het hoofddoel van MDA is om deze drie kernmodellen automatisch in elkaar te laten transformeren. OMG, de Object Management Group, heeft een Request For Proposals uitgegeven, genaamd QVT (Queries, Views, Transformations), om een taal te definiëren om transformaties van modellen met een gegeven bron-metamodel (een model van een model) naar modellen met een gegeven doel-metamodel te specificeren. De bron- en doel-metamodellen staan vast voor elke transformatiedefinitie, maar niet voor de transformatietaal. Graaftransformaties gaan over het veranderen van graven in ander graven. De semantiek van hoe een graaf in een andere graaf veranderd moet worden, wordt gerepresenteerd door graaftransformatieregels. Een graaftransformatieregel beschrijft een verandering, welke bepaalde grafen transformeert in andere grafen. Een set van graaftransformatieregels wordt een graafproductiesysteem genoemd. Deze scriptie neemt het QVT-voorstel van IBM en partners als uitgangspunt en definieert een manier om elke willekeurige transformatiedefinitie te representeren als een graafproductiesysteem. De intenties van het IBM voorstel worden, voor zover mogelijk, in ere gehouden. Een programma, dat de graaftransformaties kan uitvoeren voor elke willekeurige transformatie definitie, is ook gemaakt. - 2 - Table of Contents LIST OF FIGURES..................................................................................................................................- 6 - LIST OF ABBREVIATIONS..................................................................................................................- 8 - 1 INTRODUCTION...........................................................................................................................- 9 - 2 CONTEXT.....................................................................................................................................- 11 - 2.1 MOF ...................................................................................................................................... - 11 - 2.2 MDA/ QVT ........................................................................................................................... - 13 - 2.2.1 Introduction ......................................................................................................................- 13 - 2.2.2 Structure ...........................................................................................................................- 15 - 2.3 ITL......................................................................................................................................... - 16 - 2.3.1 “RULE” rname formals ...................................................................................................- 16 - 2.3.2 (relatedRules)* .................................................................................................................- 16 - 2.3.3 “FORALL” ranges ...........................................................................................................- 17 - 2.3.4 ( “WHERE” conjunct)?....................................................................................................- 17 - 2.3.5 “MAKE” targets...............................................................................................................- 18 - 2.3.6 (“LINKING” trackingUses)? ...........................................................................................- 18 - 2.3.7 Factor ...............................................................................................................................- 18 - 2.4 GRAPH TRANSFORMATIONS.................................................................................................... - 19 - 2.5 GRAPH TRANSFORMATIONS FOR MODEL TRANSFORMATIONS................................................. - 22 - 2.6 CONCLUSION.......................................................................................................................... - 23 - 3 CLASSIFICATION OF ITL AND GRAPH TRANSFORMATION RULES .........................- 24 - 3.1 DESCRIPTION CLASSIFICATION AND ITL CLASSIFIED.............................................................. - 24 - 3.1.1 Transformation rules ........................................................................................................- 25 - 3.1.2 Rule application scoping ..................................................................................................- 26 - 3.1.3 Relationship between source and target...........................................................................- 27 - 3.1.4 Rule application strategy..................................................................................................- 27 - 3.1.5 Rule scheduling.................................................................................................................- 28 - 3.1.6 Rule organization .............................................................................................................- 29 - 3.1.7 Traceability links ..............................................................................................................- 30 - 3.1.8 Directionality....................................................................................................................- 30 - 3.1.9 Conclusion........................................................................................................................- 30 - 3.2 GRAPH TRANSFORMATIONS CLASSIFIED................................................................................. - 30 - 3.2.1 Transformation rules ........................................................................................................- 31 - 3.2.2 Rule application scoping ..................................................................................................- 31 - 3.2.3 Relationship between source and target...........................................................................- 31 - 3.2.4 Rule application strategy..................................................................................................- 32 - 3.2.5 Rule scheduling.................................................................................................................- 32 - 3.2.6 Rule organization .............................................................................................................- 32 - 3.2.7 Traceability links ..............................................................................................................- 32 - 3.2.8 Directionality....................................................................................................................- 32 - 3.3 CONCLUSION.......................................................................................................................... - 33 - 4 PROBLEM ANALYSIS ...............................................................................................................- 34 - 5 PROBLEMS ENCOUNTERED IN ITL.....................................................................................- 38 - 5.1 PROBLEMS IN THE GRAMMAR ................................................................................................. - 38 - 5.1.1 tRule..................................................................................................................................- 38 - 5.1.2 patternDefn.......................................................................................................................-
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages108 Page
-
File Size-