Generic and Meta-transformations for Model Transformation Engineering [chapter]

Dániel Varró, András Pataricza
<span title="">2004</span> <i title="Springer Berlin Heidelberg"> <a target="_blank" rel="noopener" href="" style="color: black;">Lecture Notes in Computer Science</a> </i> &nbsp;
The Model Driven Architecture necessitates not only the application of software engineering disciplines to the specification of modeling languages (language-ware) but also to design inter and intralanguage model transformations (transformation-ware). Although many model transformation approaches exist, their focus is almost exclusively put on functional correctness and intuitive description language while the importance of engineering issues such as reusability, maintainability, performance or
more &raquo; ... ompactness are neglected. To tackle these problems following the MDA philosophy, we argue in the paper that model transformations should also be regarded as models (i.e., as data). More specifically, we demonstrate (i) how generic transformations can provide a very compact description of certain transformation problems and (ii) how meta-transformations can be designed that yield efficient transformations as their output model. Transformation engineering in MDA. Many methodologists and computer scientists have recently pointed out that the role of model transformations between modeling languages within MDA is as critical as the role of modeling languages themselves [4] . MDA requires various kinds of transformations including intermodel (for instance, from PIMs to PSMs) and intra-model transformations (such as transformations within PIMs), or model to code mappings. As these transformations will be mainly developed by software engineers, precise yet intuitive notations are required for model transformation languages. QVT [17], a recent initiative of the OMG, aims exactly at developing a standard for capturing Queries, Views and Transformations in MDA. Many model transformation approaches exist (including the official proposals submitted to the QVT RFP and overviewed in [12] ). An "ultimate debate" that separates these approaches is about the way of specifying transformations: declarative approaches (like [2, 13, 16] ) define a relation between elements of the source and target modeling language while operational approaches (such as [14, 20, 23, 25, 26]) define rules to describe what steps are required to derive the target model from a given source model. Mixed approaches (see [21] ) typically use declarative relations first which are manually refined into operational rules later on. In general, declarative approaches tend to be more intuitive for software engineers (i.e., it is easier to write and understand declarative transformations) while it is easier to automate operational approaches (i.e., it is easier to develop tools that execute operational transformations).
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="">doi:10.1007/978-3-540-30187-5_21</a> <a target="_blank" rel="external noopener" href="">fatcat:w3ueuz6cabff3hb7lvbqynwlfu</a> </span>
<a target="_blank" rel="noopener" href="" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href=""> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> </button> </a>