Les noeuds
Les nœuds permettent de modéliser les étapes de l'activité. Il existe différents types de nœuds dans HOPEX.
Les nœuds d'actions
Les actions sont les étapes élémentaires du comportement représenté par l'activité.
La coordination des actions est réalisée à l'aide de flux de contrôle et de flux de données.
Créer une action
Pour créer une action dans un diagramme d'activités :
1. Dans la barre d'insertion d'objets du diagramme, sélectionnez le bouton correspondant au type d'action, puis cliquez sur le plan de travail.
La fenêtre d'ajout d'une action du type choisi s'ouvre.

La barre d'insertion propose les trois types d'action principaux.
2. Indiquez son nom et cliquez sur Ajouter.
Modifier le type d'action
Dans la page de propriétés Caractéristiques de l'action, vous pouvez modifier le type d'action. Ce peut être :
• L'appel d'une opération d'un autre objet
• La création d'un objet
• La destruction d'un objet
• L'exécution d'une opération locale à l'objet
• L'émission d'un signal par l'objet
• La destruction finale de l'objet
• Etc.
Les nœuds de paramétrage
Les nœuds de paramétrage d'une activité décrivent les entrées ou les sorties de cette activité.
Ils transmettent les paramètres à l'activité par l'intermédiaire des flux qu'ils émettent ou qu'ils reçoivent.
Les nœuds de contrôle
Un nœud de contrôle coordonne les flux entre les noeuds d'une activité.
Un nœud de contrôle peut être de type initial, final, décision, fusion (merge), parallélisme (fork) ou union (join).
Types de noeud de contrôle
Initial
Un noeud initial indique où débute le flux de contrôle lorsque l'activité est invoquée. Une activité peut avoir plusieurs nœuds initiaux.
Final
Lorsqu'un jeton atteint un nœud final d'activité, tous les flux de l'activité sont stoppés. Au contraire, un nœud final de flux détruit les jetons qui lui arrivent mais n'a aucun effet sur les autres jetons de l'activité.
Décision
Une décision fait le choix d'un seul flux entre plusieurs flux sortants possibles. Les flux sortants sont sélectionnés en fonction de leur condition de garde.
Fusion
Une fusion (merge) rassemble plusieurs flux alternatifs entrants en un seul flux sortant. Elle n'est pas utilisée pour synchroniser des flux concurrents mais pour accepter un seul flux parmi plusieurs.
Parallélisme
Un parallélisme (fork) sépare un flux en plusieurs flux concurrents. Les jetons arrivant à un parallélisme sont dupliqués à travers les flux sortants.
Union
Une union (join) synchronise des flux multiples. Quand tous les flux en entrée sont disponibles, le flux en sortie est déclenché.
Les nœuds d'objets : pins d'entrée, de sortie et d'échange
Pour spécifier les valeurs en entrée d'une action et les valeurs de retour, on utilise des nœuds d'objets appelés pins (pin en anglais) d'entrée ou de sortie. L'action ne peut débuter que si une valeur est affectée au pin d'entrée. De même, quand l'action se termine, une valeur doit être affectée au pin de sortie.
Pin d'entrée
Un pin d'entrée supporte les valeurs d'entrée qui doivent être consommées par une action et qu'il reçoit de la part d'autres actions.
Pin de sortie
Un pin de sortie supporte les valeurs de sortie qui sont produites par une action et fournit ces valeurs à d'autres actions à travers des flux.
Pin d'échange
Un pin d'échange est utilisé pour représenter les données échangées entre deux actions.
Les Flux
Le passage d'un nœud à un autre est matérialisé par un flux.
Flux de contrôle
Un flux de contrôle démarre un nœud d'action lorsque le précédent est terminé. Les objets et les données ne peuvent pas être transmis par un flux de contrôle.
Flux d'objets
Un flux d'objets permet de transmettre des données ou objets d'un nœud à un autre à l'intérieur d'une activité.