Bilkent University
Department of Computer Engineering


Architecture Conformance Analysis in Software Product Line Engineering Using Reflexion Modeling


Onur Özdemir
MSc Student
Computer Engineering Department
Bilkent University

Software product line engineering (SPLE) aims to provide pro-active, pre-planned reuse at a large granularity (domain and product level) to develop applications from a core asset base. By investing upfront in preparing the reusable assets, it is expected to develop products with lower cost, get them to the market faster and produce with higher quality. In alignment with these goals different SPLE processes have been proposed that usually define the SPLE process using the two lifecycles of domain engineering and application engineering. In domain engineering a reusable platform and product line architecture is developed. In application engineering the results of the domain engineering process are used to develop the product members. One of the most important core assets in SPLE is the software architecture. Hereby we can distinguish between the product line architecture and application architecture. The product line architecture is developed in the domain engineering process and represents the reference architecture for the family of products. The application architecture represents the architecture for a single product and is developed by reusing the product line architecture. It is important that the application architectures remain consistent with the product line architecture to ensure global consistency. However, due to evolution of the product line architecture and/or the application architecture inconsistencies might arise leading to an architecture drift. In the literature several architecture conformance analysis approaches have been proposed but these have primarily focused on checking the inconsistencies between the architecture and code. Architecture conformance analysis within the scope of SPLE has not got much attention. In this thesis we first present the results of our tertiary systematic literature review to systematic reviews on software product line testing. Subsequently, we propose a systematic architecture conformance analysis approach for detecting inconsistencies between product line architecture and application architecture. For supporting the approach we adopt the notion of reflexion modeling in which architecture views of product line architecture are compared to the architecture views of the application architecture. For illustrating our approach we use the Views and Beyond approach together with a running case study. Furthermore, we present the provided tool support for the presented approach. Our evaluation shows that the approach and the corresponding tool are effective in identifying the inconsistencies between product line architectures and application architectures..


DATE: 23 December, 2015, Wednesday @ 17:15