Summary: | Software product line engineering has gained an exceptional attention and interest from scientific community in recent years as a consequence of reuse in mass software production. However, management of the common and variable characteristics and functionalities among a collection of software systems, which belong to the same application domain, is still a work in progress because it is neither a trivial activity nor can it be resolved applying conventional software engineering methodologies. One of the suggested solutions, and generally accepted, for elicitation, representation and management of variability among software systems given a domain is feature modelling. Feature diagram, the fundamental graphical representation of feature modelling, proposed two decades ago in the study "Feature-Oriented Domain Analysis" published by the Software Engineering Institute, is a powerful representation tool of product lines' variability, but at the same time a systematic element for product configuration. First proposal of feature diagram defined the underlying data structure by means of trees, while later proposals used (directed acyclic) graphs or defined a new semantic meaning for trees. Nevertheless, there is yet to be found a consensus for a definition of feature diagrams. Regardless of the definition, any representation ought to be accompanied by a methodology to not only validate the model but also assist with the configuration of a product, because it is part of any Computer Aided Software Engineering tool. This work focuses on a mathematical representation of feature diagrams, (acyclicforward) hyper-graphs, and takes advantage of their properties and existing traversal algorithms to propose simple and robust procedures to aid with the process of configuration. The first part reviews previous definitions of feature diagram and describes the formalism proposed within GIRO research group as well as two-phases configuration algorithms to generate partial configurations and to complete them. Second part empirically evaluates the validity of these algorithms for the hyper-graph formalism and assesses the performance of a representative set of selected test feature models. The outcome will be a detailed study of feature modelling variability mechanisms in software product lines along with a mathematical depiction of feature diagrams, which overcomes the problem of denoting the semantics of constraints when using graphs and trees representations, suitable and feasible validation and configuration phases algorithms and an empirical assessment of the proposed algorithms.
|