AOPLA : Aspect-Oriented Product Line Architecture

Abstract

A Software Product Line Architecture (PLA) is a key asset in Software Product Line Engineering. PLA models commonality and variability, allows for the derivation of products and defines their corresponding quality attributes. In addition, a PLA should exhibit its own quality attributes (variability, derivability, reusability, rateability, integrability, correctness, evolvability, manageability and maintainability), as defined in some models with proven success in software product line practice such as the CAFÉ quality model. A PLA should also make an explicit distinction between concerns that can be addressed by using architectural abstractions and concerns that crosscut architectural components. Therefore, in addressing these issues, the development of an Aspect-Oriented Product Line Architecture design approach (AOPLA) has been established as the focus of this research. The PLA obtained with this approach must: 1. fulfill the specified products’ quality attributes, 2. be generic enough to generate the PL products, 3. support commonality and variability, and, 4. fulfill the PL-specific quality attributes. The research yielded the development of an example in order to obtain an initial version of an AOPLA. Next, a case study was developed using the first version of this AOPLA. For the evaluation of the approach, a second architecture was developed for this same case study using the Feature-Oriented Reuse Method (FORM). Both, AOPLA and FORM architecture models were compared by means of a quality model. This quality model encompassed generality, derivability, reusability and evolvability as PL-specific quality attributes. In addition, the Architecture-Tradeoff Analysis Method (ATAM) and Concern-Oriented Software Architecture Analysis Method (COSAAM) were applied to evaluate the resulting architecture. ATAM evaluated the consequences of architectural decisions made during architecture modeling, while COSAAM measured the scattering and tangling of concerns. The architecture developed with AOPLA proved to be more general, derivable, reusable and evolvable than the one developed with FORM. ATAM proved that architectural decisions made during AOPLA actually fulfilled the specified quality attributes. COSAAM, in turn, proved that concerns were adequately handled during AOPLA and that the resulting modules were highly cohesive. From this research it can be concluded that AOPLA is a PLA design approach having a concern-oriented focus from very early in the process that allows the handling of concerns in such a way that the resulting PLA supports the derivation of products, is reusable, evolvable, and supports commonality and variability

    Similar works

    Full text

    thumbnail-image