[Librairie boost] package statechart, création d'un automate
Bonjour,
Je commence à peine à manipuler la librairie, et dans le cadre de l'implémentation d'un automate à états finis, j'ai un peu de mal à comprendre comment utiliser les différentes classes.
Tout d'abord, je parse un fichier xmi, qui a été exporté d'argouml et qui contient donc la description de l'automate(diagramme d'état). J'utilise tinyXml, mais ce que je comprends pas, c'est que pour définir un automate dans boost, on créé une classe qui a cette forme là:
La classe automate ressemble à ça:
....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include <boost/statechart/state_machine.hpp>
#include <boost/statechart/simple_state.hpp>
struct PseudoState;
struct Machine : sc::state_machine< Machine, PseudoState > {};
struct PseudoState : sc::simple_state< PseudoState, Machine >
{
PseudoState() { std::cout << "etat initial!\n"; } // entry
~PseudoState() { std::cout << "fin etat initial!\n"; } // exit
};
int main()
{
Machine myMachine;
myMachine.initiate();
getchar();
} |
Moi ce que je dois faire un programme qui lit mon fichier xmi et qui à chaque fois qu'il trouve une balise crée un objet lui correspondant, par exemple s'il trouve une balise simple state j'aimerai pouvoir créer mon simple state X et lui associé toutes les caractéristiques que je peux lire dans le fichier.
J'ai vraiment du mal à cerner boost, si quelqu'un peut m'aider ça serait vraiment très sympa. Et si j'ai pas été claire je suis à votre disposition pour plus de précision
Merci d'avance
AIforAll