Quality-driven software architecture model transformation
1University of Oulu, Faculty of Science, Department of Information Processing Science
Espoo : VTT Technical Research Centre of Finland,
|Publish Date:|| 2006-09-01
|Thesis type:||Doctoral Dissertation
|Defence Note:||Academic Dissertation to be presented, with the assent of the Faculty of Science, University of Oulu, for the public discussion in the Auditorium IT115, Linnanmaa, on September 22nd, 2006, at 12 o'clock noon.
Professor Jan Bosch
Professor Philippe Kruchten
Professor Kai Koskimies
Professor Eila Niemelä
Model driven software development is about treating models as first class design entities and thereby raising the level of abstraction in software development. A model is a simplified image of a system and, further, model transformation means converting one model to another model of the same system. Transformation is a key to model driven development while automation of transformation is one of the essential goals of model driven architecture (MDA), an initiative to standardize model driven development. Model transformation aims at automating the transition from business models to implementation models. In addition to model refinement, model transformations are used for improving models by restructuring, completing and optimising them.
Quality-driven software architecture model transformation (QAMT) denotes changing an architectural model according to changing or varying quality properties, wherein a quality property is a non-functional interest of one or more system stakeholders. In this dissertation, I examine QAMT automation, i.e. reducing the need for human intervention in QAMT. Therefore, the research question in this dissertation is ‘how to make automation of QAMT possible’. This dissertation provides an answer to the research question by presenting a model to support QAMT automation. The model is derived from the experience gained in four industrial cases and in one laboratory case study. The model is written with Unified Modelling Language 2.0 and includes activities to describe the process of transformation and collaborating actors that execute the activities.
The goals of the model are (1) to describe transformation as completely as possible, (2) to provide support toward automation, (3) to stay independent of implementation technologies, (4) to be mature and validated and (5) to conform to standards. Transformation is described by presenting a marked model, a mapping and a transformation record, and transformation activities. While the QAMT model does not support total automation of all the activities, it does reduce the need for human intervention. The QAMT model shows good performance in platform independence and it is validated in five different cases. Finally, the QAMT model promotes understandability by following, e.g., the terminology and specification structures defined in the most important standards in the area.
This research introduces an automation model for quality-driven software architecture model transformation. So far, the research effort on model driven architecture has been focusing on automating vertical transformations such as code generation. The work in this dissertation initiates the automation of horizontal model transformations and suggests future research topics to accumulate the knowledge on the subject and again to derive fresh topics to explore and new ideas to experiment with.