Écriture de Transformations - Langue Intermédiaire


Toutes les transformations dans le travail d'EA en produisant une forme de texte du modèle que vous voulez produire.

Tout élément est représenté dans cette langue par le type d'élément (par ex. La Classe, l'Action, la Méthode, la Généralisation ou Tag), suivi par les propriétés de l'élément et les éléments qu 'il est fabriqué à partir. La grammaire pour cela ressemble à ce qui suit. & nbsp;

<element>         ::= <elementName> "{" (<elementProperty> | <element>)* "}";  
<elementProperty>   ::= <propertyName> "=" "\"" <*stringEscape> "\"";

  • <elementName> est l'un quelconque de l'ensemble des types d'éléments que Enterprise Architect supportent.
  • <propertyName> est l'une des propriétés de déformation que les éléments peuvent avoir dans Enterprise Architect.

Une classe simple peut être créé comme suit.

Class  
{  
   name = "Example"  
}

Il est alors facile à ajouter à cela. L'exemple suivant définit la langue à C ++, ajoute une valeur tagged (balisé) et un attribut.

Class  
{  
   name = "Example"  
   language = "C++"  
   Tag  
   {  
      name = "defaultCollectionClass"  
      value = "List"  
   }  
   Attribute  
   {  
      name = "count"  
      type = "int"  
   }  
}

Les éléments peuvent également contenir un XRef. Cela agit comme une référence unique qui est utilisé pour la synchronisation et pour créer des connecteurs. Chaque XRef doit contenir:  

  • Un espace de noms (NameSpace). Ceci est ce que la transformation de la classe a été générée à partir.
  • Un nom. Ceci est un nom unique dans la transformation spécifiée par l'espace de noms.
  • Une source. Ceci est le GUID de l'élément d'origine que cet élément a été créé à partir.

Un fichier peut contenir des colis et des éléments qu'un paquet peut contenir. Les paquetages contiennent principalement les types d'éléments suivants:

  • Action
  • ActionPin (Épingle d'Action)
  • Activity (Activité)
  • ActivityParameter (Paramètre d'Activité)
  • ActivityPartition (Division d'Activité)
  • ActivityRegion (Région d'Activité)
  • Actor (Acteur)
  • Association (Association)
  • Change (Changement)
  • Class (Classe)
  • Collaboration
  • CollaborationOccurence (Événement de Collaboration)
  • Component (Composant)
  • DeploymentSpecification (Spécification de Déploiement)
  • DiagramFrame (Cadre de Diagramme)
  • Decision (Décision)
  • EntryPoint (Point d'Entrée)
  • Event (Événement)
  • ExitPoint (Point de Sortie)
  • ExceptionHandler (Entraîneur d'Exception)
  • ExpansionNode (Noeud d'Expansion)
  • ExpansionRegion (Région d'Expansion)
  • ExposedInterface (Interface Exposée)
  • GUIElement (Élément GUI)
  • InteractionFragment (Fragment d'Interaction)
  • InteractionOccurence (Événement d'Interaction)
  • InteractionState (État d'Interaction)
  • Interface
  • InterruptibleActivityRegion (Interruptible Région d'Activité)
  • Issue (Problème)
  • Iteration (itération)
  • Object (Objet)
  • ObjectNode (Noeud de l'Objet)
  • MessageEndpoint (Point de Fin de Message)
  • Node (Noeud)
  • Parameter (Paramètre)
  • Part (Partie)
  • Port
  • ProvidedInterface (Interface Fournie)
  • RequiredInterface (Interface Exigée)
  • Requirement (Exigence)
  • Sequence (Séquence)
  • State (État)
  • StateNode (Noeud de l'État)
  • Synchronization
  • TimeLine (Ligne de Chronologie)
  • UMLDiagram (Diagramme d'UML)
  • UseCase (Cas d'Utilisation)