Nowadays, systems are being developed by integrating multiple products within/across product lines that communicate with each other through information networks. Runtime behaviors of such systems are related to product configurations and information networks. Cost-effectively supporting Product Line Engineering (PLE) of such systems is challenging mainly because of lacking the support of automation of the configuration process. Capturing rules is the key for automating the configuration process in PLE. However, there don’t exist explicitly-specified rules constraining configurable parameter values of such products and product lines. Manually specifying such rules is tedious, time-consuming, and requires expert’s knowledge of the domain and the product lines.
To address this challenge, we proposed an approach named as Search-Based Rule Mining (SBRM) that combines multi-objective search with machine learning to mine rules for interacting products within/across the product lines. We named these rules as Cross Product Line (CPL) Rules. For the initial implementation, we used the most commonly used Non-Dominated Sorting Genetic Algorithm (NSGA-II) as a multi-objective search algorithm and Pruning Rule-Based Classification algorithm (PART) as a rule mining algorithm.
We further improved the proposed SBRM approach in the second version (named as SBRM+). In SBRM+, we incorporated two rule mining algorithms including PART and C4.5. Furthermore, we employed the well-known k-Means clustering algorithm for classifying rules as high or low confidence rules, which are used for defining three objectives to guide the search. As an example, in the implementation of SBRM, we encoded the problem using a case study of two communicating video conference system (VCS) products whereas for SBRM+, we used three VCS products.
As shown in Figure, SBRM/SBRM+ has three major components:
Initial Configuration Generation: Randomly generating an initial set of configurations for communicating products and getting corresponding system states after making the products interact or communicate with other.
Rule Mining: Taking the generated configurations as input along with corresponding system states and applying the machine learning algorithm (e.g., PART, C4.5) to mine CPL rules.
Search-based Configuration Generation: Taking the mined CPL rules as input and generating another set of configurations using multi-objective search algorithm (e.g., NSGA-II), which are combined with the previously generated configurations to mine a refined set of rules.
Download SBRM+ here! (It will be available soon)
Note that SBRM and SBRM+ are only available for education purpose.https://poi.apache.org/
Import SBRM/SBRM+ into your eclipse.