Liste des documents
Sur cette page

Fonctionnement du moteur de simulation

Comprendre le moteur de simulation

ProcessMind utilise un moteur discrete event simulation (DES) pour modéliser vos processes. Comprendre son fonctionnement vous aide à mieux paramétrer vos simulations et à bien interpréter les résultats.


Qu’est-ce que la discrete event simulation ?

Dans la discrete event simulation, l’état du système change uniquement lors d’events — l’horloge saute d’un event à un autre, il ne se passe rien entre deux. Cette méthode est idéale pour les business processes car :

  • Les activités ont des débuts et fins précises
  • Ressources allouées/libérées à des moments définis
  • Les cases arrivent et se terminent à un instant défini

Pourquoi les events discrets ?

Contrairement à la simulation continue (physique, fluide), les business processes n’exigent pas de suivi instantané. Une demande de prêt ne passe pas peu à peu de “soumise” à “approuvée” : le changement intervient lors d’un event précis.


Boucle centrale des events

Le moteur de simulation suit une boucle simple et puissante :

1. Initialisation : définir les conditions de départ
2. Prochain event : trouver l’event le plus proche dans la file prioritaire
3. Avancer le temps : placer l’horloge sur le prochain event
4. Traiter l’event : gérer l’événement (start activity, complete activity, ...)
5. Programmer la suite : ajouter les nouveaux events selon ce qui s’est passé
6. Répéter : jusqu’à la fin ou max d’events atteint (2 000 000)
7. Résultat : générer l’event log complet

Types d’events

La simulation génère et traite différents types d’events :

Type d’eventDescription
Case ArrivalUn nouveau case entre dans le process via un start event
Activity StartUn case démarre une activité (ressources allouées)
Activity CompleteUne activité s’achève pour un case (ressources libérées)
Gateway EvaluationUn point de décision détermine la voie à suivre
Case CompleteUn case atteint un end event

Génération et arrivée des cases

Les cases entrent dans la simulation via des Start Events de votre modèle BPMN. Le schéma d’arrivée est contrôlé par la distribution de génération des cases.

Schéma d’arrivée par défaut

Par défaut, les cases arrivent selon une distribution de Poisson à raison d’1 case par heure. Cela simule des délais réalistes et aléatoires courants en business process.

Personnaliser les arrivées

Vous pouvez configurer différents schémas d’arrivée en utilisant les distributions évoquées dans la doc Distributions .


Flux du case dans le process

Sequence Flows

Quand un case termine un élément, il suit aussitôt la sequence flow sortante. S’il n’y a qu’une seule option, elle est prise automatiquement.

Comportement des gateways

Les gateways gèrent la façon dont les cases se divisent et se rassemblent :

Type de GatewayComportement
XOR (Exclusive)Une seule sortie, choisie par tirage au sort pondéré selon la probabilité attribuée. Les probabilités sont des poids, normalisés automatiquement.
AND (Parallel)Toutes les sorties sont prises ensemble. Le case se duplique en jetons en parallèle.
OR (Inclusive)Sélection au hasard d’au moins une sortie garantie.
Event-BasedSélection aléatoire parmi les events dispo.

Paramétrage des probabilités

Pour les gateways XOR, attribuez un poids à chaque flow sortant. Ce sont des poids relatifs :

  • Par exemple, 70, 20, 10 donnent 70 %, 20 %, 10 %
  • 7, 2, 1 donnent le même résultat
  • Toutes les sorties doivent être pondérées, les non affectées prennent le reste

Exécution d’une activité

Lorsqu’un case atteint une task (activité), le moteur suit cette séquence :

1. Vérifier la dispo des ressources

La ressource demandée a-t-elle une capacité disponible ?

2. Mettre en attente si nécessaire

Si aucune ressource n’est disponible, le case entre en file d’attente. ProcessMind utilise le modèle FIFO (First In, First Out) : chaque case est traité dans l’ordre d’arrivée.

3. Allouer les ressources

Dès qu’elles sont libres, les ressources nécessaires sont attribuées à ce case.

4. Calculer le temps de traitement

Le moteur prélève une valeur dans la distribution de temps de traitement paramétrée. Cela fixe la durée de l’activité.

5. Planifier la fin de l’activité

L’event de fin est ajouté à la file d’attente à « current_time + processing_time ».

6. Libérer les ressources

À la fin, les ressources sont restituées et dispo pour d’autres cases.

Durée minimale de traitement

Pour garantir des timestamps uniques et un résultat réaliste, toute activité dure au moins 1 seconde, même si la durée distribuée est zéro.


Taux de saut

Les activities peuvent être configurées avec un taux de saut (0-100 %). Lorsqu’une activity est sautée :

  • Le case passe immédiatement à l’élément suivant
  • Aucune ressource n’est consommée
  • Aucun temps ne s’écoule (hors 1 seconde minimum)
  • L’activité apparaît dans le log avec une durée minimale

Cela modélise les situations réelles où certaines étapes sont parfois ignorées.


Gestion du temps

Horloge de simulation

La simulation garde une horloge virtuelle qui avance uniquement d’un event à l’autre. Si le prochain event est à 10h35 et qu’il est 10h30, l’horloge saute à 10h35.

Unités de temps

Tous les temps sont harmonisés en interne. Vous pouvez indiquer les durées en :

  • Secondes
  • Minutes
  • Heures
  • Jours
  • Semaines
  • Mois

Périodicité et créneaux horaires

Les paramètres varient selon le moment de la simulation, par exemple :

  • Taux d’arrivée différent semaine/weekend
  • Temps de traitement différents matin/après-midi
  • Capacité ressource supérieure aux heures de pointe

Voir la doc Périodicité  pour le paramétrage.


Gestion des ressources

Pools de ressources

Chaque ressource a une capacité : nombre de cases traités en même temps.

Gestion de la file d’attente

Si la demande dépasse la capacité, les cases attendent. ProcessMind s’appuie sur FIFO (First In, First Out) : tout est traité dans l’ordre d’arrivée.


Génération du journal des events

Pendant la simulation, chaque exécution d’activité est enregistrée dans l’event log :

ChampDescription
Case IDIdentifiant unique du case (généré séquentiellement)
ActivityNom de l’élément BPMN
Start TimestampDate/heure de début de l’activité
Complete TimestampDate/heure de fin de l’activité
ResourceRessource ayant réalisé l’activité
AttributesAttributs du case à ce moment

Ce log respecte les formats standards d’event log et peut être analysé avec tous les outils ProcessMind.


Limites de simulation

LimiteValeurObjectif
Max Events2 000 000Empêche une simulation sans fin
Min Duration1 secondeAssure des timestamps uniques

Commencez petit, puis montez en charge

Lors de la création d’une nouvelle simulation, commencez par une courte période (quelques jours ou semaines) pour valider la configuration. Une fois votre modèle validé, augmentez progressivement la durée.


Prochaines étapes

Ressources
Découvrez comment modéliser ressources et contraintes de capacité.