Réserver une Démo
Pré. Proc.

Décision Service

Des parties de ce sujet ont été utilisées textuellement ou sont librement adaptées de la Spécification DMN, qui est disponible à l'adresse suivante : https://www.omg.org/spec/DMN . Ce site contient une description complète du DMN et de ses capacités.

Un service Décision expose une ou plusieurs décisions d'un modèle Décision en tant qu'élément réutilisable, qui peut être invoqué en interne par une autre décision dans le modèle Décision , ou en externe par une tâche dans un modèle de processus BPMN.

Lorsque le service Décision est appelé avec les données d'entrée et les décisions d'entrée nécessaires, il renvoie les sorties des décisions exposées.

L'interface d'un service Décision

L'interface avec Décision Service est composée de :

  • Données d'entrée - instances de toutes les données d'entrée requises par les décisions encapsulées
  • Décisions d'entrée - instances des résultats de toutes les décisions d'entrée
  • Décisions de sortie - les résultats de l'évaluation (au moins) de toutes les décisions de sortie, en utilisant les décisions d'entrée et les données d'entrée fournies
Lorsque le service Décision est appelé avec les données d'entrée et les décisions d'entrée nécessaires, il renvoie les sorties des décisions exposées.

Cette figure montre un modèle Décision qui comprend six décisions et trois éléments de données d’entrée.

Pour DecisionService1, le :

  • La décision de sortie est {Decision1}
  • La décision d’entrée est {Decision5}, et
  • Les données d'entrée sont {InputData1}
Comme Decision1 requiert Decision2, qui n'est pas fournie au service en entrée, le service doit également encapsuler Decision2 ; par conséquent, les décisions encapsulées sont {Decision1, Decision2}.

Il ressort clairement de la figure que Decision6, Decision3, Decision4 et InputData3 ne sont pas requises par les décisions de DecisionService1. Qu'en est-il de InputData2 ? Bien qu'elles soient requises par Decision5, qui est elle-même requise par DecisionService1, InputData2 n'est en réalité pas requise par DecisionService1. En effet, Decision5 est définie comme la Décision d'entrée. Du point de vue d'un service Décision , nous ignorons toutes les décisions ou données d'entrée requises par une Décision d'entrée.

Pour DecisionService2, le :

  • La décision de sortie est {Decision3}
  • La décision d’entrée est {Decision5}, et
  • Les données d'entrée sont {InputData3}
Comme Decision3 nécessite Decision4, qui n'est pas fournie au service en entrée, le service doit également encapsuler Decision4 ; par conséquent, les décisions encapsulées sont {Decision3, Decision4}.

Il est recommandé de créer un diagramme distinct pour chaque service Décision . De cette façon, le diagramme ne contiendra que les éléments d'interface et les décisions encapsulées pour le service Décision ; les éléments qui ne sont pas pertinents n'apparaîtront pas sur le diagramme .

Modélisation d'un service Décision

Nous pouvons créer un élément Décision Service à partir des pages DMN de la boîte à outils Diagramme et basculer les partitions [sortie] et [encapsulées] à partir du menu contextuel.

Vous ne pouvez afficher qu'une partition [encapsulée] lorsqu'une partition [de sortie] est affichée.

Une fois les décisions et les données d'entrée placées dans la ou les partitions correctes, vous devez exécuter la commande « Mettre à jour l'interface DecisionService » depuis le menu contextuel pour mettre à jour le modèle.

Important : pour que la simulation DMN fonctionne correctement, veuillez mettre à jour l'interface Décision Service chaque fois que vous :

  • Afficher/masquer la ou les partitions du service de décision
  • Ajouter une décision au service de décision
  • Supprimer une décision du service de décision
  • Déplacer une décision entre les partitions
  • Ajouter/supprimer des entrées du service Décision : données d'entrée ou décisions d'entrée

Apprenez Plus