• Aucun résultat trouvé

Métamodèle des composants

6.3 Architecture générale de notre proposition

7.1.1 Métamodèle des composants

7.1.3 Grammaire visuelle : Régles de composition . . . 92 7.1.4 Vocabulaire visuel : Variables visuelles . . . 94 7.1.5 Comportements et interactions . . . 100 7.1.6 Lien entre les composants de diagramme et la syntaxe abstraite . . . 105

7.2 Syntaxe concrète graphique de MID . . . 107 7.3 Mécanisme d’héritage graphique. . . 109 7.4 Synthèse et discussion . . . 112

Dans l’objectif de spécifier un outil de modélisation graphique, il est nécessaire d’expliciter les concepts de base qui en font partie. Comme nous l’avons montré dans le chapitre6, nous utilisons une approche dirigée par les modèles pour décrire les concepts élémentaires des langages visuels et leurs éditeurs graphiques dans un ensemble de métamodèles, décrivant chacun une préoccupation de notre système à modéliser.

En plus des informations structurelles du langage visuel, il est donc nécessaire de compléter ces métamodèles par des informations graphiques et des propriétés compor- tementales des éditeurs générés. Par ailleurs, nous spécifions aussi les liens entre ces informations graphiques/comportementales et la syntaxe abstraite du domaine métier dans un autre métamodèle.

Nous avons séparé nos métamodèle en trois grandes parties distinctes. La première partie est celle de la syntaxe concrète du langage de modélisation. Cette partie se divise elle aussi en deux parties : Une grammaire visuelle et un vocabulaire visuel. La grammaire visuelle sert à décrire la structure d’une notation visuelle via des règles de composition. Les unités élémentaires de construction et de composition d’une notation visuelle, sont inspirés des concepts de la grammaire des graphes et de notre expérience dans le dé- veloppement et la définition des diagrammes. Le vocabulaire visuel est constitué des variables graphiques dédiées à la présentation des notations visuelles (Par exemple, la forme, la couleur, les dimensions, etc.). La grammaire visuelle ne comporte donc aucune information sur la manière dont les notations visuelles vont être présentées. Le voca- bulaire visuel ne spécifie que les informations pertinentes pour le rendu des notations visuelles.

La deuxième partie de notre architecture est celle de l’interface (UI) de l’éditeur de diagramme et les interactions offertes à ses utilisateurs. Cette partie sert à décrire, pour chaque élément du langage visuel, les évènements et interactions pris en charge par l’éditeur.

La troisième partie concerne l’association de la syntaxe concrète à la syntaxe abs- traite du DSML (la source des données). On appelle ce mécanisme le DataBinding ou

DomainBinding. Cette partie est le résultat d’un grand travail de consolidation des re-

tours d’expériences dans Papyrus. Du côté implémentation, cette partie s’inspire du patron de conception Observateur/Observable pour synchroniser les données entre les différentes parties de l’application.

Tout au long de ce chapitre nous décrivons notre proposition selon ses différentes préoccupations et nous nous arrêtons sur les solutions que nous avons choisies pour chaque problématique soulevée dans le chapitre2.

7.1 Métamodèles pour les Interfaces utilisateur et les Diagrammes

(MID)

MID est un ensemble de métamodèles qui permettent la conception des langages visuels et les éditeurs graphiques qui les manipulent à un haut niveau d’abstraction. Basés sur des concepts comme les composants, les interfaces et les concepts de l’ingé- nierie des langages visuels, ces métamodèles couvrent les différentes préoccupations de la syntaxe concrète graphique : la partie du vocabulaire visuel (variables visuelles), la partie structurelle pour définir les règles de composition graphique (grammaire visuelle), la partie comportementale pour la gestion des interactions et l’outillage des éditeurs graphiques sous-jacents à ces langages visuels et la partie de liaison (binding) entre la syntaxe concrète et la syntaxe abstraite.

La partie graphique de notre proposition est composée de deux artefacts : le méta- modèle structurel des représentations graphiques (grammaire visuelle), qui représente les règles de composition des symboles visuels et le métamodèle de style (vocabulaire visuel) qui définit les informations élémentaires pour représenter ces symboles (variables visuelles).

La partie comportementale de notre proposition est aussi constituée de deux mé- tamodèles : le premier décrivant les interactions des éléments de diagrammes dans l’éditeur graphique et le deuxième est celui de l’outillage de l’éditeur à savoir la palette, les menus, vue de propriétés, etc.

La dernière partie de notre proposition est celle du mapping entre la syntaxe concrète graphique (les éléments de diagrammes) et la syntaxe abstraite (métamodèle du do- maine).

7.1.1 Métamodèle des composants

Le métamodèle des composants (figure7.1) est le coeur (core) de notre ensemble de métamodèles. Il sert principalement à définir la notion de composant qui est utilisée

dans les autres métamodèles. Il existe trois types d’interface qu’un composant peut avoir : interfaces de domaine, interfaces de style et les interfaces des événements. Les liens appelés ComponentBinding servent à faire le lien entre les interfaces. Une interface est utilisée comme point de liaison entre un (sous-)composant et la préoccupation corres- pondante (la sémantique, les événements, les styles, etc.) avec un couplage faible. Ainsi, elle aide à améliorer la maintenabilité des composants en externalisant et regroupant leurs descriptions dans un endroit unique. La description des liens entre les interfaces et leurs préoccupations correspondantes sont décrites respectivement dans les figures7.5,

7.13et7.21.

FIGURE7.1 – Métamodèle des Composants

Les composants ont la capacité d’hériter d’autres composants. Ils peuvent ainsi redéfinir la composition, le style et le comportement des composants hérités. Cette fonctionnalité permet la réutilisation des composants ainsi que la création d’autres composants dérivés. La description complète de cette fonctionnalité est présentée dans la section7.3de ce chapitre.

Notre objectif est de spécifier et de composer des diagrammes et leurs éditeurs avec une approche basée sur les caractéristiques des composants. Nous suivons une approche à base de modèles pour la modélisation des composants du diagramme pour résoudre deux problèmes : l’hétérogénéité des composants et leurs techniques de composition.

Documents relatifs