SORTIEÉvaluer les flux conditionnésinclusifÀ la fin d’une tâche, chaque flux sortant dont la condition est vraie est suivi, avec les flux non conditionnés (PRIOTransitionController, SequenceFlowConditionEvaluator). Une condition dont l’évaluation échoue compte comme fausse.
PAIREOtherwise = négationpar idUn flux otherwise n’est pas évalué seul : son résultat est la négation de son flux conditionné, retrouvé en retirant le suffixe __otherwise, donc exactement un des deux est suivi. Un otherwise « skipped » n’a pas de flux conditionné de cet id et est évalué sur sa propre condition.
LIBÉRERObjectifs sautésasyncUn objectif est atteint quand tout son graphe de tâches est terminé : la tâche qui le satisfait et celles qu’il requiert (Needs, Implies, Supports, conditionnées ou non), chacune faite ou sautée par une condition fausse. Le moteur enregistre les tâches sautées par les flux morts (ObjectiveTaskGraph) ; une tâche encore atteignable par un autre flux, comme un bypass, n’est pas sautée. L’application web de r-io suite libère alors le jumeau EXPECTED_FREEZE des objectifs dont le graphe est terminé, y compris à la fin du processus. Les tâches de reprise entrées seulement par un Exception_Flow ou un Event_Flow ne font pas partie du graphe. Sans cet écouteur, le moteur se rabat sur les objectifs listés dans releasesObjectives du flux otherwise (OtherwiseFlowObjectiveRelease).
JOINTURELes chemins morts ne sont pas attenduschemin inverseUne tâche à plusieurs flux entrants n’attend pas un flux dont le chemin amont est mort : C démarre une seule fois, depuis B ou depuis le bypass. L’End_Event attend tous les chemins vivants.