IEEE Access (Jan 2018)

Multi-Objective Optimum Solutions for IoT-Based Feature Models of Software Product Line

  • Asad Abbas,
  • Isma Farah Siddiqui,
  • Scott Uk-Jin Lee,
  • Ali Kashif Bashir,
  • Waleed Ejaz,
  • Nawab Muhammad Faseeh Qureshi

DOI
https://doi.org/10.1109/ACCESS.2018.2806944
Journal volume & issue
Vol. 6
pp. 12228 – 12239

Abstract

Read online

A software product line is used for the development of a family of products utilizing the reusability of existing resources with low costs and time to market. Feature Model (FM) is used extensively to manage the common and variable features of a family of products, such as Internet of Things (IoT) applications. In the literature, the binary pattern for nested cardinality constraints (BPNCC) approach has been proposed to compute all possible combinations of development features for IoT applications without violating any relationship constraints. Relationship constraints are a predefined set of rules for the selection of features from an FM. Due to high probability of relationship constraints violations, obtaining optimum features combinations from large IoT-based FMs are a challenging task. Therefore, in order to obtain optimum solutions, in this paper, we have proposed multi-objective optimum-BPNCC that consists of three independent paths (first, second, and third). Furthermore, we applied heuristics on these paths and found that the first path is infeasible due to space and execution time complexity. The second path reduces the space complexity; however, time complexity increases due to the increasing group of features. Among these paths, the performance of the third path is best as it removes optional features that are not required for optimization. In experiments, we calculated the outcomes of all three paths that show the significant improvement of optimum solution without constraint violation occurrence. We theoretically prove that this paper is better than previously proposed optimization algorithms, such as a non-dominated sorting genetic algorithm and an indicator-based evolutionary algorithm.

Keywords