Hi,

Dans le but de reproduire un scénario d’exécution automatiquement sur une application web.

Alors le diagramme d’état transition (que l’on doit modéliser) représente le comportement de l’application
Donc : c’est le scénario que je dois extraire.
(Etat (début) =>transition => Etat=>transition =>Etat=>transition…=>Etat(Fin))

Voici le code XMI que je doit parcer(Analyse syntaxique) et qui représente le diagramme d’état transition :
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
<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="idModel" name="DefaultNameModel">
  <packagedElement xmi:type="uml:Package" xmi:id="idPackage" name="DefaultNamePackage">
    <packagedElement xmi:type="uml:StateMachine" xmi:id="idStateMachine" name="CmportementSousFormulaire_StateMachine">
      <region xmi:id="idRegion" name="MainRegion">
        <ownedComment xmi:id="_w82XcD1rEd-veYij0BmxVw">
          <body>Le diagramme d’état transition représente le comportement d’un utilisateur qui remplit le formulaire d’ajoute.</body>
        </ownedComment>
        <subvertex xmi:type="uml:Pseudostate" xmi:id="_-v0VgD0SEd-Q66MpKijQ6w" name="Debut"/>
        <subvertex xmi:type="uml:FinalState" xmi:id="_EX2VAj0TEd-Q66MpKijQ6w" name="Fin"/>
        <subvertex xmi:type="uml:State" xmi:id="_IHE_0j0TEd-Q66MpKijQ6w" name="e_StartBrowser"/>
        <subvertex xmi:type="uml:State" xmi:id="_I1yf8j0TEd-Q66MpKijQ6w" name="e_BaseURL"/>
        <subvertex xmi:type="uml:State" xmi:id="_ZNJv8j0TEd-Q66MpKijQ6w" name="e_Champ2"/>
        <subvertex xmi:type="uml:State" xmi:id="_agdx8j0TEd-Q66MpKijQ6w" name="e_Champ3"/>
        <subvertex xmi:type="uml:State" xmi:id="_BfLzQD1qEd-veYij0BmxVw" name="e_Champ1"/>
        <subvertex xmi:type="uml:State" xmi:id="_Ht90QD1rEd-veYij0BmxVw" name="e_ClickBouton"/>
        <transition xmi:id="_Tkh6lT0TEd-Q66MpKijQ6w" name="t_StartBrowser" target="_IHE_0j0TEd-Q66MpKijQ6w" source="_-v0VgD0SEd-Q66MpKijQ6w"/>
        <transition xmi:id="_Uy7nZD0TEd-Q66MpKijQ6w" name="T_EnterBaseURL" target="_I1yf8j0TEd-Q66MpKijQ6w" source="_IHE_0j0TEd-Q66MpKijQ6w"/>
        <transition xmi:id="_bsfgND0TEd-Q66MpKijQ6w" name="t_RemplirChamp1" target="_BfLzQD1qEd-veYij0BmxVw" source="_I1yf8j0TEd-Q66MpKijQ6w"/>
        <transition xmi:id="_cJgMVD0TEd-Q66MpKijQ6w" name="t_RemplirChamp3" target="_agdx8j0TEd-Q66MpKijQ6w" source="_ZNJv8j0TEd-Q66MpKijQ6w"/>
        <transition xmi:id="_csKNdD0TEd-Q66MpKijQ6w" name="t_ClickBouton" target="_Ht90QD1rEd-veYij0BmxVw" source="_agdx8j0TEd-Q66MpKijQ6w"/>
        <transition xmi:id="_YaeDQD1qEd-veYij0BmxVw" name="t_RemplirChamp2" target="_ZNJv8j0TEd-Q66MpKijQ6w" source="_BfLzQD1qEd-veYij0BmxVw"/>
        <transition xmi:id="_KN1I8D1rEd-veYij0BmxVw" name="t_StopeBrowser" target="_EX2VAj0TEd-Q66MpKijQ6w" source="_Ht90QD1rEd-veYij0BmxVw"/>
        <transition xmi:id="_e4faIz1rEd-veYij0BmxVw" name="t_Boucle" target="_I1yf8j0TEd-Q66MpKijQ6w" source="_Ht90QD1rEd-veYij0BmxVw"/>
      </region>
    </packagedElement>
  </packagedElement>
</uml:Model>
Voilà, je cherche quel est la meilleur Méthode et technique pour un parser d'un diagramme d’état transition ?

Ma solution serai de faire deux matrice une pour les Transitions la 2em pour les Etats qui seront de la forme :
Matrice des transitions :
[id][ name][ target][ source]
Matrice des états : (peut être ajouté le type)
[id][ name]
Et que ce soit pour un état ou une transition le [name] représente un appel de méthode.

Voilà, c'est une méthode possible, mais je cherche toujours le comment (la technique)
Donc: si vous avez des avis ou des suggestions elles seront les bienvenu sur d'autre Méthode.


Cordialement
GeForce