SlideShare une entreprise Scribd logo
1  sur  31
Graphiti
Réalisé par :
Haouzi Ameur Younés
Cherfaoui Mohamed
Introduction
• Graphiti est un cadre ou système ‘Framework’ pour le développement des
éditeurs graphiques basé sur ‘GEF (Graphical Editing Framework)’ et
‘Draw2D’.
• Des exemples typiques sont:
1/Editeurs des diagrammes de classe (en utilisant la notation UML).
2/Editeurs de flux de processus (en utilisant la notation BPMN).
Figure: exemple d’éditeur de digramme de classe
Figure: exemple d’éditeur de flux de processus
Architecture de Graphiti
• Naturellement, la communication entre un utilisateur et un outil basé
« Graphiti » se passe via l'écran ainsi que par souris et le clavier (voir figure) .
• Les utilisateurs interagissent avec un éditeur Graphiti en utilisant le
composant d'interaction ‘Interaction Component’ pour manipuler des objets
et ayant les affichés par le moteur de rendu ‘Rendering Engine’.
• Pour être plus spécifique une ‘composante d'interaction’ recevra les
demandes telles que le redimensionnement, drag-and-drop, ou la
suppression. Le traitement réel de ces demandes qui se passe dans un soi-
disant agent type de diagramme, qui sera discuté dans la section suivante plus
en détail.
Figure: Architecture de base
Agent de type de diagramme
(Diagram type agent)
• Le type diagramme Agent se compose du code de développeur-écrit et est en
charge de la création des éléments du modèle de pictogramme ‘Pictogram
model’ qui fournit une représentation graphique des éléments du modèle de
domaine. Le type diagramme Agent fournit également les moyens de créer de
nouveaux éléments du modèle de domaine ‘Domain model’ graphique et de
lier des éléments de pictogramme à des objets de domaine. Dans ce qui suit,
nous allons jeter un œil de plus près le type de diagramme Agent.
Modèle de domaine (Domain model)
• Le modèle de domaine contient les données qui doivent être visualisés
graphiquement. Un développeur aurait par exemple utiliser le méta modèle
« Ecore »pour un éditeur de « Ecore graphique ». Un éditeur de « BPM »
(Business Process Management) serait utiliser le « Entreprises Process
Modeling Notation ».
Modèle de pictogramme (Pictogram model)
• le modèle de pictogramme fournit une représentation graphique des
éléments du Modèle de domaine ‘Domain model’.
• Exemple:
 La représentation graphique d'un EClass est montré comme un rectangle
arrondi qui contient une ligne horizontale comme séparateur-dessus de
laquelle le nom de la EClass apparaît sous forme de texte. (Voir figure)
Exemple : une représentation graphique fournit par le modèle de pictogramme (rectangle arrondi)
Le modèle de liens (Link model)
• Le modèle de liens ‘Link model’ est responsable de la connexion de données
à partir du modèle de domaine et la représentation graphique (qui est, les
données du modèle pictogramme). Ces connexions sont à nouveau
nécessaires par de nombreuses actions dans l'éditeur graphique. Par exemple,
une suppression ou un mouvement d'un objet graphique doit également
l'accès à l'objet associé du modèle de domaine afin d'être en mesure
d'apporter les changements nécessaires.(Voir figure)
Exemple : le linkage
Les tâches d’agent de type de diagramme
(Diagram type agent)
• Créer un nouvel objet dans le modèle de domaine.
• Créez la visualisation graphique dans le modèle de pictogramme. Par
exemple, créer des graphiques algorithmes comme un rectangle arrondi ou
un élément de texte. Les initialiser avec des couleurs et des polices et faire la
mise en page.
• Créer le lien entre l'objet de modèle de pictogramme et l'objet de modèle de
domaine (Modèle Lien).
Construction d’agent type de diagramme
• La figure ci-dessus montre la structure interne d’agent de type de diagramme. Les
acteurs y sont indiqués doivent être fournies par le développeur. Cela signifie qu'il
doit implémenter une quantité de dites ‘Features’ qui sont similaires aux
‘opérations’. Voici quelques exemples typiques de Graphiti Features:
 Add Features:
