2 research outputs found

    Multiple software product lines to configure applications of internet of things

    Get PDF
    Software product lines (SPL) emulate the industrial production lines that are capable of generating large volumes of products through reuse schemes and mass production. A multi product line (MPL) aims to reuse of several SPL. Feature models are often used to manage the existing resources of SPLs and define valid products through notations and relationships such as mandatory, optional, and alternative features. The main contribution of this study is a method to manage the variability of multiple SPL and generate a new portfolio of products for Internet of Things (IoT). For this, the problem of developing a universal feature model (FM) for an MPL from merging the FMs of the individual SPLs with a Search-Based Software Engineering (SBSE) technique is addressed. In addition, the authors propose a multi-objective optimisation model to maximise the reusability and compatibility between features and minimise the development cost. The model facilitates the design of an MPL-feature model. Authors' empirical results show that the proposed model solved by genetic algorithms allows to configure a variety of software products and to determine the scope of the MPL

    AOPLA : Aspect-Oriented Product Line Architecture

    No full text
    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
    corecore