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

Valeurs Paramètres Propriété de suivi - Exemples

Pour vous aider à comprendre 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. Il s'agit des éléments suivants :

  • Processus de Fibonacci - un exemple très simple pour vous aider à vous familiariser avec les facilités de suivi des paramètres
  • Processus de réparation automobile - un exemple plus complexe que vous pouvez manipuler pour voir comment un processus réel peut être étudié
À la fin de cette rubrique se trouve une section qui explique brièvement comment vous pouvez travailler avec un processus basé sur des entiers contenant des paramètres initialisés par des distributions « réelles », et une section décrivant l'exemple du comportement des paramètres de temps.

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 au cours de dix itérations ; vous pouvez voir comment les paramètres de propriété augmentent à chaque itération à travers les éléments du processus. Ouvrez Example Modèle > Simulation de Modèle > BPSim Models > Fibonacci.

Le pseudo-code du processus est affiché dans l'élément Notes du diagramme . L'instruction 'print(next)' produira la série 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.

Étape

Action

Voir aussi

1

Dans l'onglet « Contrôle » de l'élément StartEvent, définissez « TriggerCount » sur « 1 », puis dans l'onglet « Propriétés », créez et initialisez les propriétés :

  • « N » comme « 10 »
  • « premier » comme « 1 »
  • « second » comme « 1 »
  • 'n' comme '0'

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 d' expressions , dont les composants doivent être placés entre accolades - {xxx}. Pour l'activité :

  • next=first+second - définissez la propriété 'next' et définissez la valeur comme l'expression {first} + {second}

  • first=second - définissez la propriété « first » et définissez la valeur comme l'expression {second}
  • second=next - définissez la propriété « second » et définissez la valeur comme l'expression {next}
  • n++ - définir la propriété 'n' et définir la valeur comme l'expression {n} + 1
Utilisant le Dialogue de Valeur de Paramètre Utilisant le Dialogue de Valeur de Paramètre

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 « Contrôle ».

Développez l'élément Passerelle | loopNode et pour le lien vers :

  • next=first+second - définissez le paramètre Control sur « Condition » et définissez la valeur comme Expression {n}<{N}

  • EndEvent1 - définissez le paramètre Control sur « Condition » et définissez la valeur comme Expression {n}=>{N}

4

Une fois la configuration terminée, cliquez sur le bouton Exécuter de la fenêtre Configurer BPSim et sur la dialogue 'Contrôleur Simulation BPSim' en sélectionnant une simulation Standard.

Une fois la simulation terminée, cliquez sur le bouton Attributes .

Dans la dialogue « Valeurs PropertyParameter BPSim », définissez le champ « Numéro de jeton » sur « 0 » et cliquez sur le bouton Query .

5

Examinez maintenant les valeurs de la propriété « next » lors de la saisie de la première = seconde activité à chaque itération de la simulation. Cliquez sur l'onglet « Grouper par propriété » et développez l'élément « next ».

La liste des valeurs est longue, cliquez-droit donc sur les en-têtes de colonne et sélectionnez l'option « Activer/désactiver 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 l'activité first=second.

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 de réparation et procèdent à la réparation ou refusent de continuer ; vous pouvez voir comment les paramètres de propriété varient à 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é Réparation de voitures est un élément composite qui contient ce diagramme sous-processus :

Étape

Action

1

Dans la fenêtre Navigateur , développez le Paquetage enfant « BPSim » sous le Paquetage « Processus de réparation automobile » et double-cliquez sur l'artefact « Scénario 1 : Flux principal ». La fenêtre Configurer BPSim s'affiche. Dans l'onglet « Scénario », regardez le champ « Durée » ; celui-ci a été défini sur 2 jours et 12 heures (soit 60 heures).

2

Dans la hiérarchie des processus à gauche de la fenêtre, développez la catégorie ' Démarrer Event' et cliquez sur 'Client arrive'. Sélectionnez l'onglet 'Contrôle' 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 en utilisant l'une des distributions prises en charge par BPSim. Comme le nombre de problèmes 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 Démarrer « Arrivée du client », vous verrez que la valeur de la propriété « noOfIssues » est initialisée à partir d'une distribution de Poisson avec une moyenne de 3.

3

Développez maintenant la Passerelle de décision « Acceptée ? » et ses connecteurs dans la hiérarchie des processus. « Estimation initiale acceptée » a un paramètre de contrôle « Probabilité » défini sur 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 traité) 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 détecté » et « Aucun problème ajouté détecté ». Cliquez sur chacun d'eux et regardez l'onglet « Contrôle » ; le paramètre « Probabilité » pour « Nouveau problème détecté » est défini sur 0,25 et, pour « Aucun problème ajouté détecté », sur 0,75. Ainsi, en moyenne, pour quatre problèmes signalés et évalués, un nouveau problème est découvert.

Le chemin « Nouveau problème détecté » amène le processus vers l'activité « Gérer les nouveaux problèmes détectés », 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 {noOfIssues} + 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 « Problème de réparation » dans le groupe Activité et sur l'onglet « Propriété ». Vous verrez que la propriété « noOfIssues » ici a la valeur Expression {noOfIssues} - 1 .

6

La valeur de l'activité « Réparer le problème » est testée à la Passerelle « Vous avez d'autres problèmes ? ».

Cliquez sur le connecteur « Autres 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 {noOfIssues} > 0 ; le flux passe à la Passerelle avant l'activité « Inspecter pour détecter un problème ».