Créer la représentation graphique d'éléments de modèle de domaine dans le
modèle de pictogramme.
 Create Features:
Produire de nouveaux objets dans le modèle de domaine ainsi que les
représentations graphiques appropriées. Ici, il est logique de réutiliser existante
Add Features.
 Remove Features:
Supprimer des représentations graphiques dans le modèle de pictogramme.
Delete Features:
Supprimer à la fois, un objet de modèle de domaine et de ses représentations
graphiques, dans le modèle de pictogramme.
La structure de liaison des artefacts
• La figure illustre comment le « Eclass » va ressembler dans l'éditeur (Result). La
partie supérieure de la figure montre comment les éléments du pictogramme
« Add Features », qui sont nécessaires pour la représentation graphique, sont
câblés avec l'objet de domaine.
• Dans la colonne de gauche du modèle de pictogramme une forme de conteneur «
Container shape » regroupe deux formes d'enfants, qui sont responsables de
l'étiquette de texte et la ligne de séparation. Tous les trois formes agrègent des
algorithmes graphiques spécifiques fournissant l'information complète pour
permettre le rendu de la « Eclass » dans l'éditeur. Des exemples de telles
informations sont les positions, couleurs fond et de devant ou un gradient, la
visibilité et la largeur de ligne ainsi que le style de ligne. Dans notre exemple, nous
avons un rectangle arrondi offrant un rayon d'angle supplémentaire, une « Poly
ligne » avoir défini les points finaux et de pliage, et une étiquette de texte
contenant une valeur de texte.
• La forme du récipient et même de la forme contenant l'étiquette de texte sont
liés à un EClass correspondante du modèle de domaine. La relation se réalise à
travers des objets de lien spécial qui contiennent deux extrémités.
Tutorial
Exemple de ‘Filesystem’
Installation de « Graphiti »
• Lancer ‘ECLIPSE’.
• Aller à « Help  Install new softwaresModelingGraphiti SDK Plus ».
 Modélisation de Filesystem
New Graphiti Plug-in Project
• Aller à « FileNewProjectPlugin DevelopmentPlugin-in Project »
et suivez les étapes.
Création d’un « Graphiti Diagram »
• Créer un nouveau projet vide « FileNewGeneralProject ».
• Cliquer a droite a se nouveau projet et puis « NewotherotherGraphiti
Diagram ».
• Après sa suivez les étapes.
Merci a tous

Contenu connexe

Similaire à Graphiti

Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Amira Hakim
 
Développer ses noms de domaine
Développer ses noms de domaineDévelopper ses noms de domaine
Développer ses noms de domaineOnlineStrat.fr
 
03GL-diagramme de cas dutilisation (1).ppsx
03GL-diagramme de cas dutilisation (1).ppsx03GL-diagramme de cas dutilisation (1).ppsx
03GL-diagramme de cas dutilisation (1).ppsxssuser9d2f89
 
04 builder-generation-couche-model
04 builder-generation-couche-model04 builder-generation-couche-model
04 builder-generation-couche-modelMichael Bertocchi
 
Projet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMMProjet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMMAbdelmonem NAAMANE
 
03GL-diagramme de cas dutilisation.pptx
03GL-diagramme de cas dutilisation.pptx03GL-diagramme de cas dutilisation.pptx
03GL-diagramme de cas dutilisation.pptxssuser9d2f89
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFcifaf13039
 
Guru Programming Tools
Guru Programming ToolsGuru Programming Tools
Guru Programming ToolsJonSon10
 
Excel 2021 - Niveau 1.pptx
Excel 2021 - Niveau 1.pptxExcel 2021 - Niveau 1.pptx
Excel 2021 - Niveau 1.pptxLudovic Bianay
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Mohammed JAITI
 
D3 js-last
D3 js-lastD3 js-last
D3 js-lastTECOS
 
La recette graphique
La recette graphiqueLa recette graphique
La recette graphiqueIdean France
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectMïna You
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)Pascal Roques
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...SAAD SARHANI
 

Similaire à Graphiti (20)

Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
 
