Consistency-based Merging of Variability Models

02/15/2021
by   Mathias Uta, et al.
Siemens AG
TU Graz
0

Globally operating enterprises selling large and complex products and services often have to deal with situations where variability models are locally developed to take into account the requirements of local markets. For example, cars sold on the U.S. market are represented by variability models in some or many aspects different from European ones. In order to support global variability management processes, variability models and the underlying knowledge bases often need to be integrated. This is a challenging task since an integrated knowledge base should not produce results which are different from those produced by the individual knowledge bases. In this paper, we introduce an approach to variability model integration that is based on the concepts of contextual modeling and conflict detection. We present the underlying concepts and the results of a corresponding performance analysis.

READ FULL TEXT VIEW PDF

Authors

page 1

page 2

page 3

page 4

04/28/2019

Requirements variability specification for data intensive software

Nowadays, the use of feature modeling technique, in software requirement...
02/17/2021

An Efficient Diagnosis Algorithm for Inconsistent Constraint Sets

Constraint sets can become inconsistent in different contexts. For examp...
02/11/2021

DirectDebug: Automated Testing and Debugging of Feature Models

Variability models (e.g., feature models) are a common way for the repre...
04/05/2019

Bio-inspired Requirements Variability Modeling with Use Case

Background. Feature Model (FM) is the most important technique used to m...
05/15/2019

Specifying and Reasoning about Contextual Preferences in the Goal-oriented Requirements Modelling

Goal-oriented requirements variability modelling has established the und...
11/30/2018

Completeness and Consistency Analysis for Evolving Knowledge Bases

Assessing the quality of an evolving knowledge base is a challenging tas...
10/12/2021

An Empirical Study of Configuration Mismatches in Linux

Ideally the variability of a product line is represented completely and ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Configuration [felfernighotzbagleytiihonen2014, Stumptner1997]

is one of the most successful applications of Artificial Intelligence technologies applied in domains such as telecommunication switches, financial services, furniture, and software components. In many cases, configuration knowledge bases are represented in terms of variability models such as feature models that provide an intuitive way of representing variability properties of complex systems

[Kang1990, Czarnecki2005]. Starting with rule-based approaches, formalizations of variability models have been transformed into model-based knowledge representations which are more applicable for the handling of large and complex knowledge bases, for example, in terms of knowledge base maintainability and expressivity of complex constraints [Benavides2010, felfernighotzbagleytiihonen2014]. Examples of model-based knowledge representations are constraint-based representations [Tsang1993], description logic and answer set programming (ASP) [felfernighotzbagleytiihonen2014]. Besides variability reasoning for single users, latest research also shows how to deal with scenarios where groups of users are completing a configuration task [Felfernig2018]. In this paper, we focus on single user scenarios where variability models are represented as a constraint satisfaction problem (CSP) [Benavides2005, Tsang1993].

There exist a couple of approaches dealing with the issue of integrating knowledge bases. First, knowledge base alignment is the process of identifying relationships between concepts in different knowledge bases, for example, classes describe the same concept but have different class names (and/or attribute names). Approaches supporting the alignment of knowledge bases are relevant in scenarios where numerous and large knowledge bases have to be integrated (see, for example, [Galarraga2013]). Ardissono et al. [Ardissono2003] introduce an approach to distributed configuration where individual knowledge bases are integrated into a distributed configuration process in which individual configurators are responsible for configuring individual parts of a complex product or service. The underlying assumption is that individual knowledge bases are consistent and that there are no (or only a low number of) dependencies between the given knowledge bases.

The merging of knowledge bases is related to the task of exploiting various merging operators to different belief sets [Delgrande2007, Liberatore1998]. For example, Delgrande and Schaub [Delgrande2007] introduce a consistency-based merging approach where the result of a merging process is a maximum consistent set of logical formulas representing the union of the individual knowledge bases. In the line of existing consistency-based analysis approaches, the resulting knowledge bases represent a logical union of the original knowledge bases that omits minimal sets of logical sentences inducing an inconsistency [84_Reiter1987]. Contextual modeling [felfernig2000] is related to the task of decentralizing variability knowledge related development and maintenance tasks.

Approaches to merging feature models represented on a graphical level on the basis of merging rules have been introduced, for example, in [Broek2010, Segura2007]. In this context, feature models including specific constraint types such as requires and excludes, are merged in a semantics-preserving fashion. Compared to our approach, the merging of variability models introduced in [Broek2010, Segura2007] is restricted to specific constraint types and does not take into account redundancy.

Our approach provides a generalization to existing approaches especially due to the generalization to arbitrary constraint types and redundancy-free knowledge bases as a result of the merge operation. We propose an approach to the merging of variability models (represented as constraint satisfaction problems) which guarantees semantics preservation, i.e., the union of the solutions determined by individual constraint solvers (configurators) is equivalent to the solution space of the integrated variability model (knowledge base). In this context, we assume that the knowledge bases to be integrated (1) are consistent and (2) use the same variable names for representing individual item properties (knowledge base alignment issues are beyond the scope of this paper).

