Accueil🇫🇷Chercher

Feature model

En développement logiciel, les Feature model sont une technique de modélisation des gammes de produits logiciels (Software product lines). Ils ont été introduits pour la première fois dans la méthode de feature-oriented domain analysis par Kang en 1990[1].

Exemple de feature model

Objectif

Les feature models sont utilisés pour identifier les différences et similitudes entre tous les produits d'une même software product line. Chaque caractéristique, ou feature, peut être un préalable, un composant ou un morceau de code[2].

Formalisme

Les feature models se présentent comme des arbres dans lesquels chaque nœud est une caractéristique et chaque arête peut avoir quatre valeurs possibles :

  • Obligatoire : Si le nÅ“ud parent est présent, alors le nÅ“ud enfant aussi.
  • Optionnel : Le nÅ“ud enfant peut ou peut ne pas être présent alors que le nÅ“ud parent l'est.
  • Alternative : Si le nÅ“ud parent est présent, alors un seul des nÅ“uds enfants reliés par une arête alternative l'est.
  • Ou : Si le nÅ“ud parent est présent, alors au moins un des nÅ“uds enfants reliés par une arête l'est.

À cela s'ajoutent des relations non hiérarchiques entre nœuds :

  • Préalable : Si le nÅ“ud A est présent alors le nÅ“ud B aussi.
  • Exclusion : les nÅ“uds A et B ne peuvent pas être présents en même temps.

Dans les extended feature model, chaque caractéristique peut aussi avoir un ou plusieurs paramètres ou attributs ayant chacun un domaine de définition.

Caractéristiques

Benavides et al. définissent deux caractéristiques des feature models[3] : d'une part, la variabilité d'un modèle entier, définie comme le rapport entre l'ensemble des produits représentés par un feature model et l'ensemble des produits représentables en gardant les caractéristiques mais en supprimant les relations entre les deux ; la communalité d'une caractéristique, d'autre part, correspond au rapport entre l'ensemble des solutions où cette caractéristique est présente sur l'ensemble des solutions.

Références

  1. (en)Kang, K.C. and Cohen, S.G. and Hess, J.A. and Novak, W.E. and Peterson, A.S., "Feature-oriented domain analysis (FODA) feasibility study", Technical Report CMU/SEI-90-TR-021, SEI, Carnegie Mellon University, November 1990, lire en ligne.
  2. C. Preofer. Feature-oriented programming : A new way of object composition. Concurrency and Computation : Practice and Experience, 13(6):465-501, 2001 lire en ligne
  3. (en)Benavides, D., Ruiz-Cortes, A., & Trinidad, P. (2005, July). Using constraint programming to reason on feature models. In The Seventeenth International Conference on Software Engineering and Knowledge Engineering, SEKE (Vol. 2005, pp. 677-682). Voir en ligne.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.