Propriétés d'exécution pour les tâches de règle
Vous pouvez spécifier les propriétés d'exécution d'une tâche de règle dans l'onglet Tâche de règle de la vue Propriétés pour contrôler l'exécution des règles dans différents modes d'exécution. Vous pouvez choisir un algorithme de moteur de règles pour exécuter les règles dans une tâche de règle particulière et utiliser les propriétés de contrôle d'exécution pour affiner le nombre et l'ordre des règles que le moteur de règles doit exécuter.
En général, l'ordre des artefacts de règle dans la liste des règles sélectionnées n'est pas garanti et la liste des règles sélectionnées est considérée comme un pool de règles à exécuter. L'ordre des artefacts devient toutefois important dès lors que vous réglez la propriété Ordre sur Littéral.
| Action | Emplacement | Descriptif |
|---|---|---|
| Sélection de règle | Onglet Sélection de règle dans la vue Propriétés de la tâche de règle. | Cliquez sur Editer pour ajouter des règles et des paquets de règles et définir leur ordre d'exécution en utilisant la boîte de dialogue Sélectionner les règles. |
| Sélection de règles à l'exécution | BAL dynamique, BAL statique et IRL dans l'onglet Sélection de règle de la vue Propriétés de la tâche de règle. | Détermine quelles règles sont évaluées dans une tâche de règle. |
| Mode d'exécution | Onglet Tâche de règle dans la vue Propriétés de la tâche de règle. | Spécifie un mode d'exécution pour la tâche de règle. |
| Ordre des règles dans une tâche | Onglet Sélection de règle dans la vue Propriétés de la tâche de règle. | L'ordre par défaut des règles dans une tâche :
|
| Critères de sortie de la tâche de règle | Onglet Tâche de règle dans la vue Propriétés de la tâche de règle. | Choose exit criteria indique comment les règles sont exécutées avant la fin de la tâche. Pour plus d'informations, voir Propriété des critères de sortie . |
Propriétés de contrôle des tâches de règle dans les différents modes d'exécution
Vous pouvez agir sur des propriétés spécifiques pour contrôler l'ordre des règles d'une tâche. Ces propriétés agissent différemment dans chaque mode d'exécution : RetePlus, Séquentiel et Fastpath.
Le tableau suivant décrit comment les propriétés de contrôle du flux d'exécution de règles agissent en mode d'exécution RetePlus.
| Propriété Ordre | Propriété Critères de sortie | Propriétés avancées uniquement |
|---|---|---|
Valeur par défaut Un réseau RetePlus avec gestion complète de l'agenda est créé. |
Aucun Toutes les règles dans le corps de la tâche sont activées. Les instances de règle sont exécutées jusqu'à ce que l'agenda soit vide. Equivaut à :
|
firinglimit > 0: les instances sont exécutées jusqu'à ce que le nombre indiqué soit atteint ou que l'agenda soit vide. |
RuleInstance Seule la règle de plus haute priorité dans le corps de la tâche est activée. Seule la première instance de la règle est exécutée, ou aucune si l'agenda est vide. Equivaut à :
|
||
Littéral Un réseau RetePlus est créé, mais sans agenda. Les règles sont activées une par une selon l'ordre fourni par le corps, et les instances sont exécutées sans réévaluation. Ou : Priorité Un réseau RetePlus est créé, mais sans agenda. Les règles sont d'abord triées par ordre de priorité décroissante. Elles sont ensuite activées une par une et les instances s'exécutent sans réévaluation. |
Aucun Une boucle est effectuée sur chacune des règles fournies dans le corps de la tâche, leurs instances sont calculées et exécutées. Les instances sont exécutées jusqu'à la fin de la boucle. Equivaut à :
|
firinglimit > 0: les instances de règle sont exécutées jusqu'à ce que le nombre indiqué ou la fin de la boucle soit atteint. |
Règle Une boucle est effectuée sur chacune des règles fournies dans le corps de la tâche. Dès qu'une règle peut être instanciée (c'est-à-dire qu'au moins une instance de règle est créée), toutes ces instances sont exécutées et la boucle se termine. Equivaut à :
|
||
RuleInstance Une boucle est effectuée sur chacune des règles fournies dans le corps de la tâche. Dès qu'une règle peut être instanciée (c'est-à-dire qu'au moins une instance de règle est créée), cette instance est exécutée et la boucle se termine. Equivaut à :
|
Le tableau suivant décrit comment les propriétés de contrôle du flux d'exécution de règles agissent en mode d'exécution séquentiel.
| Propriété Ordre | Propriété Critères de sortie | Propriétés avancées uniquement |
|---|---|---|
Valeur par défaut En mode séquentiel, la valeur Par défaut agit de la même manière que la valeur Priorité. Pour les tables de décision, l'ordre d'exécution des règles est descendant. |
||
Littéral Les règles sont compilées en fonction de l'ordre dans lequel elles apparaissent dans le corps de la tâche. Les règles sont évaluées et exécutées séquentiellement sur les objets de bloc de données entrants. Ou : Priorité Les règles sont triées d'après leurs priorités respectives. Elles sont ensuite compilées dans l'ordre défini par ce tri. Les règles sont évaluées et exécutées séquentiellement sur les objets de bloc de données entrants. |
Aucun Toutes les règles fournies dans le corps de la
tâche sont évaluées. Toutes les règles évaluées comme Equivaut à :
|
firinglimit > 0: les règles évaluées en tant que true sont exécutées jusqu'à ce que le nombre de règles indiqué soit atteint ou qu'il n'y ait plus de règles à sélectionner. |
Règle Les règles fournies dans le corps de la
tâche sont évaluées séquentiellement. Dès qu'une règle est évaluée comme Equivaut à :
Cette valeur de propriété force
|
Non applicable. |
|
RuleInstance Les règles fournies dans le corps de la tâche sont évaluées. Dès qu'une règle peut être instanciée (c'est-à-dire qu'une instance de règle est créée), cette instance est exécutée et la boucle se termine. Equivaut à :
|
||
Le tableau suivant décrit comment les propriétés de contrôle du flux d'exécution de règles agissent en mode d'exécution Fastpath.
| Propriété Ordre | Propriété Critères de sortie | Propriétés avancées uniquement |
|---|---|---|
Valeur par défaut En mode Fastpath, la valeur Par défaut agit de la même manière que la valeur Priorité. |
||
Littéral Les règles sont compilées en fonction de l'ordre dans lequel elles apparaissent dans le corps de la tâche. Les règles sont évaluées et exécutées séquentiellement sur les objets de bloc de données entrants. Ou : Priorité Les règles sont triées d'après leurs priorités respectives. Elles sont ensuite compilées dans l'ordre défini par ce tri. Les règles sont évaluées et exécutées séquentiellement sur les objets de bloc de données entrants. |
Aucun Toutes les règles fournies dans le corps de la
tâche sont évaluées. Toutes les règles évaluées comme Equivaut à :
|
firinglimit > 0: les règles évaluées en tant que true sont exécutées jusqu'à ce que le nombre de règles indiqué soit atteint ou qu'il n'y ait plus de règles à sélectionner. |
Règle Les règles fournies dans le corps de la tâche sont évaluées. Dès qu'une règle peut être instanciée (c'est-à-dire qu'une instance de règle est créée), ces instances sont exécutées et la boucle se termine. Equivaut à :
|
||
RuleInstance Les règles fournies dans le corps de la tâche sont évaluées. Dès qu'une règle peut être instanciée (c'est-à-dire qu'une instance de règle est créée), cette instance est exécutée et la boucle se termine. Equivaut à :
|
||
Ordre d'exécution des règles
Lorsque les artefacts de règle d'une tâche de règle sont sélectionnés à la compilation ou à l'exécution, les paquets dans la liste des règles sélectionnées sont développés. Le développement commence en haut de la liste. Si une règle métier apparaît séparément de son paquet et avant celui-ci, elle conserve sa position d'exécution dans la liste.
- Si vous ajoutez R2, puis le package, la liste développée sera R2, R1 et R3.
- Si vous ajoutez le package, puis R2, la liste développée est R1, R3 et R2.
Propriété Critères de sortie
Exit
Criteria indique si toutes les règles s'exécutent ou seulement la première instance de la première règle s'exécute. Vous pouvez fixer cette propriété à l'une des
valeurs suivantes :- None: Toutes les instances de toutes les règles applicables s'exécutent pour un tuple avant de passer au tuple suivant.
- Rule: Toutes les instances de règle de la première règle applicable s'exécutent pour un tuple avant de passer au tuple suivant.
- Rule Instance: seule la première instance de règle de la première règle applicable s'exécute pour un tuple avant de passer au tuple suivant.