Welcome to SBRM

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.

Context and scope of SBRM and SBRM+

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.

Installation Instruction

Download SBRM here!

Download SBRM+ here! (It will be available soon) 
Note that SBRM and SBRM+ are only available for education purpose.https://poi.apache.org/

  1. Install Eclipse Java Tools. 
  2. Make sure, Java 8 is installed.
  3. Make sure, Apache Maven building framework is installed.
  4. Download SBRM/SBRM+ from the above link.
  5. Make sure, jMetal Framework files are properly imported from SBRM/SBRM(they are provided in the project).
  6. Make sure, Weka Tool API version 3.7.5 is being used (provided in the project).
  7. Make sure, Apache POI is properly imported in the project (provided in the project).
  8. Make sure, Apache Common IO is properly imported in the project (provided in the project).
  9. Import SBRM/SBRM+ into your eclipse.

Related Publications

Contact Person