Model Driven Engineering (MDE) is an emerging approach for software development. This thesis focuses on one of the main research topics in MDE: transforming models. This topic may be studied from process and artifact perspectives. The artifact perspective involves transformation definitions and models. Transformation definitions written in transformation languages are software assets that may be considered as important as models of systems. Transformation definitions may be subject of design, implementation, reuse and evolution. In addition, they are affected by changes in their environment. An important quality factor of software is adaptability, which indicates the capabilities of software to be modified for a changing environment and as a response to changes in software requirements. Adaptability of model transformations is required in several cases motivated by various changes that may occur. This thesis addresses three problems related to the adaptability property of model transformations: identification and comparison of alternative transformations, definition of transformation languages capable of expressing transformations among models written in different languages, and language support for reusable and adaptable transformations. We claim that the identification of alternative transformations should be included as a step in an MDE process. This is motivated by the observation that multiple ways are usually available to transform a given source model to a target model. The resulting target models may be functionally equivalent but different in their quality properties such as adaptability and performance. Software engineers must be able to identify transformations that produce models with the required quality properties. For this purpose a formal technique is defined for describing the space of alternative transformations for a given source model. The technique provides operations for reduction of and selection from transformation spaces on the basis of the desired quality properties of the resulting target model. The thesis presents a hybrid transformation language named MISTRAL capable of defining transformations between models expressed in different modeling languages. The transformation language is separated from the instantiation and generalization mechanisms, which are represented in the modeling space in which the transformation language operates. Transformation definitions are specified on the basis of intensions. The concept of intension is a generalization of the concepts of meta-model and domain model expressed in a modeling language. The transformation language MISTRAL is capable of working with more than one instanceOf relation and more than one model level in a single transformation definition. This overcomes a major drawback in current transformation languages that are often coupled with particular modeling languages. A prototype shows the feasibility of this approach. Transformation definitions should be reusable and adaptable artifacts. The thesis studies requirements for a transformation language to provide adequate support for reusability and adaptability of transformation definitions. An evaluation of a set of representative languages against requirements is given. A light-weight approach is proposed for extending transformation languages with new features. The techniques proposed in the thesis are applied in a case study on XML (eXtensible Markup Language) processing based on model transformations. Compared to current techniques, this approach improves the extensibility of XML applications.
|Award date||19 May 2005|
|Place of Publication||Enschede|
|Publication status||Published - 19 May 2005|