Tous ces objets implémentes une interface MmXmlObject qui permet de décrire les
objet au format XML.
On peut voir dans la représentation suivante, les relations entre les objets
MmObject, MmState et MmCaract. Cette représentation permet une grande
souplesse, et de répondre à beaucoup d'exigences.
L'interface MmGUI permet de décrire comment les objets (et leurs composants)
évoluent dans l'interface graphique.
L'interface MmPropObj permet d'accéder de modifier les attributs de chaque
objets via un JTree.
Assistant de création d'un objet
Le modèle objet de l'assistant est le suivant :
Le fonctionnement de l'assistant est assez simple, on utilise les methode
xml pour créer les objets. Pour contrôler l'enchaînement des questions,
nous utilisons un petit automate d'état fini. On gére une liste des
objets créés pour pouvoir les initialiser correctement par la suite. Nous
avons créé une classe Druid pour afficher les différentes
questions.
Gestion des librairies
Pour pourvoir gérer la réutilisation des MmObject, nous avons créé un objet
qui se charge de gérer les librairies.
Cet objet procure une interface simple pour manipuler les librairies. Comme
il est précisé dans le modèle dynamique, la
gestion dynamique des identifiants XML pose quelques problèmes. L'objet
IdManager permet de résoudre les conflits.