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 Platform Discussion :

GMF & Co. (modèle sour EMF)


Sujet :

Eclipse Platform

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut GMF & Co. (modèle sour EMF)
    Bonjour !

    Je travaille sur un projet de développement d'une couche graphique à partir d'un modèle sous EMF, avec d'ailleurs ce bon vieux triton4. :o)


    Je lutte (enfin nous luttons) pour arriver à bien comprendre comment fonctionne GMF.

    On est passés par la phase de découverte d'EMF et de ses modèles puis de GEF. Je n'ai pas la prétention d'écrire qu'on a parfaitement tout compris mais a priori les grandes lignes (c'était tout nouveau pour nous et franchement ce n'est pas d'la tarte !).


    Maintenant au tour de GMF qui devrait nous fournir les outils pour notre couche graphique : l'idée est de rendre modifiable graphiquement des éléments issus du modèle de base.

    Au gré des différents tutoriaux (pas toujours forcément très clairs même si très utiles), je lutte pour comprendre comment choisir le top-level container lors du mapping à partir du Dashboard.

    Je crois comprendre que notre modèle de base contient un max d'informations que GMF couple au Graphical Def Model qui lui interprète, Tooling Def Model étant là pour fournir les outils de modification graphique.

    Ma question est donc comment bien choisir le top-level container. Si par hasard vous vous y connaissez sur le sujet je pense que j'aurai d'autres questions à poser. Toute doc supplémentaire est la bienvenue, trucs et astuces bref tout ce qui pourrait vous passer sous la main. :o)

    Si nous arrivons à quelque chose de concret et d'efficace il se pourrait qu'on édite une doc, parce que là c'est un peu la lutte.

    En vous remerciant par avance !

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Salut,


    J’ai travaillé pendant 6 semaines sur GMF dans le cadre de mon stage, et effectivement ce n'est pas de la tarte. Je te conseille de faire le tutorial (les 4 pages) en étant sûr que tu aies compris et que tu saches refaire sans même regarder, et que tout te paraisse logique.Sinon tu ne va pas t’en sortir quand il s’agira de comprendre pourquoi machin truc ne marche pas, etc.

    Ensuite le newsgroup est très utile et actif, n’hésites pas à y poser plein de questions !
    http://www.eclipse.org/newsgroups/index_project.php

    Honnêtement je ne comprends pas vraiment ta question, essaies peut être de la reformuler. Je te déconseille cependant d’utiliser le dashboard car cela va te cacher quelques étapes essentielles, et si tu souhaites faire un éditeur 100% personnalisé, il va falloir faire ton mapping model toi-même. ( et tous les autres d’ailleurs ).

    Je suppose que tu as compris que le mapping model ne s’effectue qu’après avoir faire le tooling, le graphique, et le métamodèle. Utilise l’exemple mindmap et modifie le a ta guise afin d’etre sur d’avoir bien compris.

    J’ai fais une grosse doc sur GMF et « mon » éditeur graphique mais je ne suis pas sûr que je puisse la redistribuer, je te dirais cela d’ici une semaine certainement.

    Bonne chance. Tu peux toujours essayer de me poser des questions jessairais dy repondre. Sache aussi que sur ce forum il y a un français de l'equipe GMF, fais une recherche...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Wahou merci beaucoup déjà ! :o)

    Ok pour ne pas utiliser le dashboard je note je vais recommencer les principaux tutoriaux pour les maitriser les yeux fermés. Je comprends mais sans doute (beaucoup) trop "à peu près".

    Ma question vient sans doute cet "à peu près" mais en même temps c'est un peu la lutte. Merci pour le lien je vais aller zieuter là-bas aussi.

    J'avoue que la doc dont tu parles m'intéresse énormément mais bon si ce n'est pas possible je ferai fleurir les questions ici... :o)

    J'ai bien recherché sur GMF mais n'ai pas trouvé la personne dont tu parles j'y retourne !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Ok en fait j'avais bien vu la personne dont tu parles ici : http://www.developpez.net/forums/sho....php?t=224618&

    J'avais déjà lu ce message et ça me rappelle que ce n'est pas très encourageant au vu de ce qu'on en dit.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai posté sur le newsgroup mais sait-on jamais le remettre ici peut être intéressant :

    Hello,

    I am working with GMF in a project and I try to do the different tutorials.

    In the first of them (http://wiki.eclipse.org/index.php/GMF_Tutorial) I believe that I respect all the steps but I do not understand why I have one error at the end when I did everything (just when I launch my application) : org.eclipse.core.variables "Reference to undefined variable target.os".

    I searched the Core Variables in my plugins and found :
    3.1.100.v20060605

    Futhermore I use :
    Eclipse 3.2.2
    EMF SDK 2.2.4
    GEF SDK 3.4.0
    GMF Callisto 1.0.3

    I am sorry if it is a stupid question but I really have to understand how works GMF.

    Thank you very much for your help.
    En fait j'ai une erreur lorsque je veux lancer mon application Mindmap Diagram avec ce target.os de malheur que je n'arrive pas à identifier ni mettre à jour. :o(

    Si jamais vous avez une idée je suis preneur ! Merci d'avance.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Erreur qui a l'air d'avoir rapport avec GMF lui même ?

    java.lang.NullPointerException
    at org.eclipse.gmf.internal.bridge.genmodel.InnerClassViewmapProducer.create(InnerClassViewmapProducer.java:80)
    at org.eclipse.gmf.internal.bridge.genmodel.DiagramGenModelTransformer.process(DiagramGenModelTransformer.java:444)
    at org.eclipse.gmf.internal.bridge.genmodel.MappingTransformer.transform(MappingTransformer.java:35)
    at org.eclipse.gmf.internal.codegen.popup.actions.TransformToGenModel$1.transform(TransformToGenModel.java:189)
    at org.eclipse.gmf.internal.codegen.popup.actions.TransformToGenModel$1.run(TransformToGenModel.java:159)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

    Je ne comprends pas pourquoi j'ai cette erreur qui revient alors que ça touche à des fichiers internes à GMF (si je comprends bien). Pouvez-vous m'aider s'il vous plait ?

    Ca ne pointe pas bien du coup la mémoire est dépassée d'après ce que j'ai trouvé mais je ne comprends pas comment je peux faire pointer alors que je n'ai touché qu'à GMF et que donc je n'ai pas touché au code directement !

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Erreur qui commence à me rendre fou :

    "Reference to undefined variable target.os"


    J'ai cherché dans tous mes fichiers ce target.os, il est introuvable, j'ai mis à jour tout ce que j'ai pu mettre à jour ça ne change rien.

    J'ai l'impression que c'est un tout petit truc de rien du tout mais pas moyen de mettre la main dessus...

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Pas moyen de trouver cette erreur, toujours la même :

    Reference to undefined variable target.os

    An exception stack trace is not available.



  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut, bon moi j'ai fini par réussi à faire fonctionner le biniou...
    Voilà ma méthode :
    - Je commence par créer un projet EMF vide
    - Nouveau.../Other.../Ecore diagram
    - Tu fais ton modèle de donnée en graphique : Ne pas oublier de créer un objet racine qui contiendra toutes les références aux objets qu'ils seront créés par ton applications..
    - Il te crée une représentation en même temps sous la forme d'eCore...
    - Tu crées un EMF model et là avec ton eCore Model...
    - Ensuite j'utilise quand même le dashboard... Il est quand même bien utile
    - Mais au lieu de faire Derive, je fais create Graphical Def Model depuis le deshboard... En effet si tu fais Derive ça te cache tout...
    - Si tu as bien compris le trucs pour cette étape, il faut créer une représentation graphique de chacun des objets de ton modele (que tu veux représenter graphiquement bien sûr)...
    - en gros tu fais un Figure Gallery
    - Tu crées la forme de ton chois pour les noeus (carré, rond, ...)
    - Si tu veux associer un label tu crées un enfant de type label (tu peux ajouter d'autres contraintes)
    - Tu crées des Polyline connection pour les représentation de tes liens
    - Ensuite à la racine tu crées des type Node pour les noeuds à qui tu associes ta représentation graphique que tu as créée au dessus (j'espère être clair)
    - Idem pour les connection
    - Et enfin des Diagram Label pour les labels (ne pas oublier l'association avec les label que tu as créés dans Figure Gallery)
    - Ensuite depuis le Dashboard faire un create de Tolling....
    - La, tu ne crées uniquement des create que tu nommes pour chacun des objets que tu veux représenter...
    - Tu fais ensuite le create du mapping depuis le dashvoard
    - Bon là finalement c'est simple (c'est la que j'ai galéré) :
    - Pour les noeuds tu fais un Top Node Reference puis dedans tu fais Node Mapping et dedans tu fais un LabelMapping (si ya un label)
    - Pour la configuration tu mets dans le Node Mapping :
    - Element : la représentation que tu as fait dans ton modele
    - Diagram Node : la représentation que tu as fait dans graphic
    - et Tool tu imagines quoi...
    - Dans Top Node Referencel'attribut de l'objet racine EMF qui contiendra toutes les instances de ce type de noeuds qui seront créés (j'espère que je suis clair, sinon demande moi)
    - Enfin label, je pense que tu sauras quoi faire...
    - Pour les liens, eh bien c'est Link Mapping bien sûr... tu crées dedans un label mapping si tu veux un label sur ton type de liens
    - Containment Feature l'attribut de l'objet racine EMF qui contiendra toutes les instances de ce type de liens
    - Element la représentation dans ton modele de ton lien
    - Source, l'attribut dans ton modele qui devra contenir la source
    - taget tu imagines
    - Digram Link : Représentation de ton liens dans Graph
    - Tool j'ai pas envie de dire (na)
    - Tu rouvres ton genmodel, tu cliques droit à la racine et tu fais un Generate Code
    - Dans le dashboard, tu fais un transform (il te génère un gen model)
    - Tu fais Generate Diagram Editor
    - Tu fais un Run... Et ça devrait marcher

    Voili Voilou

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Configuration
    Pour ce qui est de la configuration, j'ai un eclipse 3.2.2 (Ca plante tout les temps sur Mac OS pour la version 3.3.1)... J'ai ajouté les plugins qui manquaient depuis les sites proposés nativement par Eclipse...

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Modele de données
    Voila le modele de données que j'ai utilisé...
    Images attachées Images attachées  

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Wah un énorme merci !!!

    J'observe quelques points intéressants que je vais creuser, merci merci !

    J'ai réglé mes problèmes de configuration, j'utilise à présent Eclipse 3.4.0 et GMF 2.0.2 et là j'ai enfin réussi à faire au moins un rectangle.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 14
    Points
    14
    Par défaut conversion ecore->classe
    voial je voulais savoir serai -t-il possible de transformer un model.ecore en un diagramma de classe si oui comment et avec quel logciel merci .

  14. #14
    Inactif
    Inscrit en
    Mars 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 59
    Points : 63
    Points
    63
    Par défaut
    Il me semble qu'avec GMF, il te suffit de clik droit sur le .ecore dans le navigateur Eclipse => Initialize Ecore_diagram.
    ?
    Je me suis vu assigner une Infraction pour avoir fait de la publicité pour Google ... La modération est à consommer avec modération -.-

Discussions similaires

  1. [EMF / GMF] Modèles
    Par chihaoui_med dans le forum Eclipse Modeling
    Réponses: 2
    Dernier message: 20/09/2012, 22h59
  2. [EMF] Métamodèle UML2
    Par M3HD1 dans le forum Eclipse Modeling
    Réponses: 5
    Dernier message: 23/03/2011, 12h44
  3. Méta-modèle et EMF
    Par SaoussenRekhis dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/10/2010, 19h18
  4. [GMF] Modifier le modèle en ajoutant un attribut
    Par cline1263 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 30/01/2008, 10h04

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