Pré. | Proc. |
Paramètres Propriété suivi des valeurs de propriété - Exemples
Pour vous aider à découvrir la facilité de génération d'informations sur les paramètres de propriété à partir d'une simulation d'un modèle de processus métier BPMN, Sparx Systems fournit deux exemples que vous pouvez explorer dans le modèle EAExample. Voici les:
- Processus de Fibonacci - un exemple très simple pour vous aider à vous familiariser avec les facilités de suivi des facilités
- Processus de réparation de voiture - un exemple plus complexe que vous pouvez manipuler pour voir comment un processus réel pourrait être étudié
L'exemple de Fibonacci
Il s'agit d'un processus métier récursif très simple qui calcule une série de nombres de Fibonacci sur dix itérations ; vous pouvez voir comment les paramètres de propriété s'incrémentent à chaque itération à travers les éléments du processus. Ouvrez Example Modèle > Simulation de Modèle > BPSim Models > Fibonacci.
Le pseudocode du processus est affiché dans l'élément Notes du diagramme . L'instruction 'print(next)' affichera les séries de nombres 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.
La configuration BPSim pour ce processus est configurée comme décrit ici.
Marcher |
Action |
Voir également |
---|---|---|
1 |
Dans l'onglet 'Control' de l'élément StartEvent, mettez 'TriggerCount' à '1', et dans l'onglet ' Propriétés ' créez et initialisez les propriétés :
|
|
2 |
Définissez maintenant les propriétés de chacune des Activités du processus, dans l'onglet ' Propriétés '. Note que les valeurs de ces propriétés sont dérivées de Expressions , dont les composants doivent être placés entre accolades - {xxx}. Pour l'activité :
|
Utilisant le Dialogue de Valeur de Paramètre Les composants Interface Utilisateur BPSim |
3 |
Définissez les paramètres de la propriété 'Condition' pour les deux connecteurs Sequenceflow issus de l'élément Passerelle 'loopNode', dans l'onglet 'Control'. Agrandir la Passerelle | élément loopNode et pour le lien vers :
|
|
4 |
Une fois la configuration terminée, cliquez sur le bouton Exécuter de la fenêtre Configure Exécuter et sur la boîte de dialogue 'BPSim Simulation Controller', en sélectionnant une simulation standard. Lorsque la simulation est terminée, cliquez sur le bouton Attributes . Dans la boîte de dialogue 'BPSim PropertyParameter Values', définissez le champ 'Token number' sur '0' et cliquez sur le bouton Query . |
|
5 |
Examinez maintenant les valeurs de la propriété 'next' lors de l'entrée de la première = deuxième activité à chaque itération de la simulation. Cliquez sur l'onglet "Regrouper par propriété" et développez l'élément "suivant". La liste des valeurs est longue, alors cliquez-droit sur les en-têtes de colonne et sélectionnez l'option 'Toggle Barre de Filtre '. Sous l'en-tête de colonne "Propriété", saisissez "first=". Cela filtre la liste pour afficher uniquement les valeurs des paramètres de propriété lors de la saisie de la première=seconde activité.
|
L'exemple de la réparation automobile
Cet exemple plus complexe est basé sur un modèle réaliste d'un processus de réparation automobile, où un certain nombre de clients individuels demandent un devis pour la réparation et procèdent à la réparation ou refusent de continuer ; vous pouvez voir comment les paramètres de propriété varient au fur et à mesure que différentes décisions sont prises au cours du processus. Ouvrez Example Modèle > Simulation de Modèle > BPSim Models > Car Repair Process.
Le processus global est représenté par ce diagramme :
L'activité de réparation de voiture est un élément composite qui contient ce diagramme de sous-processus :
Marcher |
Action |
---|---|
1 |
Dans la fenêtre Navigateur , développez le paquetage enfant ' Paquetage ' sous le paquetage 'Car Repair Paquetage ' et double-cliquez sur l'artefact 'Scenario 1: Main Flow'. La fenêtre Configurer BPSim s'affiche. Dans l'onglet "Scénario", regardez le champ "Durée" ; celle-ci a été fixée à 2 jours et 12 heures (c'est-à-dire 60 heures). |
2 |
Dans la hiérarchie des processus à gauche de la fenêtre, développez la catégorie ' Début événement' et cliquez sur 'Le client arrive'. Sélectionnez l'onglet 'Control' et regardez le paramètre 'InterTriggerTimer', qui a la valeur 24 minutes ; c'est-à-dire qu'un client arrive toutes les 24 minutes (donc sur la durée de 60 heures, 150 clients passent par l'atelier de réparation). Chaque client entre dans l'atelier de réparation avec un ou plusieurs problèmes à évaluer et à réparer. Le nombre de problèmes que chaque client présente peut être généré aléatoirement à l'aide de l'une des distributions prises en charge par BPSim. Comme le nombre d'émissions est compté en unités discrètes (plutôt que mesuré sur une échelle continue), nous utiliserons une distribution « integer ». Si vous sélectionnez l'onglet ' Propriétés ' pour l'événement de début 'Le client arrive', vous verrez que la valeur de la propriété ' Début ' est initialisée à partir d'une distribution de Poisson avec une moyenne de 3. |
3 |
Développez maintenant la décision Passerelle 'Accepté ?' et ses connecteurs, dans la hiérarchie des processus. 'Estimation initiale acceptée' a un paramètre de contrôle ' Probabilité ', fixé à 0,67. Le connecteur alternatif, « Estimation initiale non acceptée », a un paramètre de contrôle similaire « Probabilité » défini sur 0,33. Autrement dit, nous nous attendons à ce qu'en moyenne un problème sur trois soit retiré - ou non poursuivi - par le client. |
4 |
Plus loin dans le processus, lorsqu'un problème est évalué sur le véhicule, il est possible qu'un autre problème soit découvert. Dans la liste des éléments Passerelle , le dernier 'élément sans nom' a deux chemins : 'Nouveau problème trouvé' et 'Aucun problème ajouté trouvé'. Cliquez sur chacun d'eux et regardez l'onglet "Contrôle" ; le paramètre ' Probabilité ' pour 'New Issue Found' est fixé à 0,25 et, pour 'No Added Issue Found', à 0,75. Ainsi, en moyenne, pour quatre problèmes signalés et évalués, un nouveau est découvert. Le chemin « Nouveau problème trouvé » amène le processus à l'activité « Gérer un nouveau problème trouvé », qui ajoute 1 au nombre de problèmes à traiter pour le client actuel. Développez le groupe d'activités et cliquez sur l'élément « Gérer les nouveaux problèmes détectés » et sur l'onglet « Propriété ». Vous verrez que la propriété 'noOfIssues' ici a la valeur Expression { valeur } + 1 . |
5 |
Lorsqu'un problème avec le véhicule est résolu, l'activité « Problème de réparation » déduit 1 du nombre de problèmes à réparer pour le client actuel. Cliquez sur l'élément 'Repair Issue' dans le groupe Activity et sur l'onglet 'Property'. Vous verrez que la propriété 'noOfIssues' a ici la valeur Expression { valeur } - 1 . |
6 |
La valeur de l'activité « Réparer le problème » est testée à l'étape « Avez-vous d'autres problèmes ? » Passerelle . Cliquez sur le connecteur "Plus de problèmes à réparer" et sur l'onglet "Contrôle" ; le paramètre Condition pour suivre ce chemin est défini sur la valeur Expression { valeur } > 0 ; le flux passe à la Passerelle avant l'activité « Inspecter le problème ». De même, si vous cliquez sur le connecteur 'No More Issues to Repair' et sur l'onglet 'Control', le paramètre Condition pour suivre ce chemin est défini sur la valeur Expression { valeur } =< 0 , et le flux passe au 'Repairs Fin de l'événement terminé. Maintenant que vous avez examiné le déroulement du processus et les paramètres de configuration, vous pouvez exécuter une simulation et révision les résultats. |
sept |
Dans la fenêtre Configurer BPSim, cliquez sur le bouton Exécuter , puis dans la boîte de dialogue 'BPSim Simulation Controller', cliquez à nouveau sur le bouton Exécuter , en sélectionnant la simulation 'Standard' (cependant, le type de simulation ne fait aucune différence pour la réviser des paramètres de propriété) . Sur la boîte de dialogue 'BPSim Simulation Controller', vous pouvez révision le statut du Token (et voir qu'un client supplémentaire parvient à entrer dans la boutique à la toute dernière minute) mais il est difficile de voir exactement comment ces données récapitulatives ont résulté. Cliquez sur le bouton Attributes pour obtenir les informations détaillées sur les valeurs des paramètres de propriété dans la boîte de dialogue 'Valeurs des paramètres de PropertyParameter BPSim'. |
8 |
Sur le côté gauche de la boîte de le dialogue se trouve un résumé des valeurs minimales et maximales du paramètre de propriété (attribut) pour chaque élément du processus. Par exemple, pour l'élément 'Customer Arrives', le paramètre 'noOfIssues' a un minimum de 0 et un maximum de 8, comme généré par la distribution de Poisson (3). Dans le champ 'Token Number', saisissez un nombre (N) compris entre 0 et 150 à sélectionner pour le Nième client qui est entré dans l'atelier de réparation. Cliquez sur le bouton Query pour obtenir les valeurs des paramètres de propriété utilisées dans le processus pour ce client. Révision les résultats sur chacun des deux onglets :
|
9 |
Continuez à explorer les résultats selon vos besoins, en sélectionnant différents clients (jetons). Vous pouvez également revenir à la configuration BPSim et modifier les initialisations des paramètres et en ajouter de nouvelles, ou modifier les points de décision, pour expérimenter le processus. |
Répondre à des nombres réels dans la simulation d'un processus basé sur des nombres entiers
Dans certains cas, vous devrez peut-être générer des valeurs de paramètre de propriété à l'aide d'une distribution qui renvoie des nombres "réels" lorsque les activités du processus fonctionnent avec des entiers ou lorsque vous souhaitez voir quel impact le forçage des valeurs integer a sur le processus.
Un mécanisme à appliquer dans de tels cas consiste à définir des conditions pour éviter les nombres absolus. Ainsi, par exemple, vous pourriez avoir un compteur qui décrémente de 1, qui est initialisé à un nombre "réel". Si vous définissez une condition sur 'value==0' (égal à 0) ou ' valeur !=0' (n'est pas égal à 0), les deux conditions peuvent ne jamais être vraies ou toujours être vraies, respectivement, provoquant une boucle infinie. Pour éviter cela, dans les conditions, vous utiliseriez des opérateurs tels que :
' valeur > 0'
' valeur < 0'
' valeur >= 0'
' valeur <= 0'
Un autre mécanisme consiste à modifier le gabarit de code utilisé par le moteur BPSim, pour intercepter et remplacer les nombres réels fournis à des paramètres spécifiques par des entiers, comme indiqué :
- Sélectionnez l'option de ruban "Développer > Code source > Options > Modifier le code Gabarits ".
- Dans l'éditeur de code Gabarit , dans le champ 'Langue', cliquez sur la flèche déroulante et sélectionnez 'MDGBPSimExecutionEngineExtension'.
- Dans la liste des gabarits (Java), cliquez sur ' gabarits Compute Value'. Le contenu du gabarit s'affiche dans le panneau ' Gabarit '.
- Trouvez cette ligne :
double %bpsimPropertyParameterName% = (double) distribution.next();
Changez-le en :
% si bpsimPropertyParameterName == "noOfIssues" ou bpsimPropertyParameterName == "noOfVisitors"%
double %bpsimPropertyParameterName% = ( int ) distribution.next();
//double %bpsimPropertyParameterName% = Math. ceil (distribution.next());
//double %bpsimPropertyParameterName% = Math. floor (distribution.next());
//double %bpsimPropertyParameterName% = Math. round (distribution.next());
% sinon %
double %bpsimPropertyParameterName% = (double) distribution.next();
% fin Si % - Remplacez les noms des paramètres de propriété par vos propres paramètres de propriété.
- Cliquez sur le bouton Enregistrer, fermez l'éditeur Code Gabarit et rechargez le projet.
Comme présenté, pour chaque paramètre spécifié, le gabarit de code remplacera simplement tout nombre "réel" initialisé par la distribution par un integer . Si vous préférez, vous pouvez utiliser l'une des lignes commentées à la place :
- Math. ceil () prendra le nombre "réel" et le convertira en l' integer le plus élevé suivant
- Math. floor () prendra le nombre "réel" et le convertira en l' integer le plus bas suivant
- Math. round () prendra le nombre "réel" et l' round vers le haut ou vers le bas selon qu'il est supérieur ou inférieur à n.5
Comportement du paramètre de temps
Dans la configuration BPSim, vous pouvez définir un certain nombre de paramètres de temps pour une activité, tels que le temps d'attente et le temps d'attente. Vous pouvez également définir une demande de résultat sur chacun d'eux, pour une simulation personnalisée. Cependant, le moteur de simulation BPSim combine ces paramètres en une seule quantité « Temps de traitement ».
Considérons le modèle simple TimeParameter dans l'Exemple Modèle (Example Modèle > Simulation de Modèle > BPSim Models > Time Parameter), représenté par ce diagramme :
Si vous double-cliquez sur l'élément Artifact2, la fenêtre Configurer BPSim s'affiche. Cliquez sur l'élément Activity1 dans le diagramme pour développer le groupe Activity, pour sélectionner Activity1 dans la hiérarchie à gauche de la boîte de le dialogue et pour afficher le premier onglet, 'Time', pour l'élément dans la configuration, comme indiqué.
Note que dans le panneau supérieur, il y a sept paramètres "Temps" fournis par le système, qui ont reçu des valeurs initiales de - dans l'ordre - 1, 2, 4, 8, 16, 32 et 64 minutes (les 64 minutes correspondent à 1 heure et 4 minutes). Note également que dans le panneau inférieur, chacun d'eux a une demande de résultat pour la valeur d'exécution valeur du paramètre.
Cliquez sur le bouton Exécuter , et dans la boîte de dialogue 'BPSim Simulation Controller', cliquez sur le bouton Exécuter et sélectionnez 'Standard Simulation '. La simulation est configurée pour parcourir le processus une fois. Lorsque la simulation est terminée, cliquez sur le bouton Ouvrir le résultat, puis cliquez cliquez-droit sur 'BPMN Simulation Rapport Vue ' et sélectionnez l'option 'Afficher uniquement les Items non vides'. Cela vous donne, pour l'élément Activity1 sur lequel les paramètres ont été paramétrés, ces résultats :
Tous ces résultats dérivés sont de 127 minutes, la somme des valeurs initiales des sept paramètres 'Time' d'origine. Les paramètres individuels ne sont pas traités séparément.
Si vous revenez à la boîte de dialogue 'BPSim Simulation Controller' et cliquez sur le bouton Exécuter , en sélectionnant cette fois 'Custom Simulation ', le bouton Open Result affiche le 'BPMN Simulation Custom Rapport Vue '. Dans la configuration, les requêtes de résultats concernaient les valeurs moyennes des sept paramètres. Dans le Rapport Vue de la simulation, vous ne voyez que la moyenne du seul paramètre agrégé, ProcessingTime, de 127 minutes.