IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Modeling Discussion :

Tutoriel : créer un éditeur de diagramme facilement avec Sirius


Sujet :

Eclipse Modeling

  1. #1
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2011
    Messages : 749
    Points : 5 376
    Points
    5 376
    Par défaut Tutoriel : créer un éditeur de diagramme facilement avec Sirius
    Bonjour,

    Vous avez toujours pensé que créer des éditeurs de type diagramme dans Eclipse était trop long ? Trop compliqué ?
    Alors le projet Sirius est fait pour vous !
    Avec la prochaine version d'Eclipse, Luna, le projet Sirius sera déployé dans le "simultaneous release train" dans sa version 1.0 et met la création d'éditeurs (diagrammes, arbres, tableaux) basés sur les modèles EMF à la portée de tous.
    Dans ce tutoriel découvrez, avec un exemple simple, les mécanismes de la technologie Sirius et créez en quelques clics et sans aucune ligne de code, un éditeur complet et fonctionnel pour un modèle EMF.

    http://alain-bernard.developpez.com/.../sirius-intro/

    Bonne lecture,
    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    mai 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Facilement ?
    Bonjour,

    J'apprécie beaucoup l'enthousiasme dont vous faite preuve en présentant ce framework mais je pense que le mot "facilement" est peut-être de trop. Je trouve que l'ensemble des outils proposés par la fondation Eclipse est réellement extraordinaire, mais dès que l'on rentre plus en avant vers la partie RCP à laquelle vous faite référence, on fait rapidement face à une courbe d'apprentissage vraiment très pentue, ne serait-ce que pour comprendre le vocabulaire utilisé.

    Par ailleurs merci pour cet article et continuez le bon travail !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    septembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : septembre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par louismarie Voir le message
    Bonjour,

    J'apprécie beaucoup l'enthousiasme dont vous faite preuve en présentant ce framework mais je pense que le mot "facilement" est peut-être de trop. Je trouve que l'ensemble des outils proposés par la fondation Eclipse est réellement extraordinaire, mais dès que l'on rentre plus en avant vers la partie RCP à laquelle vous faite référence, on fait rapidement face à une courbe d'apprentissage vraiment très pentue, ne serait-ce que pour comprendre le vocabulaire utilisé.

    Par ailleurs merci pour cet article et continuez le bon travail !
    Bonjour,

    Je suis assez d'accord avec Louismarie, il n'est pas du tout évident de pénétrer ce monde où les projets se référencent mutuellement.
    Souvent en essayant d'avoir une réponse, on repart avec 2 questions

    Miguel

  4. #4
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : décembre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    D'abord je voudrais vour remercier pour ce tutoriel qui m'a permis de débuter avec Sirius.

    J'ai pu tout faire, mais j'ai dû un peu modifier et interpréter le texte. je vous en livre le résultat :

    - page 11 j'ai mis dans l'"Model File Extention" "odesign", comme indiqué. Cela ne marche pas
    ( Le ViewPoint Selection est vide). J'ai obtenu un fonctionnement correct en mettant le nom de l'extension du fichier contenant le modèle que l'on
    veut afficher ( donc airports. Dans mon cas pour éviter qu'airports n'apparaissent en tant qu'extension du modèle
    et comme extrémité d'une association j'ai choisis une autre extension du fichier contenant le modèle ( "airlines").

    - page 20 une partie du texte n'est manifestement pas à sa place ( Il doit y eu avoir un copier coller malheureux).

    j'ai mis dans le document joint ce qui de mon point de vue mériterais retouche.

    Le fonctionnement est conforme a deux exception près :
    - Je n'ai pas eu besoin de programmer l'outil de destruction des noeuds car j'avais l'accès à cette destruction.
    - Programmant la destruction des liens, les liens sont effectivement détruit mais la "Gate" est également détruite.


    Encore merci.
    Images attachées Images attachées

  5. #5
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2011
    Messages : 749
    Points : 5 376
    Points
    5 376
    Par défaut
    Bonjour,

    Merci pour ces retours. Effectivement il y a bien ces 2 coquilles dans l'article. Je les garde précieusement et corrigerais l'article.
    Concernant les remarques sur la courbe d'apprentissage dans Eclipse, je suis d'accord elle est élevée, mais je pense que tout framework a une courbe d'apprentissage qui lui est propre. Certes celle d'Eclipse peut rebuter: les projets sont très divers mais ça fait partie de la puissance du framework.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  6. #6
    Membre à l'essai
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Création des noeuds de type Gate ?
    Merci pour ce tutoriel, bien plus complet que celui proposé sur le site web officiel d'Eclipse.

    Je n'arrive pas à créer des noeuds de type Gate. Pourriez-vous détailler un peu la dernière phrase de chapitre V-A-1 :

    "De la même manière, vous pouvez définir l'élément de création des objets « Gate » au sein de la palette."

    Il y a sans doute une différence avec la création des objets "Airport"', mais je ne la trouve pas moi-même

  7. #7
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2011
    Messages : 749
    Points : 5 376
    Points
    5 376
    Par défaut
    Bonjour et merci,

    Pour créer les éléments Gate, le cheminement est le même ; la principale différence avec la création des Airports, c'est l'opération "Create Instance". Dans le champ "Reference name", il faut mettre "gates" qui est le nom de la référence d'un Airport vers ses éléments fils "Gate", puis dans le champ "Type name", indiquer airports.Gate qui est la classe que l'on va créer. Ensuite, on peut ajouter une opération "Set value" pour affecter une valeur par défaut au numéro de porte.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  8. #8
    Membre à l'essai
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Création des noeuds de type Gate (fin)
    Merci, Alain, pour vos instructions précises. Bien que les ayant suivies scrupuleusement, je n'arrivais toujours pas à créer des noeuds de type Gate. Mon problème était ailleurs : dans l'opération SetValue, j'avais indiqué directement le numéro de porte 0 par défaut, pensant que les crochets étaient réservés aux variables. Il n'en est rien, en comparant mon fichier odesign avec le votre, j'ai vu que la syntaxe correcte était ['0'/]. Encore la preuve que le diable est dans les détails ! Entre temps, le 24/10/2014, la version 2.0.0 de Sirius est sortie : je n'ai plus qu'à refaire cet excellent tutoriel avec la nouvelle version

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Instanciation du méta-modèle
    Bonjour,

    dans la partie III-B, vous instanciez le méta-modèle et ajoutez des éléments (Airports Roissy,...).
    J'ai 2 questions:
    - comment créez-vous ces éléments? Edition du XML du modèle (example.airports) et ajout des entrées à la main?
    <airports name="Schiphol" country="Pays-Bas" city="Paris">
    <gates number="12" destination="//@airports.2/@gates.1" origin="//@airports.1/@gates.0"/>
    </airports>
    - Pourquoi créer ces éléments autrement que par l'outillage Sirius, ce qui est ensuite fait dans la section V-A-1?

    Cordialement.
    Laurent.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Création des éléments d'exemple
    A partir de l'élément racine World Map dans la fenêtre example.airports, il suffit de cliquer sur le bouton droit et de choisir New Child pour créer un Airport.
    Puis à partir de cet Airport, après l'avoir renommé, choisir New Child pour créer un Gate (ou New Sibling pour créer un autre Airport).
    Pas besoin d'éditer le fichier XML

  11. #11
    Membre à l'essai
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Sirius et Eclipse Modeling Tools
    Citation Envoyé par tbiard Voir le message
    le 24/10/2014, la version 2.0.0 de Sirius est sortie : je n'ai plus qu'à refaire cet excellent tutoriel avec la nouvelle version
    Attention, la dernière version 4.4.1 Luna d'Eclipse Modeling Tools est livrée en standard avec Sirius version 1.0.1, ce qui (pour l'instant ; correction en cours) empêche l'installation de Sirius version 2.0.0.
    Pour installer Sirius version 2.0.0, il faut mieux utiliser la version précédente 4.3 Kepler d'Eclipse Modeling Tools. L'autre avantage est de rester aligné avec ce tutoriel

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par tbiard Voir le message
    A partir de l'élément racine World Map dans la fenêtre example.airports, il suffit de cliquer sur le bouton droit et de choisir New Child pour créer un Airport.
    Puis à partir de cet Airport, après l'avoir renommé, choisir New Child pour créer un Gate (ou New Sibling pour créer un autre Airport).
    Pas besoin d'éditer le fichier XML
    Merci tbiard pour la réponse. C'est effectivement simple.

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut "Exemple d'instance"
    Bonjour,

    (excusez-moi pour mon francais en avance, je suis Flamand et ce n'est pas le mieux)

    J'ai essayé de faire t'example d'instance, mais ce n'était pas possible d'ajouter des portes au-dessous les aéroports. Comment peux-je faire ça? Je n'ai pas l'option d'ajouter un enfant, seulement des siblings.


    J'èspere que vous pouvez m'aider.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Un Airport est composé de plusieurs Gates
    Bonjour SonnyS,

    Je pense que votre problème se situe en amont, au niveau du modèle Ecore. Un Airport doit être composé de plusieurs Gates.

  15. #15
    Candidat au Club
    Homme Profil pro
    Inscrit en
    février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : février 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai suivi le tutoriel mais quand j'arrive à la section Visualisation en temps réel quand je lance la visualisation (clic droit sur le projet qui contient le modèle et sélectionnez « Viewpoints Selection ».) j'obtiens une fenêtre dans laquelle le Viewpoint et comme un projet. comme indiquer sur la figure et non pas comme sur le tutoriel . et donc je peux pas visualiser les diagrammes. quelqu'un peut m'aider s'il vous plaît ?
    Merci

    Nom : viewpoint.png
Affichages : 1158
Taille : 197,2 Ko

  16. #16
    Membre à l'essai
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 11
    Points : 16
    Points
    16
    Par défaut Viewpoints Selection
    Désolé pour le délai de réponse, mais ma configuration Sirius n’avait pas résisté à la mise à jour de Windows 10.
    J’ai désormais la dernière version 4.5 (Mars) d’Eclipse Modeling Tools, avec la version 3.0 de Sirius, qui fonctionne correctement.
    Par contre, le deuxième chapitre sur la création du modèle EMF de ce tutoriel, qui concerne la version 4.3 (Kepler) et la version 1.0 de Sirius,
    ne correspond plus bien avec cette nouvelle version (mais on s’en sort).

    Pour répondre précisément à la question, depuis la version 2.0 de Sirius, la Viewpoints Selection affiche l’ID du Viewpoint à la place de son Label.
    Et, effectivement, le petite icône juste devant apparait comme un mélange de dossier et de Viewpoint…
    Ce n’est pas très grave ; c’est bien cet unique Viewpoint qu’il faut sélectionner en cochant la case à gauche.
    Ensuite, il n’y a pas de changement par rapport au tutoriel : New Representation / new Airports Diagram.

    N.B. Cette petite régression est déjà signalée dans le Bug Tracker de Sirius : https://bugs.eclipse.org/bugs/show_bug.cgi?id=464254

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2014
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Listes dans l'éditeur ECore (Scope des noms d'éléments)
    Bonjour,

    J'ai fait un essai de génération de meta-modèle Ecore sur la base de l'exemple Airports. Lors de la création d'un modèle à partir de l'éditeur généré (via genmodel), je rencontre un problème de distinction d'éléments dans les listes proposées par l'éditeur: pour illustrer mon problème à partir de l'exemple Airport, imaginons que je crée 2 airports avec chacun 1 Gate portant le même nom/numéro (j'ai un cas similaire avec une relation conteneur/contenu où j'ai 2 conteneurs avec des noms différents mais des contenus de même nom). Si j'ai un 3eme élément de modèle qui souhaite référencer une Gate, l'éditeur me propose une liste de 2 éléments qui ont exactement le même nom et je ne sais pas les distinguer Gate0 et Gate0. Est-ce qu'il est possible de configurer l'éditeur pour que la liste propose un nom complet : Airport1::Gate0 & Airport2::Gate0 plutôt que le nom déscopé?

    Cordialement.
    Laurent

  18. #18
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2011
    Messages : 749
    Points : 5 376
    Points
    5 376
    Par défaut
    Bonsoir,

    Pour l'éditeur généré par le genmodel, il faut se rendre dans le plugin .edit afin de modifier les classes XXXItemProvider, par exemple GateItemProvider. Dans la méthode getText on peut surcharger le comportement généré par défaut pour avoir quelque chose de plus intelligent.

    Notez que ce mécanisme sera ignoré par Sirius qui propose de définir une expression de calcul du label directement dans les pages de propriétés lorsqu'on édite le .odesign.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  19. #19
    Candidat au Club
    Homme Profil pro
    Inscrit en
    novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Je me pose la question suivante : peut-on à partir du modèle que l'on vient de créer (et de son métamodèle .ecore) procéder à de la génération de code avec xpand par exemple ?
    Il me semble que pour xpand le modèle doit être en xmi , comment peut-on l'obtenir dans à partir de notre modèle .airports dans le cadre du tutoriel ?
    (si je peux me permettre de donner mon avis, sirius est un projet très intéressant avec lequel on arrive aisément à un résultat convenable ce qui est à mon sens très rare en MDE)

    Cordialement Adrien

  20. #20
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : décembre 2011
    Messages : 749
    Points : 5 376
    Points
    5 376
    Par défaut
    Bonsoir,

    Toutes ces technos reposent sur le modèle ecore de ton projet donc oui aucun souci pour faire du Xpand à partir d'un modèle édité au préalable dans Sirius. Sirius persiste les données de ton modèle dans le fichier, par exemple toto.airports.
    Tu peux ouvrir ce .airports avec un éditeur texte et tu verras dedans que c'est du XMI EMF tout ce qu'il y a de plus standard.

    Au passage, utiliser XTend ne serait-il pas mieux que Xpand? Il me semble que c'est son successeur et plus à jour.

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/09/2014, 17h51
  2. Réponses: 9
    Dernier message: 01/12/2010, 11h17
  3. [Lazarus] Tutoriel : Créer un état simple avec LazReport
    Par Alcatîz dans le forum Lazarus
    Réponses: 3
    Dernier message: 31/08/2010, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo