Pré. | Proc. |
Simulation d'Activité Structurée
L'une des structures les plus complexes d'un modèle comportemental est une activité structurée, qui modélise une série d'actions soit dans une structure imbriquée, soit dans un processus d'évaluation et d'exécution. Les types d'évaluation de l'activité structurée sont le nœud conditionnel et le nœud de boucle, que vous pouvez simuler assez facilement.
Nœud conditionnel
Un nœud conditionnel consiste essentiellement en une ou plusieurs paires de partitions Test /corps, chaque paire étant appelée une clause. La partition Test est composée d'éléments de diagramme d'activité qui testent une condition, et si cette condition est remplie, d'autres éléments de diagramme d'activité dans la partition Corps sont exécutés pour produire un résultat.
S'il n'y a qu'une seule clause, le nœud conditionnel affiche soit le résultat de la partition du corps, soit aucun résultat. S'il y a plus d'une clause, le contrôle passe d'un Test à l'autre jusqu'à ce qu'une condition soit remplie et qu'une partition de corps soit exécutée pour produire un résultat, ou que tous les tests échouent.
La Simulation actuellement en supporte l'utilisation de la case à cocher "Est assuré" dans l'onglet "Condition" de la fenêtre Propriétés . Les deux autres paramètres de case à cocher sont ignorés. Si la case à cocher "Est assuré" est :
- Sélectionné, au moins un Test doit être satisfait, donc son corps est exécuté et un résultat est généré ; si aucun Test n'est satisfait et aucun résultat n'est généré, le nœud conditionnel est bloqué et le traitement ne peut pas continuer au-delà
- Non sélectionné, un Test peut être satisfait et un résultat en sortie, mais si aucun Test n'est satisfait et aucun résultat en sortie, le traitement peut continuer au-delà du nœud de condition
si (sim.Person.age >=65)
sim.AgeCondition.Clause1.Decider1=true ;
autre
sim.AgeCondition.Clause1.Decider1=false ;
Le Condition Node s'appelle AgeCondition , le test est dans Clause1 et le OutputPin pour ce test est Decider1 .
Nœud de boucle
Un nœud d'activité structurée en boucle représente généralement les équivalents de modélisation des instructions de boucle While, Repeat et For. Chaque nœud de boucle a trois partitions :
- Setup - qui initie les variables à utiliser dans la condition de sortie de la boucle ; il est exécuté une fois à l'entrée de la boucle
- Test - qui définit la condition de sortie de la boucle
- Corps - qui est exécuté à plusieurs reprises jusqu'à ce que le Test produise une valeur False
Le nœud de boucle a un certain nombre d' Pins d' Action :
- Variable de boucle (entrée) - la valeur initiale à traiter dans la boucle
- Variable de boucle (sortie) - la variable changeante sur laquelle le Test est effectué
- Décideur - une broche de sortie dans la partition de Test , dont la valeur est examinée après chaque exécution du Test pour déterminer s'il faut exécuter la boucle Body
- Body Output - la valeur de sortie du traitement dans la partition Body, qui met à jour la broche de sortie variable de la boucle pour la prochaine itération de la boucle, et
- Result - la valeur de l'exécution finale de la partition Test (qui est la valeur transmise depuis la dernière exécution de la partition Body)
sim.LoopNode1.decider = (sim.LoopNode1.loopVariable>0);