Abstract

The product line approach enables the rapid building of software products by reusing core assets. How to manage the commonality and variability of product family is the core problem of product line engineering. The feature modeling approach is one of the main approaches to solve this problem. However, this approach does not define the internal functions of features. Some researchers use formal descriptions to define the function of features, but they do not consider the connection between feature specification and feature model. These product family modeling approaches result in product family models that suffer from inconsistent descriptions, which are difficult to resolve manually. To this end, this paper proposes a computer-aided approach to construct an internally consistent product family model. The method performs an inconsistency check during the formalization of each feature in the given initial feature model, pushing the evolution of the feature model and feature specification. The creation and evolution of feature models are achieved through a template-based feature modeling approach. The method is implemented by means of templates, each of which contains two parts of knowledge: the elements required for a class of feature model, and a way to convert the given elements into a formal description. An inconsistency check is achieved through a rule-based detection approach. Each rule contains two parts: a class of conditions that the feature model and the feature specification satisfy, and the actions to resolve inconsistencies once the conditions are satisfied. We have developed a tool. The tool guides the user to build an internally consistent product family model that contains the feature model and feature specifications. Experiments have shown that our approach can provide effective automation support for the process of formal product family modeling.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call