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 d'une activité structurée sont le nœud conditionnel et le nœud de boucle, que vous pouvez tous deux simuler assez facilement.
Noeud conditionnel
Un nœud conditionnel se compose essentiellement d'une ou plusieurs paires de partitions Test /Corps, chaque paire étant appelée Clause. La partition Test est composée d'éléments 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 existe une clause, le nœud conditionnel génère soit le résultat de la partition Body, soit aucun résultat. S'il existe plusieurs clauses, le contrôle passe d'un Test au suivant jusqu'à ce qu'une condition soit remplie et qu'une partition Body soit exécutée pour produire un résultat, ou que tous les tests échouent.
Simulation prend actuellement 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 peut être généré, mais si aucun Test n'est satisfait et aucun résultat n'est généré, le traitement peut toujours se poursuivre au-delà du nœud de condition
si (sim.Person.age >=65)
sim.AgeCondition.Clause1.Decider1=true;
autre
sim.AgeCondition.Clause1.Decider1=false;
Le nœud de condition s'appelle AgeCondition , le test est dans Clause1 et le OutputPin pour ce test est Decider1 .
Noeud de boucle
Un nœud d'activité structuré en boucle représente généralement les équivalents modélisation des instructions de boucle While, Repeat et For. Chaque nœud de boucle comporte trois partitions :
- Configuration - qui initie les variables à utiliser dans la condition de sortie de la boucle ; elle est exécutée 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 fausse
Le nœud de boucle possède un certain nombre de Pins Action :
- Variable de boucle (entrée) - la valeur initiale à traiter via la boucle
- Variable de boucle (sortie) - la variable variable sur laquelle le Test est effectué
- Décideur - une broche de sortie dans la partition Test , dont la valeur est examinée après chaque exécution du Test pour déterminer s'il faut exécuter le corps de la boucle
- Sortie du corps - la valeur de sortie du traitement dans la partition Corps, qui met à jour la broche de sortie de la variable de boucle pour la prochaine itération de la boucle, et
- Résultat - la valeur de l'exécution finale de la partition Test (qui est la valeur renvoyée depuis la dernière exécution de la partition Body)
sim.LoopNode1.decider = (sim.LoopNode1.loopVariable>0);