Metamodels and Feature Models: Complementary Approaches to Formalize Product Comparison Matrices
Méta-modèles et modèles de caractéristiques: deux approches complémentaires pour formaliser les matrices de comparaison de produits
Résumé
Product Comparison Matrices (PCMs) are widely used for documenting or comparing a set of
products. They provide a compact representation of the characteristics or features of the products
in the form of a product by feature matrix. The expected benefits of such simple format are the
ease of use and definition. However, there exist no standard, guidelines or specific tool support
for creating PCMs. The various domains addressed in PCMs and the numerous contributors leads
to a large diversity in the structure and content of these matrices. This creates a syntactic and
semantic gap between the concrete representation of a PCM and its human interpretation. To
address this problem, the objective of this thesis is to develop techniques for formalizing PCMs.
We explore two possible solutions to reach our objective.
Our first solution is to directly model PCMs through the use of a model-based approach. The
central element of our approach is a domain metamodel that defines the structure and semantics
of PCMs. It is completed by a set of transformations for automatically formalizing existing PCMs
into PCM models. In our context, the elaboration of a model-based approach is a challenging task.
The lack of standard or oracle hinders the evaluation of our approach. The presence of potentially
millions of PCMs on the Web makes the manual building of an oracle unrealistic. To address
these challenges, we propose an iterative process driven by data, end-users and services. It helps
to evaluate our approach on a large number of PCMs while guiding the selection of a few PCMs
to manually analyze. To ease the development of services on top of PCM models, we also create
task-specific metamodels in relation to the edition, manipulation, import and export of PCMs.
Our second solution is the synthesis of Feature Models (FMs) from PCMs. Similarly to PCMs,
FMs represent product lines which are sets of products sharing commonalities and presenting
variabilities. FMs are the most widespread formalism for modeling product lines. They allow
to develop reasoning capabilities and numerous applications such as generating comparators or
configurators which can be beneficial for PCMs. Yet FMs provide a different view on a product line
than PCMs. PCMs also contain types of data that cannot be represented by FMs. To address this
problem, we consider as input of our algorithm, a class of PCMs that we call configuration matrices.
Such matrices present a simple structure and contain data that can be represented by FMs. We
also target an extension of FMs called Attributed FMs (AFMs) as output of our algorithm. AFMs
allow the modeling of common types of data in PCMs such as booleans, numbers and enumerations.
The analysis of the state of the art reveals that there exist no algorithm for synthesizing AFMs.
Moreover, existing synthesis techniques often foster precision over quality of the resulting FM or
vice versa. This hinders the exploitation of the generated FM. We improve state of the art of FM
synthesis with techniques that produce FMs that both exactly represent the information contained
in the input and exhibit a meaningful hierarchy. Then, we extend this technique to produce AFMs
from configuration matrices. These improvements contribute to allow a qualitative and precise
formalization and exploitation of a class of PCMs through the use of AFMs.
With our contributions, we provide two generic, extensible and complementary approaches for
the formalization and exploitation of PCMs. This is a first step towards the creation of a community
of users and contributors of PCMs. It opens new perspectives for the development of innovative
services on top of PCMs coming from various sources.
Les Matrices de Comparaison de Produits (MCP) sont largement répandues sur le web. Elles
fournissent une représentation simple des caractéristiques d'un ensemble de produits. Cependant, le
manque de formalisation et la grande diversité des MCP rendent difficile le développement de
logiciels pour traiter ces matrices. Dans cette thèse, nous développons deux approches
complémentaires pour la formalisation de MCP. La première consiste en une description précise de
la structure et la sémantique d'une MCP sous la forme d'un meta-modèle. Nous proposons aussi une
transformation automatique d'une MCP vers un modèle de MCP conforme au meta-modèle. La
seconde approche consiste à synthétiser des modèles de caractéristiques attribués à partir d'une
classe de MCP. Grâce nos contributions, nous proposons une approche générique et extensible pour
la formalisation et l'exploitation de MCP.
Loading...