The contributions of this paper are the following. (1) We provide a short analysis of existing approaches to knowledge base integration and point out specific properties of variability model integration scenarios that require alternative approaches. (2) We introduce a new approach to variability knowledge integration which is based on the concepts of contextualization and conflict detection. (3) We show the applicability of a our approach on the basis of a performance analysis.

The remainder of this paper is organized as follows. First, we introduce a working example from the automotive domain (see Section 2). On the basis of this example, we introduce our approach to variability model integration (merging) in Section 3. In Section 4, we present a performance evaluation. Section 5 includes a discussion of threats to validity of the presented merging approach. The paper is concluded in Section 6 with a discussion of issues for future work.

2 Example Variability Models

In the following, we introduce a working example which will serve as a basis for the discussion of our approach to knowledge integration (Section 3). Let us assume the existence of two different variability models. For the purpose of our example, we introduce two car configuration knowledge bases represented as a constraint satisfaction problem. One car configuration knowledge base is assumed to be defined for the U.S. market and one for the German market. For simplicity, we assume that (1) both knowledge bases are represented as a constraint satisfaction problem (CSP) [Tsang1993] and (2) that both knowledge bases operate on the same set of variables and corresponding domain definitions.111We are aware of the fact that this assumption does not hold for real-world scenarios in general. However, we consider tasks of concept matching as an upstream task we do not take into account when integrating knowledge bases on a formal level. Our two knowledge bases consisting of variable definitions and corresponding constraints {, } are the following.

  • : {country(US), type(combi, limo, city, suv), color(white, black), engine(1l, 1.5l, 2l), couplingdev(yes,no), fuel(electro, diesel, gas, hybrid), service(15k, 20k, 25k), , , }

  • : {country(GER), type(combi, limo, city, suv), color(white, black), engine(1l, 1.5l, 2l), couplingdev(yes,no), fuel(electro, diesel, gas, hybrid), service(15k, 20k, 25k), , , }

In these knowledge bases, we denote the variable country as contextual variable since it is used to specify the country a configuration belongs to but is not directly associated with a specific component of the car. Table 1 shows a summary of the solution spaces (in terms of the number of potential solutions) that are associated with the country-specific knowledge bases and . For simplicity, we kept the number of constraints the same in both knowledge bases, however, the integration concepts introduced in Section 3 are also applicable to knowledge bases with differing numbers of constraints.

Knowledge base #constraints #solutions
3 288
3 324
Table 1: Solution spaces of individual knowledge bases.

3 Merging Variability Models

In this section, we introduce our approach to merge variability models represented as constraint satisfaction problems (CSPs) [Tsang1993]. Our approach is based on the assumption that the constraints of the two original knowledge bases and are contextualized, i.e., each constraint of knowledge base gets contextualized on the basis of predefined contextualization variables. For example: assuming a context variable country(US,GER), each constraint of the US knowledge base is contextualized with (transformed into) . Constraint would be translated into . and have been transformed into their contextualized variants and where .

  • : {country(US), type(combi, limo, city, suv), color(white, black), engine(1l, 1.5l, 2l), couplingdev(yes,no), fuel(electro, diesel, gas, hybrid), service(15k, 20k, 25k), ), ), )}

  • : {country(GER), type(combi, limo, city, suv), color(white, black), engine(1l, 1.5l, 2l), couplingdev(yes,no), fuel(electro, diesel, gas, hybrid), service(15k, 20k, 25k), ), ), )}

The solution spaces of the contextualized knowledge bases and are shown in Table 2. They have the same solution spaces as and .

Knowledge base #solutions
288
324
612
126
Table 2: Solution spaces when merging knowledge bases.

On the basis of such a contextualization, we are able to preserve the consistency and semantics of the two original knowledge bases in the sense that (1) the solution space () is equivalent to the solution space (), (2) the solution space () is equivalent to the solution space (), and (3) the solution space () solution space () is equivalent to the solution space ().

Based on this representation, we are able to (1) get rid of contextualizations (see line of Algorithm 1) that are not needed in the integrated version of the two original configuration knowledge bases and (2) delete redundant constraints (see line 15 of Algorithm 1). In Line it is checked whether a contextualization is needed for the constraint ( is the decontextualized version of ). If the negation of is consistent with the union of the contextualized knowledge bases, solutions exist that support . Consequently, must remain contextualized. Otherwise, the contextualization is not needed and is added to the resulting knowledge base – with this, it replaces , i.e., the corresponding contextualized constraint.

Each constraint in the resulting knowledge base (the decontextualized knowledge base) is thereafter checked with regard to redundancy (see Line ). A constraint is regarded as redundant if is inconsistent with . In this case, does not reduce the search space and thus can be deleted from – it is redundant with regard to .

