Project

General

Profile

Maintenance odesign » History » Version 3

« Previous - Version 3/10 (diff) - Next » - Current version
Guillaume DIEP, 03/13/2013 02:35 PM


Maintenance odesign

Organisation du fichier Lustre.odesign

Dans le fichier Lustre.odesign, il y a les descriptions de deux diagrammes :
  • Le "Program Diagram" qui correspond au diagramme général d'un fichier .lus.
  • Le "Node Diagram" qui correspond au diagramme d'un noeud.

Ces deux diagrammes sont construits de la même manière. On y trouve dans un première partie, tous les éléments graphiques qui seront visualisés (les noeuds, les relations, les conteneurs). Dans chacun des conteneurs, il est possible de créer des conteneurs et des sous-noeuds qui n'apparaîtront qu'à l'intérieur de ces conteneurs.

Dans une seconde partie, il y a différentes sections.
On trouve dans la section "Tool" trois sous-sections :
  • "Edit" où sont situés tous les éléments permettant de modifier les labels (noms des variables, valeurs des constantes, commentaires...).
  • "Delete" où sont situés tous les éléments permettant d'obtenir le comportement souhaité de l'éditeur lors de la suppression d'un élément.
  • "Double Clic" qui permet de définir des actions se produisant lors d'un double clic sur un élément graphique.

Ensuite, il y a différentes sections, que l'on retrouve dans la palette, concernant la création dynamique d'éléments.

h2.

Modification de "Node Diagram"

"Node Diagram" a été construit à partir de "Program Diagram". Pour effectuer une modification du fichier Lustre.odesign, nous commençons par modifier "Program Diagram" puis nous repercutons les modifications dans "Node Diagram" afin que les diagrammes des noeuds correspondent au diagramme général du fichier contenant le code lustre.

Actuellement, nous effectuons les modifications suivantes :
  • supprimer tous les éléments que contient "Node Diagram"
  • copier coller le contenu de "Program Diagram" dans "Node Diagram"
    Dans "Node Diagram" :
  • supprimer "Node_Include", "Node_Variable_*Declaration"
  • couper coller les éléments présents dans "Container_Node" dans "Default" et supprimer "Container_Node"
  • dans Container_Inputs->Container_VariablesList->Advanced->Precondition Expression, changer "preconditionVariablesList" en "preconditionVariablesList_Node"
    de même dans Container_Outputs et Container_Locals
  • dans Section "Containers", supprimer "Container Creation Description Container_Node"
  • dans Section "Declarations / Include / Specifications", renommer "Declarations / Include / Specifications" en "Specifications"
    puis supprimer "Node Creation Description Node_Variable_*Declaration" et "Node Creation Description Node_Include"
  • dans Section "Edit", supprimer "Edit_variableLocal_Declaration" et "Edit_include"
    puis changer pour "Edit_*value" :
    1. "Edit_*value" par "Edit_VariableLocal_*value"
    2. "Node_Variable_*Declaration" par "Node_VariableLocal_*Declaration"
    3. "self.declaration()" par "self.eGet('variable').declaration()"
      • Pour les Node_VariableLocal_*Declaration, changer "self.eGet('variable').name" par "self.eGet('variable').label_var_*Declaration()"