La création de points de vue avec Obeo Designer
6 pages
Français

La création de points de vue avec Obeo Designer

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
6 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

La création de points de vue avec Obeo Designer, ou comment
fabriquer des DSM Eclipse sans être un développeur expert ?
Etienne Juliot Jérôme Benois
etienne.juliot @obeo.fr jerome.benois @obeo.fr
OBEO OBEO
http://www.obeo.fr http://www.obeo.fr
Les mondes de l'ingénierie n'est pas en reste etRésumé
propose également des mécanismes d'adaptation à des
contextes métiers à travers deux princ ipauxCet article introduit les concepts de points de vue et
mécanismes : les profils UML qui offrent unillustre leur mise en œuvre avec Obeo Designe r. A
mécanisme d'extension de la norme pour introdui re despartir d'un exemple simple nous allons détaill er la
spécialisations et les “Domain Specific Langua ge”manière de construire des points de vues sur un
(DSL) qui consistent à définir un méta-modèle dédié à“Domain Specific Language”. Vous avez
une problématique donnée.probablement entendu parler “d'Eclipse Graphi cal
Modeling Framework (GMF)” qui permet de
Le choix entre les deux approches a souve nt étéconstruire ses propres modeleurs. Le but de cet ar ticle
guidé par des lacunes des outils de modélisati on. Nousest de vous montrer comment aller encore plus loin et
allons présenter ici un nouvel outil, Obeo D esigner,plus simplement en montrant comment réaliser vos
permettant à travers la réalisation de points de vue, depropres modeleurs GMF sans connaître GMF !
manipuler aussi bien un langage générique qu'un
langage spécifique à différents niveaux d'abstrac tion et
Mots clé ...

Sujets

Informations

Publié par
Nombre de lectures 751
Langue Français

Extrait

