University of Twente Student Theses
Managing variability in model transformations for model-driven product lines : extending the ATL model transformation language with variability management capabilities
Sijtema, Marten (2010) Managing variability in model transformations for model-driven product lines : extending the ATL model transformation language with variability management capabilities.
PDF
1MB |
Abstract: | Various approaches show that Software Product Lines (SPLs) can be implemented using the Model-Driven Engineering (MDE) concept of successive model renements. An important aspect of Product Line Engineering (PLE) is the management of variability. SPLs can build a set of member products which are subject to variability. That is, the member products will have a varying set of features integrated. Since model transformations can be used to instantiate and integrate components of a system, they should also integrate the features. This thesis proposes a framework to let the model transformation language ATL manage variability. The approach is to extend ATL (called ATL') with a different type of rule called variability rule. This new type of rule works in combination with a separate feature model and an annotation model. The semantics is that a variability rule is only called if the corresponding feature is selected in the feature model, or the matched source element is annotated with the feature, as deduced from the annotation model. The feature model and the annotation model form the drivers for the transformation sequence; they are used for the configuration of features. Specifically, the feature model defines the set of selected features, and the annotation model provides a more granular way of specifying feature integration on a per-class basis. The application engineering phase { the product derivation { is then fully automated. A compiler was written as a higher-order transformation (HOT), to implement the semantics of variability rules. This HOT compiles an ATL' model back to an ATL model. The HOT can be chained in front of a transformation step, and thus be regarded as a pre-processor. Throughout the thesis, a transformation sequence that can generate a family of web-based, data-centric information systems with basic Create, Read, Update, Delete (CRUD) support, is used as a case study. It is the context for all the experiments and examples regarding variability. The transformation sequence generates member products from an input (meta) model, the domain model. The domain model describes a particular business domain and is an instance of the Ecore meta meta model. Every generated information system will provide means to store and manage data as described in the domain model, and integrate a varying set of features. Our solution ensured separation of concerns, modularity, and higher maintainability. The variability rules have similar quality characteristics as normal rules, and its semantics follow the ATL philosophy of modular, declarative rules, and implicit execution order. |
Item Type: | Essay (Master) |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/59730 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page