Une fois que vous avez défini le template utilisé pour évaluer le numéro d'ordre de chaque message, vous devez créer un template pour trier ces numéros d'ordre (compareCbMsgSymbols), ainsi qu'un autre template pour extraire tous les messages du diagramme de communication (description).
Le template compareCbMsgSymbols est de type booléen et permet de vérifier si le numéro de message est supérieur à un autre numéro de message. La syntaxe de ce template est la suivante :
.bool (%Item1.Object.SequenceNumber% >= %Item2.Object.SequenceNumber%)
La valeur renvoyée pour ce template est utilisée avec le paramètre compare dans le template description dont le code se présente comme suit :
Communication Scenario %Name%: \n .foreach_item(Symbols,,, %ObjectType% == CommunicationMessageSymbol, %compareCbMsgSymbols%) %Object.description% .next(\n)
Dans ce template, la première ligne est utilisée pour générer le titre du scénario à l'aide du nom du diagramme de communication %Name%. Puis elle crée une nouvelle ligne.
Ensuite, la macro pour chaque élément boucle sur chaque symbole de message, vérifie puis trie le numéro de message, avant de générer la description de message à l'aide de la syntaxe définie dans la section précédente.