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

UML Discussion :

interprétation d'un fichier XML représentant la sortie d'une vue UML/MARTE


Sujet :

UML

  1. #1
    Membre confirmé
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Par défaut interprétation d'un fichier XML représentant la sortie d'une vue UML/MARTE
    Bonsoir,
    Je suis en cours de réaliser une modélisétion des systèmes à base du profil UML/MARTE (via l'outil papyrus)
    j'ai réalisé une vue UML/MARTE à partir du quelle je dois tirer des informations
    la sortie de cette vue est un fichier XML
    je me demande si quelqu'un peut me donner un lien pour un exemple d'interprétation d'un fichier XML représentant la sortie d'une vue UML/MARTE

    c'est très urgent merci de m'aider

  2. #2
    Membre confirmé
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Par défaut
    notez que j'utilise le java pour la programmation

  3. #3
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 547
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 547
    Par défaut
    Bonjour,

    c'est quoi votre XML, de l'XMI ?

    pourquoi ne pas utiliser le générateur java de papyrus ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

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

  4. #4
    Membre confirmé
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Par défaut
    Bonjour
    oui c'est de l' XMI
    en fait, c'est la première fois que j'utilise le papyrus
    je sais pas comment procéder pour tirer les informations existantes dans ma vue UML/MARTE
    je suis entrain d'essayer avec jdom pour l'instant
    merci de m'aider

  5. #5
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 547
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 547
    Par défaut
    travailler sur l'XMI produit n'est un moyen, et peut être pas le meilleur

    quel est votre vrai but et qu'elles sont vos contraintes ?
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

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

  6. #6
    Membre confirmé
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Par défaut
    je suis entrain de réaliser un partitionnement des systèmes temps réel ( je cherche les meilleures réalisation logicielles matérielles tout en respectant les contraintes de temps et de coût)
    par conséquent, je commence par modéliser le système traité via MARTE/GRM
    (ma vue est un diagramme de classes)
    et puis je dois tirer les données entrées dans mon diagramme et exactement celles de l'instance du modèle réalisé pour chercher par la suite les meilleurs implantations
    mon problème c'est comment tirer les données du diagramme
    la seule solution que j'ai trouvée est d'accéder au fichier XMI représentant la sortie du diagramme

  7. #7
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 547
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 547
    Par défaut
    temps réel et java avec son gc ça parait bizarre ...

    je ne comprends pas trop ce que voulez dire par tirer les données mais bon, soit effectivement vous le faites a partir de l'xmi (en espérant que celui-ci contienne toutes les informations voulues), soit ce qui est à priori préférable vous travaillez directement sur le modèle dans papyrus ou via eclipse par exemple
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

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

  8. #8
    Membre confirmé
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Par défaut
    j'ai besoin de l'aide svp
    voici une partie de mon fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <packagedElement xmi :type="uml:Class" xmi:id="_2-HEIBw3EeCGMNb5jnZ1lA" name="BATTERY">
    - <ownedAttribute xmi:id="_m-deoBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_m8E5ABw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m-deohw5EeCGMNb5jnZ1lA" value="1" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m-deoRw5EeCGMNb5jnZ1lA" value="1" /> 
      </ownedAttribute>
    - <ownedAttribute xmi:id="_PbT_QC7CEeCzNId5TEMyRg" name="capacity" visibility="public" isUnique="false">
      <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A" /> 
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_f3do0TPJEeCXYsCxraXbZg" value="1" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_f3do0DPJEeCXYsCxraXbZg" value="1" /> 
    - <defaultValue xmi:type="uml:LiteralString" xmi:id="_f3nZ0DPJEeCXYsCxraXbZg">
      <value xsi:nil="true" /> 
      </defaultValue>
      </ownedAttribute>
    - <ownedAttribute xmi:id="_Pl43kC7CEeCzNId5TEMyRg" name="Tension_battery" visibility="public" isUnique="false">
      <type xmi:type="uml:DataType" href="pathmap://Papyrus_PROFILES/MARTE_Library.library.uml#_B5VngBFQEdyUJeMeN__D-A" /> 
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q8KFUDPJEeCXYsCxraXbZg" value="1" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q8A7YDPJEeCXYsCxraXbZg" value="1" /> 
    - <defaultValue xmi:type="uml:LiteralString" xmi:id="_q8KFUTPJEeCXYsCxraXbZg">
      <value xsi:nil="true" /> 
      </defaultValue>
      </ownedAttribute>
      </packagedElement>
    - <packagedElement xmi:type="uml:Class" xmi:id="_937boBw3EeCGMNb5jnZ1lA" name="SDRAM">
    - <ownedAttribute xmi:id="_nrdukBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_np-g0Bw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nrnfkRw5EeCGMNb5jnZ1lA" value="*" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nrnfkBw5EeCGMNb5jnZ1lA" /> 
      </ownedAttribute>
    - <ownedAttribute xmi:id="_skPbYBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_shj60Bw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_skPbYhw5EeCGMNb5jnZ1lA" value="1" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_skPbYRw5EeCGMNb5jnZ1lA" value="1" /> 
      </ownedAttribute>
      </packagedElement>
    - <packagedElement xmi:type="uml:Class" xmi:id="_PvAK4Bw4EeCGMNb5jnZ1lA" name="DMA">
    - <ownedAttribute xmi:id="_KqeroBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_KpcJ0Bw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Kqerohw5EeCGMNb5jnZ1lA" value="*" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KqeroRw5EeCGMNb5jnZ1lA" /> 
      </ownedAttribute>
    - <ownedAttribute xmi:id="_a_pjQBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_a-AkgBw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a_pjQhw5EeCGMNb5jnZ1lA" value="*" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a_pjQRw5EeCGMNb5jnZ1lA" /> 
      </ownedAttribute>
    - <ownedAttribute xmi:id="_k6I2cBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_k4zZsBw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k6SncRw5EeCGMNb5jnZ1lA" value="*" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k6SncBw5EeCGMNb5jnZ1lA" /> 
      </ownedAttribute>
    - <ownedAttribute xmi:id="_sGl2EBw5EeCGMNb5jnZ1lA" name="bUS" type="_SOQ4EBw3EeCGMNb5jnZ1lA" isUnique="false" association="_sE83UBw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sGl2Ehw5EeCGMNb5jnZ1lA" value="1" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sGl2ERw5EeCGMNb5jnZ1lA" value="1" /> 
      </ownedAttribute>
    - <ownedAttribute xmi:id="_8x9nMBw5EeCGMNb5jnZ1lA" name="aSIC" type="_I978MBw3EeCGMNb5jnZ1lA" isUnique="false" association="_8wUocBw5EeCGMNb5jnZ1lA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8yGxIRw5EeCGMNb5jnZ1lA" value="*" /> 
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8yGxIBw5EeCGMNb5jnZ1lA" /> 
      </ownedAttribute>
      </packagedElement>
    et voici mon code qui m'affiche rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    	import java.io.*;
    	import org.jdom.*;
    	import org.jdom.input.*;
    	import org.jdom.filter.*;
    	import java.util.List;
    import java.util.Iterator;
    
    	public class ParsingXML
    	{
    		static org.jdom.Document document;
    	   static Element racine;
    	   static void afficheALL()
    	   {
    	     
    	      List listpackage = racine.getChildren("packagedElement");
    	     
    	           //On crée un Iterator sur notre liste
    	      Iterator i = listpackage.iterator();
    	      //Iterator j=listprenoms.iterator();
    	      while(i.hasNext())//if(i.hasNext())
    	      {
    	         //On recrée l'Element courant à chaque tour de boucle 
    	     
                       Element courant = (Element)i.next();
    	           System.out.println(courant.getAttributeValue("name"));
    		        
    	      }//else System.out.println("aucun suivant");	    
    	   }	  
    	   public static void main(String[] args)
    	   {
    	      //On crée une instance de SAXBuilder
    	      SAXBuilder sxb = new SAXBuilder();
    	      try
    	      {
    	         document = sxb.build(new File("chemin du fichier.xml"));
    	      }
    	      catch(Exception e){}
    
    	      //On initialise un nouvel élément racine avec l'élément racine du document.
    	      racine = document.getRootElement();
             
    	      afficheALL();
    	  	   }
    	}
    merci de m'aider svp

  9. #9
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 547
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 547
    Par défaut
    je pense que vous vous fourvoyez, lire un fichier XMI est quelque chose de complexe, cela a du sens pour quelqu'un comme moi qui a réalisé un modeleur UML gérant XMI, mais pour vous j'en doute

    qu'elles sont les informations que vous devez extraire de l'XMI ?

    encore une fois vous devriez regarder comment travailler (automatiquement) à partir du modèle et non en externe après relecture de l'XMI
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

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

  10. #10
    Membre confirmé
    Femme Profil pro
    doctorante
    Inscrit en
    Février 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Février 2011
    Messages : 114
    Par défaut
    Salut,
    En fait, mon fichier XML est plus complexe que celui exposé ci devant ...
    bref, je veux par exemple extraire à partir de la ligne suivante la valeur de name (BATTERY dans ce cas)
    <packagedElement xmi :type="uml:Class" xmi:id="_2-HEIBw3EeCGMNb5jnZ1lA" name="BATTERY">
    et en outre je veux extraire à partir des lignes suivantes la valeur de upperValue et de lowerValue à partir de value
    <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m-deohw5EeCGMNb5jnZ1lA" value="1" />
    <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m-deoRw5EeCGMNb5jnZ1lA" value="1" />
    et comme ça ...
    j'aimerai bien travailler d'une façon automatique directement à partir du modèle pour en tirer les informations nécessaires si vous avez un lien de documentation la dessus merci de le mettre
    je vous remercie pour votre aide

  11. #11
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 547
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 547
    Par défaut
    Citation Envoyé par carenamina Voir le message
    En fait, mon fichier XML est plus complexe que celui exposé ci devant ...
    je m'en doute bien puisque bouml a un import/export XMI 2

    extraire à partir de la ligne suivante la valeur de name (BATTERY dans ce cas)
    <packagedElement xmi :type="uml:Class" xmi:id="_2-HEIBw3EeCGMNb5jnZ1lA" name="BATTERY">
    chercher toutes les classes n'est pas très difficile, même sans utiliser un parseur XML d'ailleurs

    en outre je veux extraire à partir des lignes suivantes la valeur de upperValue et de lowerValue à partir de value
    <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m-deohw5EeCGMNb5jnZ1lA" value="1" />
    <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m-deoRw5EeCGMNb5jnZ1lA" value="1" />
    là cela pose plus de problème car ces formes peuvent apparaitre dans plusieurs contextes, donc une recherche 'bête et brutale' ne donnerai pas le résultât souhaité => mieux vaut travailler sur le modèle lui-même

    si vous avez un lien de documentation
    je ne peux que vous renvoyez à la documentation de Papyrus pour réaliser une extension, mais si vous l'utiliser intégré sous Eclipse et non en standalone l'API d'Eclipse devrait vous permettre d'accéder plus facilement aux informations voulues contenues dans le modèle
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création de plusieurs fichiers XML nommée en sortie
    Par ccavalheiro dans le forum Développement de jobs
    Réponses: 7
    Dernier message: 25/04/2012, 11h14
  2. PHP non interprété dans un fichier XML
    Par Peyothe dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 03/06/2009, 20h43
  3. Réponses: 1
    Dernier message: 06/08/2007, 10h39
  4. Réponses: 1
    Dernier message: 03/08/2007, 13h25
  5. Réponses: 4
    Dernier message: 31/07/2006, 09h31

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