Fine-grained configuration et dérivation de lignes de produit logiciels dirigé par les modèles
Institution:
NantesDisciplines:
Directors:
Abstract EN:
We present FieSta, an approach based on Model-Driven Development ideas to create Software Product Lines (SPLs). In Model-Driven SPL approaches, the derivation of a product starts from a domain application model. This model is transformed through several stages reusing model transformation rules until a product is obtained. Transformations rules are selected according to variants included in congurations created by product designers. Congurations include variants from variation points, which are relevant characteristics representing the variability of a product line. FieSta (1) provides mechanisms to improve the expression of variability of Model-Driven SPLs by allowing designers to create ne-grained congurations of products, and (2) integrates a product derivation process which uses decision models and Aspect-Oriented Programming facilitating the reuse, adaptation and composition of model transformation rules. We introduce constraint models which make it possible for product line architects to capture the scope of product lines using the concepts of constraint, cardinality property and structural dependency property. To congure products, we create domain models and binding models, which are sets of bindings between model elements and variants and satisfy the constraint models. We dene a decision model as a set of aspects. An aspect maintains information of when transformation rules that generate commonalities of products must be intercepted (joinpoints) and what transformation rules (advices) that generate variable structures must be executed instead. Our strategy maintains uncoupled variants from model transformation rules. This solves problems related to modularization, coupling, exibility and maintainability of transformations rules because they are completely separated from variants; thus, they can evolve independently
Abstract FR:
Nous présentons FieSta, une approche basée sur les idées de l'ingénierie dirigée par les modèles pour créer des lignes de produits logiciels. Dans les approches dirigées par les modèles pour créer lignes de produits logiciels, la dérivation d'un produit commence par un modèle d'application du domaine. Ce modèle est transformé en plusieurs étapes en utilisant des règles de transformation de modèles, jusqu'à ce qu'un produit final soit obtenu. Les règles de transformations sont choisies selon les variantes incluses dans les congurations créés par le concepteur des produits. Les congurations comportent des variantes associées des points de variation, qui sont des caractéristiques représentant la variabilité d'un ligne de produit. FieSta (1) fournit des mécanismes pour améliorer l'expression de la variabilité des lignes de produits dirigées par les modèles en permettant des concepteurs de créer des congurations grain des produits, et (2) intègre un processus de dérivation des produits qui emploie des modèles de décision et la programmation dirigé par les aspects pour faciliter la réutilisation, l'adaptation et la composition des règles de transformation des modèles. Nous présentons les modèles de contraintes qui permettent aux architectes du produit de capturer le domaine des produits en utilisant les concepts de contrainte, de propriété de cardinalité et de propriété de dépendance structurale. Pour congurer les produits, nous créons les modèles de domaine et les modèles de décision, qui sont des ensembles de liens entre des éléments et des variantes et satisfont les modèles de contraintes. Nous définissons un modèle de décision comme un ensemble d'aspects au sens de la programmation par aspects. Un aspect mémorise l'information concernant quand, où et comment intercepter une règle de transformation produisant la base commune du produit. Ces aspects détectent les points de jonctions ou de nouvelles règles de transformation, gérant la variabilité, doivent être exécutées. Notre stratégie maintient la création des variantes découplé des règles de transformation pour les parties communes. Ceci résout des problèmes liés la modularisation, l'appariement, la exibilité et la maintenance des règles de transformations. Parce que les règles communes sont complètement séparées des variantes, elles peuvent plus facilement évoluer indépendamment