La création de points de vue avec Obeo Designer, ou comment fabriquer des DSM Eclipse sans être un développeur expert ?
Etienne Juliot etienne.juliot@obeo.frOBEO http://www.obeo.fr
Jérôme Benois jerome.benois@obeo.fr OBEO http://www.obeo.fr
Les mondes de l'ingénierie n'est pas en reste et Résumé propose également des mécanismes d'adaptation à des contextes métiers à travers deux principaux Cet article introduit les concepts de points de vue et mécanismes : les profils UML qui offrent un illustre leur mise en œuvre avec Obeo Designer. A mécanisme d'extension de la norme pour introduire des partir d'un exemple simple nous allons détailler la spécialisations et les “Domain Specific Language” manière de construire des points de vues sur un (DSL) qui consistent à définir un méta-modèle dédié à “Domain Specific Language”. Vous avez une problématique donnée. probablement entendu parler “d'Eclipse Graphical Modeling Framework (GMF)” qui permet de Le choix entre les deux approches a souvent été construire ses propres modeleurs. Le but de cet article guidé par des lacunes des outils de modélisation. Nous est de vous montrer comment aller encore plus loin et allons présenter ici un nouvel outil, Obeo Designer, plus simplement en montrant comment réaliser vos permettant à travers la réalisation de points de vue, de propres modeleurs GMF sans connaître GMF ! manipuler aussi bien un langage générique qu'un langage spécifique à différents niveaux d'abstraction et Mots clés :MDE, UML, DSL, DSM, Points d'offrir une totale liberté de représentation graphique. de vue, Eclipse, GMF. La possibilité de configurer totalement son environnement de modélisation offre ainsi de nouvelles possibilités de création de modeleurs sur mesure.
1. Introduction
Durant les dix dernières années, nous avons vu apparaître ou évoluer une série de langages de programmation “génériques”. Ces langages se sont vus épaulés de frameworks permettant de spécialiser des comportements mais introduisant une complexité et une verbosité des programmes. Des évolutions majeures récentes se rapportent à l'expressivité des langages afin d'introduire directement dans leur syntaxe des capacités d'expression pour offrir une sémantique métier. Ainsi nous avons vu émerger de nouveaux langages tels que Ruby, Groovy ou encore Scala qui offrent la possibilité d'être redéfinis à travers des “Internal DSL”. Il s'agit de constructions syntaxiques spécifiques permettant de changer le niveau d'abstraction du langage pour le spécialiser à une problématique donnée.
Cet article commence par définir les concepts clé utilisés, puis nous présenterons l'outil Obeo Designer par une vue d'ensemble et son architecture. Nous l'illustrerons ensuite par un cas d'étude.
2. Conceptsfondamentaux
Approche DSM over MOF Models.Nous appelons “Domain Specific Modeler over MOF Models” l'approche consistant à construire des environnements de modélisation à base de points de vue et exploitant des modèles conformes aux standards MOF. Cette approche se décline en deux sous ensembles : “DSM over UML”, utilisés pour créer des diagrammes « maison » stockés via un profil UML ; et “DSM over DSL”, utilisés pour projeter à l'aide de points de vue les informations exprimées par un langage spécifique.
Modèle sémantique.Il s'agit du modèle contenant l'ensemble des données manipulées. Il est conforme au méta-modèle d'un domaine, qui peut être UML ou un DSL.
Points de vue.La notion de points de vue est une abstraction qui permet d'obtenir une spécification d'un système, limitée à un ensemble particulier de problèmes. Elle a été introduite dans la spécification IEEE 1471. Dans notre contexte, nous l'utilisons pour offrir à nos utilisateurs un ensemble de représentations visuelles ciblées sur une préoccupation donnée. Par exemple, un même système visualisable par une vue dédiée aux contraintes de performance, une vue sur les héritages des entités métiers et une vue centrée sur les dépendances de chaque entité. Cette séparation par rôle d'utilisation ou par problématique permet de mieux guider l'utilisateur dans une démarche de modélisation. Il pourra ainsi appréhender facilement la complexité du système modélisé et celle du langage utilisé, par des représentations plus simples et plus précises.
Fig. 1 : Point de vue appliqué sur une sphère re résentantle sème modélisé.
Représentation.Un point de vue propose un ensemble de représentations. Cette notion définit une projection utilisée pour visualiser ou éditer un ensemble de concepts sémantiques. Une représentation peut être présentée sous forme d'un diagramme, d'un tableau ou d'une matrice.
3. Descriptiond'Obeo Designer 3.1. Vued'ensemble Obeo Designer est un atelier adaptif dirigé par les points de vue. Il offre un environnement de paramétrage permettant de configurer des points de vue et leurs différentes représentations. Pour chacune d'elles, il est possible de définir les éléments à afficher ainsi que leurs aspects graphiques, les palettes d'outils, et leurs comportements associés. Les aspects graphiques sont décorrélés des aspects comportementaux.
Cet atelier est caractérisé par sa grande simplicité d'utilisation. En effet, l'apprentissage d'un tel outil ne
nécessite pas un niveau d'expertise avancée et ouvre la voie à des nouveaux usages pour les concepteurs. Obeo Designer utilise un modèle de paramétrage “odesign” avec une approche interprétative pour construire dynamiquement un environnement de modélisation sur mesure. Cette démarche est illustrée par la figure 2.
Fi 2: Vue d'ensemble d'Obeo Desier
Obeo Designer est basé sur le socle technologique Eclipse Modeling dont il tire partie au niveau de ces capacités d'extension et de modularité. Il se base sur les frameworks EMF, GEF et GMF qui mettent à disposition l'ensemble des éléments pour construire des modeleurs. La figure 3 illustre l'architecture générale de l'outil.
Fi 3: Architecture d'Obeo Desier
GMF est un framework très puissant offrant une très bonne ergonomie des modeleurs et une standardisation du format de stockage des informations graphiques. Mais il demeure complexe à appréhender et requiert un niveau d'expertise élevé pour construire des modeleurs de qualité industrielle. Obeo Designer masque cette complexité. En effet, le savoir faire des experts GMF qui ont conçu la solution est exposé à travers les possibilités offertes par le modèle
“odesign”. Ainsi il est possible de définir des- Modélisation de systèmes d'information: nous modeleurs sans même connaître la technologie GMF.utilions Obeo Designer pour modéliser les différentes Le tableau suivant décrit une estimation ducouches des applicatifs d'entreprise (JavaEE, temps nécessaire pour faire un modeleur Relationnel deDotNet, ...). Cela permet de proposer une vision selon qualité industrielle suivant la technologie :les trois axes suivants :  -Métier : entités, persistance, accès aux données,  -Composant : traitements, services, urbanisation, Technologie ChargeProfile demandé  -Présentation : cinématique de navigation, IHM. GEF + EMF90 jDéveloppeur Eclipse et ergonome 4.1. Créationde points de vue GMF Tooling30 jExpert GMF Le cas d'étude de cet article est la construction Obeo Designer5 jConcepteur de deux points de vue basés sur le méta-modèle système d'information. En effet, nous souhaitons 4. Casd'utilisationutiliser les informations décrivant un système d'information selon deux préoccupations. La première Nous utilisons actuellement les principes deest centréesur les problématiques de bases de données points de vue dans trois contextes différents :tandis que la seconde adresse les problématiques s stèmeset réseaux. - Cartographie :l'approche par point de vue est particulièrement intéressante dans le contexte de la cartographie de patrimoine applicatif existant, suite à de la rétro-ingénerie. Ce type d'usage s'applique sur des modèles sémantiques comportant énormément d'informations. Les besoins d'analyse sont tellement variés que l'approche par point de vue offre un gain énorme pour classifier ces différentes informations par niveaux d'abstraction. Fig. 4: Vue d'ensemble de l'étude de cas.
- Modélisation de systèmes embarqués :nous avons expérimenté Obeo Designer pour construire un atelier de modélisation embarqué basé sur MARTE. MARTE est un profil UML qui spécialise UML au domaine des systèmes temps réel et embarqués. Le concepteur utilise ainsi un vocabulaire dédié temps réel, sans besoin de connaître toute la complexité d'UML. La figure ci-dessous présente les trois points de vue réalisés : applicatif, temporel et plate-forme d'exécution.
Modeleur Obeo Desi
er UML / MARTE
Dans notre exemple, un système d'information contient des serveurs. Ces derniers sont caractérisés par un nom, une adresse réseau, un statut indiquant s'ils sont en production, ainsi que leur architecture (64bits ou non). Un serveur peut héberger un moteur de base de données. Ce dernier étant divisé en schémas. Un schéma regroupe un ensemble de tables qui elles-mêmes contiennent des colonnes correspondant éventuellement à des clés primaires ou des clés étrangères.
Le point de vue base de données.Nous nous intéressons à la création d'une représentation sous forme d'un diagramme relationnel. Ce diagramme est utilisé pour décrire la structure d'un schéma de base de données. La figure 5 illustrela création d'un modèle odesign contenant un point de vue base de données et une représentation diagramme relationnel :
Fi 5: Le modèle « .odesi»
Type de représentations
A l'issue de cette étape, nous définissons les aspects graphiques de la représentation “Diagramme relationnel”. Il nous faut alors définir les correspondances entre les éléments sémantiques et leurs aspects graphiques. Il en existe plusieurs : %Les noeuds (Node Mapping) : des figures géométriques avec un libellé :
Fig. 6 : Exemples de noeuds.
%Les conteneurs (Container Node Mapping) : des élémentsdans lesquels peuvent apparaître des noeuds ou autres conteneurs :
Fig. 7. Exemples de conteneurs.
%Les listes : des types particuliers de conteneurs permettant de présenter les éléments noeuds sous forme de liste :
Fig. 8 : Exemple de liste.
%Les connections (Edge Mapping) : des liens
Fig. 9 : Exemples de connections.
Nous nous intéressons maintenant à la création d'unconteneur de type liste pour les tables.
Diagramme graphique des tables relationnelles
Ce conteneur doit contenir une liste de colonnes ainsi que l'illustre la figure 10 :
Fig. 10 : Mapping graphique d'une table.
L'élément “Square Description” indique l'aspect graphique utilisé pour chacun des noeuds colonnes. L'élément “Flat Container Style Description … Color Black” indique l'aspect graphique des conteneurs correspondant aux tables.
La figure 11 illustre le paramétrage d'une connexion entre une colonne et une clé primaire pour représenter visuellement une contrainte de type clé étrangère. L'aspect visuel est défini par le “Edge Style Description”. Il est à noter que cet élément comporte un ensemble de propriétés permettant de définir le type de trait, ainsi que la forme des extrémités de la connexion. Fi .11 : Main desconnections clés étrangères.
Rien qu'avec ce simple paramétrage, le résultat obtenu est un nouveau type de diagramme “Diagramme Relationnel” accessible dans l'environnement de modélisation lorsque que le point de vue “Base de données” est sélectionné.
Fig. 12 : Modeleur de Diagramme relationnel
Palette d'outils
En l'état, cette représentation permet uniquement de visualiser les éléments sémantiques de notre système d'information. Nous devons lui ajouter des outils de créations de tables, de colonnes, clés primaires et
autres pour avoir un modeleur de diagrammeLes deux premières choses qui frappent sont relationnel fonctionnel. Ces outils ainsi que les actionsl'intégration totale à Eclipse (évitant ainsi de jongler déclenchées sont également «modélisés ».La figureavec des multiples outils non intégrés) et le caractère 13. illustre le paramétrage des outils de création de« joli »des modeleurs résultants. Ce dernier critère tables, colonnes, et clés étrangères :peut sembler amusant, mais nos retours montrent qu'il est un des facteurs principaux d'acceptation des demarches de modélisation. Pour assurer une productivité au quotidien, l'environnement de modélisation propose : - un navigateur de modèles et de points de vue - une vue “Outline” centrée sur le container courant - une vue "Propriétés" paramétrable - des fonctionnalités graphiques de zoom, routage, positionnement automatique, exports, … - les notions de filtres (pour masquer / afficher des éléments suivant des critères paramétrables) - des calques permettant différents niveaux d'analyse (tels qu'on les trouve dans des outils de dessin comme Fig. 13 : Outils de créations de tables, colonnes,... Photoshop) L'élément “Conteneur Creation Description Table”D'autres points de vue sur les éléments sémantiques offre un ensemble d'instructions et un jeu depeuvent maintenant être créés. commandes permettant de manipuler les modèles sémantiques et graphiques pour créer un conteneur deLe point de vue systèmes et réseaux.A partir des type table.L'usage d'un modèle de paramétragemêmes informations sémantiques, nous avons créé un simplifie de nombreuses tâches autrefois réservées àpoint de vue dédié aux problématiques systèmes et des experts (application automatique de stéréotypes,réseaux. Nous allons ajouter dans le modèle “odesign” découpages de modèles, sauvegarde d'un élémentune représentation de type tabulaire nommée graphique dansn“Nomenclature Serveurs”.éléments sémantiques, …). Requêtage Le besoin de naviguer dans le modèle est très présent dans ce type d'algorithme. En réponse, l'utilisation des langages OCL ou Acceleo pour naviguer dans les Fig. 15 : Le modèle « .odesign » modèles sémantiques et graphiques est proposé. Représentation tabulaire Intégration Eclipse Le but de cette représentation sera de lister les Le résultat final obtenu est illustré par la figure 14. serveurs du système d'information, leurs statuts et de calculer le nombre de bases de données qu'ils hébergent. Unereprésentation tabulaire est composée de lignes et de colonnes, et permet une saisie de masse ou une analyse de type « Excel». Il est nécessaire de définir alors comment les alimenter à partir des éléments sémantiques à l'aide des concepts suivants :
Fig. 14 : Modeleur de diagramme relationnel
%Les correspondances de lignes (Line Mapping) : permettent de spécifier l'élément sémantique concerné %Les correspondances de colonnes (Feature Column Mapping) : permettent de spécifier une propriété de l'élément sémantique. Le contenu d'une colonne peut également être le
résultat d'une requête Acceleo ou OCL pour 5. UMLvs DSL ou UML et DSL ? des traitements plus évolués. Qui a déjà essayé de créer des requêtes La figure 16 illustre que la couleur d'arrière-plan de la complexes sur une base de données relationnelles via ligne de chaque élément « Server» est conditionnée à un modèle orienté objet comprendra qu'un langage la contrainte “<%dataBases.nSize>2%>” exprimée dédié tel que SQL est certainement plus adapté. dans lasyntaxe Acceleo. Pourquoi en serait-il différemment dans les langages de modélisation ? Pourquoi stocker des informations concernant des écrans, widgets, ... dans des classes ou méthodes stéréotypées ? Notre recommandation est donc simple : utilisez UML pour ce qu'il a été prévu. Si votre Fig. 16 : Exemple de Line Mapping.sémantique s'en éloigne fortement, évitez la profusion des stéréotypes et privilégiez un DSL. Ainsi, les DSL De la même façon qu'il est possible de modéliser desne s'opposent pas à UML et se complètent comportements sur la palette d'outils des diagrammes,parfaitement. le paramétrage des tableaux permet la définitionGrâce à l'usage de points de vue, il est de plus d'actions sur le clic droit sur les cellules.très facile de retrouver les représentations recommandées par UML (séquences, états/transitions, composants, ...)pour des DSL, ou même des modèles mixant DSL / UML. Enfin, il devient également possible de retrouver la liberté de vocabulaire des DSL et une représentation graphique aussi simple que PowerPoint, tout en stockant les informations sémantiques dans un modèle UML. 6. Conclusion Fig. 17 : Tableur de Nomenclature Serveurs Cet article s'est intéressé à la mise en oeuvre Le résultat final obtenu est illustré ci-dessus de points de vue à l'aide d'Obeo Designer. Face à par la figure 17. Un nouveau type de représentation l'abondance des concepts et des notations que peut “Nomenclature Serveurs” est ainsi accessible au sein proposer un langage de modélisation, ce dossier avait de l'environnement de modélisation d'Obeo Designer. pour objectif d'initier à l'utilisation de l'approche par L'éditeur propose un tableur permettant d'éditer les points de vue. L'idée de cette approche est de séparer propriétés de l'ensemble des serveurs du système les préoccupations par domaine et d'augmenter ainsi le d'information. niveau d'expressivité. L'intérêt d'une telle solution réside en sa simplicité de prise en main afin de rendre Nous pourrions compléter ce point de vue en ajoutant accessible à tous, la mise en œuvre de DSM. des représentations sous forme de diagrammes pour modéliser par exemple la topologie réseaux. Nous 7. Référenceset liens avons d'ailleurs constaté que les utilisateurs de points de vue ont rapidement tendance à créer 1, puis 5, puis [1] InternalDSL : 10 vues personnalisées d'un même système pour http://martinfowler.com/dslwip/InternalOverview.html faciliter son analyse et sa conception. [2] [ACCELEO]Acceleo, projet Eclipse. http://www.eclipse.org/modeling/m2t/?project=acceleo Dans ce cas d'étude nous avons mis en œuvre deux points de vues à l'usage de deux populations 8. Glossaire différentes : les concepteurs de base de données et les administrateurs systèmes et réseaux. Ils peuvent ainsi MOF : Meta Object Facility s'exprimer dans un langage qui leur est propre tout en OCL : Object Constraint Language partageant le même espace sémantique.MARTE :Modeling and Analysis of Real-Time and Embedded systems UML : Unified Modeling Language
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents