Un outil de modélisation de la variabilité intégré à un environnement multi-vues Date /Référence Journée Transformations de modèles et outillage de l IDM 7 novembre 2011 Olivier Barais (INRIA, Triskell) Marie Gouyette (INRIA, Triskell)
Plan Modélisation de point de vue et variabilité Présentation du projet MOVIDA Présentation des outils de MOVIDA Conclusion 2 2
Modélisation de points de vues Point de vue (viewpoint) : une encapsulation de parties d informations concernant un système (1) Vue (View) : une intégration de différents type d information obtenues à partir du même point de vue (1) (1) SOMMERVILLE I., SAWYER P., Viewpoints : principles, problems and a practical approach to requirements engineering, Ann. Softw. Eng., vol. 3, 1997, p. 101 130, J. C. Baltzer AG, Science Publishers 3 3
Variabilité Lignes de Produits (Software Product Line : SPL) : Techniques d ingénierie permettant la gestion de logiciels ayant des points communs et des points de variation (variabilité) entres eux La variabilité peut être modélisée au travers de features. Feature : a distinguishable characteristic of a concept (e.g system components and so on) that is relevant to some stakeholder of the concept (1) (1) Ulrich W. Eisenecker, K.C., ed.: Generative Programming : Method Tools and Applications. Addison- Wesley Professional (2000) 4 4
Contexte Besoins Environnement permettant de définir des cadres d architecture Outillage et méthodologie supportant un passage à l échelle. Recherche Projet Enjeux scientifiques Définir les bases d une ingénierie du multivue dans un contexte d Iingénierie Dirigée par les Modèles (IDM) Définition Point de vue Détection des incohérences Définition de Représentation Composabilité des modèles Variabilité Analyse multi-critères pour la sélection du meilleur compromis d architecture Standards Rôles des partenaires OMG Diagram definition RFP OMG Common Variability Language RFP IEEE-1471 ISO/IEC 42010 5 5
D1.3.1 and IEEE-1471 conceptual framework Contexte Recherche Projet 6 6
Contexte Recherche Projet Plan Bases de l ingénierie multi-vues Présentation des différents composants de l environnement Movida Studio Approche scientifique Démo 7 7
Base de l ingénierie multi-vues : Viewpoint Contexte Recherche Projet 8 8
Contexte Recherche Projet Plan Bases de l ingénierie multi-vues Présentation des différents composants de l environnement Movida Studio Approche scientifique Démo 9 9
Approche scientifique : Représentation des points de vues Contexte Recherche Besoins Assister à la modélisation de systèmes complexes Projet Fonctionnalités Adaptation de l'outillage en fonction de l'objectif courant de l'analyste Contraintes conflictuelles => compromis Mise en œuvre rapide d'un outillage autour d'un formalisme dédié Représentation de l'ensemble des caractéristiques à prendre en compte Masquer la plateforme sous-jacente pour se concentrer sur les concepts métiers Approches comparables UML et les profiles Présentation EclipseCon 10 Magic Draw, Papyrus (Future version), RSA Approches centrées données et édition Intentional Software, SQL Server Modeling OMG RFP Diagram definition 10 10
Approche scientifique : Représentation des points de vues Contexte Recherche Projet 11 11
Approche scientifique : Détection des incohérences Contexte Recherche Détection des incohérences de façon incrémentale Représentation d un modèle sous forme d une séquence d opérations de construction(trace de construction) 6 opérations nécessaires Règles d incohérences entre métamodèles différents Les détections d incohérences s expriment sous forme de règles logiques Multi-contexte : détecter des incohérences sans être obligé de les exprimer par rapport à une méta-classe (Contexte OCL) Multi méta-modèle: détecter des incohérences entre modèles de différents méta-modèles 12 Projet Détection des incohérences dans le contexte multi-vues Modèle global virtuel Chaque vue est représentée par une sousséquence d opérations de construction Fusion de vues par fusion de sous séquences Publications (UPMC) Detecting model inconsistency through operation-based model construction. In: ICSE'08 D-Praxis : A peer-to-peer collaborative model editing framework. In: DAIS'09 Towards Automated Inconsistency Handling in Design Models. In: CAiSE 10 Incrementalization of Model Inconsistency Detection with Constant Memory Overhead. In Submission to SPLASH 10 12
Exemple de règle Praxis Importing metamodels or Other rulesets RuleSet declaration Rule user friendly description Logical connectives Actions Built-ins 13 13
Bases de l ingénierie multi-vues : Variabilité Contexte Recherche Besoins Améliorer la modularité et la réutilisation Définir des lignes de produits au sein d architectures Documents produits État de l art comprenant des méta-modèles et outillages existants Méta-modèle et représentation graphique du langage de variabilité (featurediagram) Outil de gestion de la variabilité (variability tool) 14 Projet Enjeux scientifiques Variabilité dans les descriptions d architectures Cohérence de la dérivation Variability tool Variability editor : editeur graphique de variabilité Product Derivation Engine : outil de sélection et de dérivation Base model decorator : pour ajouter des informations de variabilité sur les base modèles (modèles sur lesquels on applique la variabilité) 14
Exemple de variabilité dans une architecture Deux points de variation dans cette architecture représentant des processeurs : La première architecture est branchée au secteur La seconde a un deuxième input controller Un deuxième ventilateur est optionnel 15 15
Variability Editor Chaque Domain Model Element du base model est représenté en noir dans la feature L attribut maxconsumption est représenté en gris 16 16
Modèles pour le Product Derivation Engine RFP CVL (Common Variability Language) Presentation CVL Models Base Model : general architecture model Variability model : feature diagram model features are associated with domain model elements Resolution model : contain feature selection Source : CVL RFP Resolved model : specialized architecture model Product Derivation Concepts Use the models defined above as in CVL approach (but it is not CVL here) Use negative variability : domain model elements associated to unselected features are removed 17 17
Selection et Product Derivation Engine Selection Engine Nous sélectionnons ici la feature twoinputs. Product Derivation Engine : Voici le modèle résultat (resolved model obtenu après dérivation) 18 18
Base Model Decorator But : ajouter un décorateur graphique (ici pour les Domain Model Elements associés à une feature optionnelle) 19 19
Approche scientifique : Décision Contexte Recherche Qu est-ce que l analyse multicritère? Projet Approche scientifique Objectif de l aide multicritère à la décision: 2 phases: Permettre de rechercher les meilleurs Modélisation (design time) MYRIAD : Phase de structuration: identification compromis entre critères en conflits mutuels Idée de l approche: Construire un «modèle de préférences» contenant L arborescence des métriques, critères et agrégations; Les fonctions permettant de produire une évaluation au niveau de chaque critère et agrégation des métriques; organisation hiérarchique des agrégations, critères et métriques; Elicitation du modèle de préférence au niveau de chaque critère et agrégation par questionnement d un expert Exploitation (runtime) E-MYRIAD : Évaluation des différentes options d architecture (caractérisée par des valeurs suivant les métriques) via le modèle de préférence multicritère; Génération des recommandations sur la comparaison (préférence stricte, indifférence, incomparabilité) entre chaque paire d alternatives 20 20
Dissémination Contexte Recherche Projet Publications Weaving Variability into Domain Metamodels. In ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems (MODELS'09). Denver, Colorado, USA, (Selected as best papers extension sent to Sosym) Generic Model Refactoring. In ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems (MODELS'09). Towards Automated Inconsistency Handling in Design Models. In: CAiSE 10 On the robustness for the Choquet integral. Int. Conf. on Information Processing and Management of Uncertainty in Knowledge-Based Systems (IPMU), Dortmund, june 2010. Incrementalization of Model Inconsistency Detection with Constant Memory Overhead. In Submission to SPLASH 10 Towards model driven architecture frameworks. In submission to Complex Systems Design & Management (CSDM 10) (Thales/INRIA/UPMC) (rejected). Colloques 21 Colloque ANR STIC 2010, Poster Journée MEITO associée à AOSD 2010 Poster System@tic 09, 10 Journée de Palaiseau (Thales 150 personnes) EclipseCon 10 Site Web http://movida.gforge.inria.fr 21
Conclusion Cette présentation a montré un exemple d outil de modélisation de la variabilité intégré à un environnement multi-vues Pour plus d information sur le projet MOVIDA : Site internet de Movida : http://movida.gforge.inria.fr/index.php?n=main.homepage 22 22
Questions? Merci de votre attention. Avez-vous des questions? 23 23