It is widely reported that product family engineering contributes to improving productivity, increasing software quality, reducing cost and labor needs, and decreasing the time to market. With the growing complexity of product families, more sophisticated techniques are required to develop, maintain and evolve the product families. More specifically, we focus on the problem space of product families engineering and address the problems in modeling large-scale feature models. Recent research on feature models adopts the principle of separation of concerns at the feature-modeling level. However, current modularization approaches still have limitation for handling crosscutting concerns and unanticipated changes at the feature-modeling level. We use a language called Aspect-Oriented Product Family Algebra (AO-PFA) to tackle those challenges. To fully attain the benefits of the aspect-oriented paradigm at the feature-modeling level, this paper presents the formalization of the weaving process for AO-PFA. Moreover, since the weaving process is associated with the word problem, which is in general undecidable, we prove that the weaving process of AO-PFA is convergent, leads to unambiguous weaving results, and that its rewriting system is terminating and confluent.
Read full abstract