Vanessa i ref_2014
Vanessa i ref_2014Vanessa i ref_2014
Vanessa i ref_2014
 
Développer ses noms de domaine
Développer ses noms de domaineDévelopper ses noms de domaine
Développer ses noms de domaine
 
03GL-diagramme de cas dutilisation (1).ppsx
03GL-diagramme de cas dutilisation (1).ppsx03GL-diagramme de cas dutilisation (1).ppsx
03GL-diagramme de cas dutilisation (1).ppsx
 
04 builder-generation-couche-model
04 builder-generation-couche-model04 builder-generation-couche-model
04 builder-generation-couche-model
 
Projet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMMProjet fin annee 2011 master min ISAMM
Projet fin annee 2011 master min ISAMM
 
03GL-diagramme de cas dutilisation.pptx
03GL-diagramme de cas dutilisation.pptx03GL-diagramme de cas dutilisation.pptx
03GL-diagramme de cas dutilisation.pptx
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
 
WPF.pptx
WPF.pptxWPF.pptx
WPF.pptx
 
Guru Programming Tools
Guru Programming ToolsGuru Programming Tools
Guru Programming Tools
 
Cours html5
Cours html5Cours html5
Cours html5
 
HTML5 en Entreprise
HTML5 en EntrepriseHTML5 en Entreprise
HTML5 en Entreprise
 
Excel 2021 - Niveau 1.pptx
Excel 2021 - Niveau 1.pptxExcel 2021 - Niveau 1.pptx
Excel 2021 - Niveau 1.pptx
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
 
D3 js-last
D3 js-lastD3 js-last
D3 js-last
 
La recette graphique
La recette graphiqueLa recette graphique
La recette graphique
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architect
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...
 
Patrons de conception
Patrons de conceptionPatrons de conception
Patrons de conception
 