1:  {: two contextualized and consistent configuration knowledge bases}
2:  {: a contextualized version of constraint c}
3:  {: knowledge base resulting from merge operation}
4:   ;
5:   ;
6:  for all   do
7:     if then
8:        
9:     else
10:        
11:     end if
12:     
13:  end for
14:  for all   do
15:     if  then
16:        
17:     end if
18:  end for
19:  
Algorithm 1 CKB-Merge()

The knowledge base resulting from applying Algorithm 1 to the individual knowledge bases and looks like as follows. In , constraint is represented in a decontextualized fashion since the context information is not needed. Furthermore, constraint has been deleted since it is redundant.

  • : {country(US, GER), type(combi, limo, city, suv), color(white, black), engine(1l, 1.5l, 2l), couplingdev(yes,no), fuel(electro, diesel, gas, hybrid), service(15k, 20k, 25k), ), , ), ), )}

4 Performance Evaluation

In this section, we discuss the results of an initial analysis we have conducted to evaluate CKB-Merge (Algorithm 1). For this analysis, we applied 10 different synthesized variability models () represented as constraint satisfaction problems [Tsang1993]) that differ individually in terms of the number of constraints (#constraints) and the degree of contextualization (expressed as percentages in Tables 3 and 4). In order to take into account deviations in time measurements, we repeated each experimental setting 10 times where in each repetition cycle the constraints in the individual (contextualized) knowledge bases were ordered randomly.

The number of consistency checks needed for decontextualization is linear in terms of the number of constraints in . A performance evaluation of CKB-Merge with different knowledge base sizes and degrees of contextualized constraints in is depicted in Table 3. In CKB-Merge, the runtime (measured in terms of milliseconds needed by the constraint solver222For the purposes of our evaluation we generated variability models represented as constraint satisfaction problems formulated using the Choco constraint solver – www.choco-solver.org. to find a solution) increases with the number of constraints in and decreases with the number of contextualized constraints in . The increase in efficiency can be explained by the fact that a higher degree of contextualization includes more situations where the inconsistency check in Line 7 (Algorithm 1) terminates earlier (a solution has been found) compared to situations where no solution could be found. In addition, Table 4 indicates that the performance of solution search does not differ depending on the degree of contextualization in the resulting knowledge base .

Consequently, integrating individual variability models can trigger the following improvements. (1) De-contextualization in can lead to less cognitive efforts when adapting / extending knowledge bases (due to a potentially lower number of constraints and a lower degree of contextualization). (2) Reducing the overall number of constraints in can also improve runtime performance of the resulting integrated knowledge base.

#constraints 10% 20% 30% 40% 50%
1 10 749 219 195 118 97
2 20 559 653 666 679 487
3 30 1541 813 644 588 664
4 40 1888 1541 1345 1177 1182
5 50 3773 3324 3027 3171 2643
6 60 5376 4458 4425 3304 3056
7 70 7300 6912 7362 5619 4896
8 80 10795 8793 7580 6821 5909
9 90 13365 11770 10103 8916 7831
10 100 15992 14443 14679 12417 11066
Table 3: Avg. runtime (msec) of CKB-Merge measured with different knowledge base sizes () and shares of contextualized constraints in (10-50% contextualization).
#constraints 10% 20% 30% 40% 50%
1 10 244 159 203 167 274
2 20 305 230 250 362 271
3 30 310 378 251 426 243
4 40 425 453 522 502 563
5 50 500 640 603 637 657
6 60 881 728 899 801 698
7 70 830 778 802 888 876
8 80 917 1054 1011 848 1030
9 90 1017 1117 1042 960 667
10 100 1387 1363 1297 1297 1308
Table 4: Avg. runtime (msec) of the merged configuration knowledge bases (CKB) measured with different knowledge base sizes () and shares of contextualized constraints in (10-50% contextualization).

5 Threats to Validity

The main threat to (external) validity is the overall representativeness of the knowledge bases used for evaluating the performance of CKB-Merge. The current evaluation is based on a set of synthesized knowledge bases which do not directly reflect real-world variability models. We want to point out that the major focus of our work is to provide an algorithmic solution that allows semantics-preserving knowledge integration which is a new approach and regarded as the major contribution of our work. The application of CKB-Merge to real-world variability models, i.e., not synthesized ones, is in the focus of our future work.

6 Conclusions and Future Work

In this paper, we have introduced an approach to the consistency-based merging of variability models represented as constraint satisfaction problems. The approach helps to build semantics-preserving knowledge bases in the sense that the solution space of the resulting knowledge base (result of the merging process) corresponds to the union of the solution spaces of the original knowledge bases. Besides the preservation of the original semantics, our approach also helps to make the resulting knowledge base compact in the sense of deleting redundant constraints and not needed contextual information. The performance of our approach is shown on the basis of a first performance analysis with synthesized configuration knowledge bases. Future work will include the evaluation of our concepts with more complex knowledge bases and the development of alternative merge algorithms with the goal to further improve runtime performance.

References