Jose Antonio Mercado Herbas , pp. 96. COM/School of Computing, 2011.
The architecture of a software system is defined by significant decisions that drive the way in which the software is designed implemented and maintained. In the context of software product lines, these decisions will determine the design of an architec- ture that provides the software with the ability to be configured for different product variants and extended to accommodate future requirements.
Although, variability models describe the different configurations of current and fu- ture products that the product line supports, the knowledge of how the architecture was designed to support variations of a product in space and time exists only in the architects’ mind or remains implicit in architectural models. This thesis argues that the knowledge found in architectural models and design rationale can be used to facilitate the derivation of product variants and the evolution of the product line.
To support this notion, we propose the AKinSPL method for capturing the architec- tural knowledge in software product lines. The method is founded on the factors that architects take into consideration when designing the architecture, and a meta-model that represents the mental models and processes architects follow during the creation of a product line architecture.
To validate the concepts of AKinSPL, its guidelines were mapped to activities of the PuLSE-DSSA methodology and new artifacts were created to capture architectural knowledge on the basis of those guidelines. Next, it was applied to capture the archi- tectural knowledge of an embedded software system for automatic control of agricul- tural equipment. The results showed that diagrams augmented with design rationale enable a faster understanding of the purpose of the architectural models. Similarly, the prescriptions of the architecture with respect to the implementation are conveyed more easily.