Implementing Product Line Architecture with Code Generation and Separation
Abstract
Software product line engineering (SPLE) emphasizes high level of reuse and mass
customization of the core assets shared by a family of software products. Product line
architecture (PLA) is a promising application of architecture-centric development in SPLE.
However, unfaithful implementation of the PLA and manual implementation of its
variation points remain two difficult challenges that need to be addressed in this area. While
many PLA implementation approaches exist, they either focus on certain types of
variability or require manual implementation of variation points.
In this thesis, I present a novel code generation and separation approach that can
faithfully implement the PLA with a goal of reducing the inconsistency between the PLA
and its implementation. Moreover, the approach can automatically implement the variation
points modeled in the PLA and convert them to code entities using different techniques
based on the variation point’s type.
I have implemented the approach in ArchFeature, an Eclipse-based PLA
development environment, and evaluated it in a case study with a chat application. The
purpose of the evaluation was to validate the approach and to assess its feasibility,
performance, and affordability.
Table of Contents
Introduction -- Background and related work -- Approach -- Implementation -- Evaluation -- Conclusion and future work
Degree
M.S.