De même, si vous 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 {noOfIssues} =< 0 et le flux passe à l'événement de fin « Réparations terminées ».

Maintenant que vous avez examiné le flux de processus et les paramètres de configuration, vous pouvez exécuter une simulation et révision les résultats.

7

Dans la fenêtre Configurer BPSim, cliquez sur le bouton Exécuter , puis dans la dialogue 'Contrôleur Simulation BPSim', cliquez à nouveau sur le bouton Exécuter , en sélectionnant la simulation 'Standard' (cependant, le type de simulation ne fait aucune différence pour les paramètres de propriété réviser ).

Dans la dialogue « Contrôleur Simulation BPSim », vous pouvez révision le statut du jeton (et constater 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 été générées. Cliquez sur le bouton Attributes pour obtenir les informations détaillées sur les valeurs des paramètres de propriété dans la dialogue « Valeurs PropertyParameter BPSim ».

8

Sur le côté gauche 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 « Arrivée du client », 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 « Numéro de jeton », saisissez un nombre (N) compris entre 0 et 150 à sélectionner pour le Nième client entré dans l'atelier de réparation. Cliquez sur le bouton Query pour obtenir les valeurs des paramètres de propriété utilisés dans le processus pour ce client. Révision les résultats sur chacun des deux onglets :

  • Dans l'onglet « Grouper par élément », voyez comment la valeur de l'attribut change dans chaque élément ; par exemple, pour le client 24, le paramètre « noOfIssues » est initialisé avec une valeur de 4 par la distribution aléatoire, et l'activité « Inspecter les problèmes » est appelée six fois avec la valeur du paramètre ajustée à 3 pour trois de ces appels avant de passer à 1, et l'activité « Gérer les nouveaux problèmes détectés » est appelée deux fois avec la valeur du paramètre à 3 à chaque fois
  • Dans l'onglet « Grouper par propriété », voyez comment la valeur du paramètre change à mesure que le processus parcourt les activités jusqu'à leur achèvement, en commençant par 4, en étant ajusté entre 3 et 4 un certain nombre de fois, puis en décrémentant jusqu'à 0 à la fin

9

Continuez à explorer les résultats selon vos besoins, en sélectionnant différents clients (Tokens). 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 aux 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ètres 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 pouvez avoir un compteur qui décrémente de 1, qui est initialisé à un nombre « réel ». Si vous définissez une condition sur « valeur==0 » (égal à 0) ou « valeur !=0 » (différent de 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 à éditer 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é :

  1. Sélectionnez l'option de ruban « Développer > Code source > Options > Modifier le code Gabarits ».
  2. Dans l'éditeur de code Gabarit , dans le champ « Langue », cliquez sur la flèche déroulante et sélectionnez « MDGBPSimExecutionEngineExtension ».
  3. Dans la liste des gabarits (Java), cliquez sur 'MDGBPSimExecutionEngineExtension Compute Value'. Le contenu gabarit s'affiche dans le panneau ' Gabarit '.
  4. Trouvez cette ligne :

    double %bpsimPropertyParameterName% = (double) distribution.next();

    Changez-le en :

    % si bpsimPropertyParameterName == "noOfIssues" ou bpsimPropertyParameterName == "noOfVisitors"%
    double %bpsimPropertyParameterName% = ( int ) distribution.next();
    //double %bpsimPropertyParameterName% = ceil (distribution.next());
    //double %bpsimPropertyParameterName% = Math. floor (distribution. next());
    //double %bpsimPropertyParameterName% = round (distribution.next());
    % autre %
    double %bpsimPropertyParameterName% = (double) distribution.next();
    % finSi %
  5. Remplacez les noms des paramètres de propriété par vos propres paramètres de propriété.
  6. Cliquez sur le bouton Enregistrer, fermez l'éditeur de 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 :

  • ceil () prendra le nombre « réel » et le convertira en integer le plus élevé suivant
  • Math. floor () prendra le nombre « réel » et le convertira en 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 des paramètres temporels

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 le Modèle d'exemple ( Modèle d'exemple > Simulation de Modèle > Modèles BPSim > Paramètre de temps), représenté par ce diagramme :

Time Parameters, Business Process Simulation in Sparx Systems Enterprise Architect

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 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 « Heure » fournis par le système, auxquels ont été attribuées des valeurs initiales de - 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'entre eux possède une demande de résultat pour la valeur moyenne de durée d'exécution du paramètre.

Cliquez sur le bouton Exécuter , puis dans la dialogue « Contrôleur Simulation BPSim », cliquez sur le bouton Exécuter et sélectionnez « Simulation standard ». 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 dans la boîte de dialogue « Rapport Vue Simulation BPMN », cliquez-droit et sélectionnez l'option « Afficher uniquement Items non vides ». Cela vous donne, pour l'élément Activity1 sur lequel les paramètres ont été définis, ces résultats :

Tous ces résultats dérivés correspondent à 127 minutes, soit la somme des valeurs initiales des sept paramètres « Heure » d'origine. Les paramètres individuels ne sont pas traités séparément.

Si vous revenez à la dialogue « Contrôleur Simulation BPSim » et cliquez sur le bouton Exécuter , en sélectionnant cette fois « Simulation personnalisée », le bouton Ouvrir le résultat affiche le « Rapport Vue personnalisé Simulation BPMN ». Dans la configuration, les demandes 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 paramètre agrégé unique, ProcessingTime, à 127 minutes.