• Aucun résultat trouvé

6 Mise en ÷uvre de l'approche etapplication à un cas d'étude

6.2.1 L’environnement Eclipse

Eclipse est une plate-forme qui offre un environnement de développement intégré qui fournit un environnement modulaire pour permettre de réaliser facilement des développe-ments informatiques [Eclipse]. Le développement de nouvelles fonctionnalités se fait grâce à la notion de modules supplémentaires appelés plug-ins. Ce concept permet de fournir un mécanisme pour l’extension de la plate-forme et offre ainsi la possibilité à des tiers de déve-lopper des fonctionnalités qui ne sont pas fournies en standard par Eclipse. Eclipse utilise intensément les plug-ins dans son architecture puisqu’en dehors du « Runtime », tout le

reste est développé sous la forme de plug-ins (Figure6.1).

Le développement de la plate-forme Eclipse est supervisé par le consortium d’Eclipse Eclipse.org composé d’une quarantaine de membres dont IBM, Borland, Oracle, SAP, Tele-logic et l’OMG.

Figure 6.1 — Architecture générale de la plate-forme Eclipse [Griffin,2004]

La Figure 1 illustre l’architecture générale d’Eclipse. La plate-forme définit un ensemble de frameworks et de services communs pour assurer une interopérabilité des outils ajou-tés. C’est l’équivalent d’un noyau pour un système d’exploitation. Le workbench comprend un système de gestion concurrente de ressources distribuées (Versioning and Configuration Management), une gestion de projets, une gestion des versions, une infrastructure de dé-bogage indépendante des langages de développement, un framework d’extension des fonc-tionnalités, une bibliothèque graphique portable (StandardWidgetToolkit, SWT). Le works-pace comprend un esworks-pace de stockage des ressources manipulées (.java,.class,.xml,etc.),un framework pour une interface graphique portable (JFace),un système générique d’aide, de recherche, de comparaison et de mise à jour des plates-formes, des parseurs, le support de scripts, etc.

Après avoir présenté brièvement Eclipse et son architecture de base, nous allons voir dans les sections qui suivent comment cette plate forme peut être utilisée pour réaliser des opérations de gestion de modèles comme l’édition ou la transformation.

6.2.1.1 La transformation de modèles dans Eclipse

La plate-forme Eclipse étant implémentée en Java, elle possède par défaut les outils de développement Java. En général,les différentes opérations de transformation d’un artefact logiciel sont gérées par ces outils. Les modèles de conception sont transformés en premier lieu en code source, puis les fichiers de code source sont transformés en fichiers binaires qui sont transformés à leur tour en modules installables. À chaque étape de ce processus

de transformation, les outils fournissent les moyens de visualisation et de manipulation des artefacts utilisés.

Grâce au mécanisme d’extension d’Eclipse, les transformations peuvent être identifiées comme des composants indépendants et réutilisables [Griffin,2004].Ceci est possible en in-cluant un point d’extension pour définir les transformations, ainsi qu’une interface logicielle pour permettre l’invocation et l’interrogation des transformations disponibles. Avec ces ex-tensions, la plate-forme Eclipse peut être dotée de nouvelles transformations qui pourront être utilisées directement par des utilisateurs ou par programmation dans des outils. Ce mécanisme sera utilisé afin de gérer les transformations proposées dans notre approche.

Nous avons présenté dans les sections précédentes les fonctionnalités de base liées à la manipulation de modèles dans la plate-forme Eclipse. Nous allons voir dans la suite com-ment ces fonctionnalités peuvent être étendues et utilisées afin de créer un environnecom-ment générique d’intégration des patrons. Dans cette perspective, nous commençons par présen-ter la plate-forme UML2. En effet, et comme présenté dans la partie 2, nous allons illustrer l’approche à travers des modèles de composant UML 2.0.

6.2.1.2 La plate-forme UML2

Pour modéliser l’application à base de composants à sécuriser, nous avons utilisé le plug-in UML2 d’Eclipse. Cette implémentation est basée sur le méta-méta-modèle EMOF. Ce der-nier est un langage de méta-modélisation qui fait partie d’EMF (Eclipse Modeling Frame-work), résultat des efforts du projet Eclipse (Eclipse Tools Project). Ecore ressemble dans sa structure à un diagramme de classe UML. Il est basé sur des classes, des attributs, des as-sociations pour lier les classes, des généralisations / spécialisations entre classes, etc. Ecore permet la réalisation de méta-modèles pour la transformation de modèles. Cette plate-forme utilise le Framework EMF pour accéder à l’implémentation du méta-modèle standard UML 2.0, et permet de créer des modèles à composants UML correspondant à ce méta-modèle ainsi que des profils UML correspondant à ce même méta-modèle.

Cette plate-forme est un environnement Eclipse pour la gestion de modèles UML qui fait partie du projet Eclipse MDT pour Model Development Tools. Cette plate-forme permet, moyennant une palette graphique qui comporte la plupart des symboles de composants, de concevoir des applications conformes au méta-modèle UML 2.0. La figure 2(a)présente un aperçu de cette palette.

Pour le concepteur, la représentation du modèle à composants est donc réalisée à l’aide de cette plateforme. Pour la suite du processus d’intégration, cette phase de modélisation doit impérativement respecter le méta-modèle UML 2.0 (défini dans le premier chapitre).

La plate-forme UML2 permet de générer une définition UML à partir de l’application conçue graphiquement. La figure 2(b) illustre un exemple d’arborescence UML à partir d’un modèle graphique. Cet exemple porte sur la modélisation d’une application à base de posants pour la gestion des dossiers médicaux. Dans cette représentation, différents com-posants (médecin, infirmière, etc.) sont inter-connectés entre eux via des connecteurs reliant leurs ports respectifs.

(a) Palette du plug-in UML2 (b) Représentation arborescente d’un diagramme de composants

processus qui consiste à faire des transformations de modèle afin d’intégrer les patrons de sécurité.