Graphiti

  • 1. Graphiti Réalisé par : Haouzi Ameur Younés Cherfaoui Mohamed
  • 2. Introduction • Graphiti est un cadre ou système ‘Framework’ pour le développement des éditeurs graphiques basé sur ‘GEF (Graphical Editing Framework)’ et ‘Draw2D’. • Des exemples typiques sont: 1/Editeurs des diagrammes de classe (en utilisant la notation UML). 2/Editeurs de flux de processus (en utilisant la notation BPMN).
  • 3. Figure: exemple d’éditeur de digramme de classe
  • 4. Figure: exemple d’éditeur de flux de processus
  • 5. Architecture de Graphiti • Naturellement, la communication entre un utilisateur et un outil basé « Graphiti » se passe via l'écran ainsi que par souris et le clavier (voir figure) . • Les utilisateurs interagissent avec un éditeur Graphiti en utilisant le composant d'interaction ‘Interaction Component’ pour manipuler des objets et ayant les affichés par le moteur de rendu ‘Rendering Engine’. • Pour être plus spécifique une ‘composante d'interaction’ recevra les demandes telles que le redimensionnement, drag-and-drop, ou la suppression. Le traitement réel de ces demandes qui se passe dans un soi- disant agent type de diagramme, qui sera discuté dans la section suivante plus en détail.
  • 7. Agent de type de diagramme (Diagram type agent) • Le type diagramme Agent se compose du code de développeur-écrit et est en charge de la création des éléments du modèle de pictogramme ‘Pictogram model’ qui fournit une représentation graphique des éléments du modèle de domaine. Le type diagramme Agent fournit également les moyens de créer de nouveaux éléments du modèle de domaine ‘Domain model’ graphique et de lier des éléments de pictogramme à des objets de domaine. Dans ce qui suit, nous allons jeter un œil de plus près le type de diagramme Agent.
  • 8. Modèle de domaine (Domain model) • Le modèle de domaine contient les données qui doivent être visualisés graphiquement. Un développeur aurait par exemple utiliser le méta modèle « Ecore »pour un éditeur de « Ecore graphique ». Un éditeur de « BPM » (Business Process Management) serait utiliser le « Entreprises Process Modeling Notation ».
  • 9. Modèle de pictogramme (Pictogram model) • le modèle de pictogramme fournit une représentation graphique des éléments du Modèle de domaine ‘Domain model’. • Exemple:  La représentation graphique d'un EClass est montré comme un rectangle arrondi qui contient une ligne horizontale comme séparateur-dessus de laquelle le nom de la EClass apparaît sous forme de texte. (Voir figure)
  • 10. Exemple : une représentation graphique fournit par le modèle de pictogramme (rectangle arrondi)
  • 11. Le modèle de liens (Link model) • Le modèle de liens ‘Link model’ est responsable de la connexion de données à partir du modèle de domaine et la représentation graphique (qui est, les données du modèle pictogramme). Ces connexions sont à nouveau nécessaires par de nombreuses actions dans l'éditeur graphique. Par exemple, une suppression ou un mouvement d'un objet graphique doit également l'accès à l'objet associé du modèle de domaine afin d'être en mesure d'apporter les changements nécessaires.(Voir figure)
  • 12. Exemple : le linkage
  • 13. Les tâches d’agent de type de diagramme (Diagram type agent) • Créer un nouvel objet dans le modèle de domaine. • Créez la visualisation graphique dans le modèle de pictogramme. Par exemple, créer des graphiques algorithmes comme un rectangle arrondi ou un élément de texte. Les initialiser avec des couleurs et des polices et faire la mise en page. • Créer le lien entre l'objet de modèle de pictogramme et l'objet de modèle de domaine (Modèle Lien).
  • 15. • La figure ci-dessus montre la structure interne d’agent de type de diagramme. Les acteurs y sont indiqués doivent être fournies par le développeur. Cela signifie qu'il doit implémenter une quantité de dites ‘Features’ qui sont similaires aux ‘opérations’. Voici quelques exemples typiques de Graphiti Features:  Add Features: Créer la représentation graphique d'éléments de modèle de domaine dans le modèle de pictogramme.  Create Features: Produire de nouveaux objets dans le modèle de domaine ainsi que les représentations graphiques appropriées. Ici, il est logique de réutiliser existante Add Features.  Remove Features: Supprimer des représentations graphiques dans le modèle de pictogramme.
  • 16. Delete Features: Supprimer à la fois, un objet de modèle de domaine et de ses représentations graphiques, dans le modèle de pictogramme.
  • 17. La structure de liaison des artefacts
  • 18. • La figure illustre comment le « Eclass » va ressembler dans l'éditeur (Result). La partie supérieure de la figure montre comment les éléments du pictogramme « Add Features », qui sont nécessaires pour la représentation graphique, sont câblés avec l'objet de domaine. • Dans la colonne de gauche du modèle de pictogramme une forme de conteneur « Container shape » regroupe deux formes d'enfants, qui sont responsables de l'étiquette de texte et la ligne de séparation. Tous les trois formes agrègent des algorithmes graphiques spécifiques fournissant l'information complète pour permettre le rendu de la « Eclass » dans l'éditeur. Des exemples de telles informations sont les positions, couleurs fond et de devant ou un gradient, la visibilité et la largeur de ligne ainsi que le style de ligne. Dans notre exemple, nous avons un rectangle arrondi offrant un rayon d'angle supplémentaire, une « Poly ligne » avoir défini les points finaux et de pliage, et une étiquette de texte contenant une valeur de texte.
  • 19. • La forme du récipient et même de la forme contenant l'étiquette de texte sont liés à un EClass correspondante du modèle de domaine. La relation se réalise à travers des objets de lien spécial qui contiennent deux extrémités.
  • 21. Installation de « Graphiti » • Lancer ‘ECLIPSE’. • Aller à « Help  Install new softwaresModelingGraphiti SDK Plus ».
  • 22.  Modélisation de Filesystem
  • 23. New Graphiti Plug-in Project • Aller à « FileNewProjectPlugin DevelopmentPlugin-in Project » et suivez les étapes.
  • 24.
  • 25.
  • 26.
  • 27. Création d’un « Graphiti Diagram » • Créer un nouveau projet vide « FileNewGeneralProject ». • Cliquer a droite a se nouveau projet et puis « NewotherotherGraphiti Diagram ». • Après sa suivez les étapes.
  • 28.
  • 29.
  • 30.