Découvrir les réseaux de Pétri

Chapitre 1 sur 10. Comprendre places, transitions et jetons à partir d’une demande NKILItech et d’un agent disponible.

1. Un problème de coordination

Une demande arrive chez NKILItech. Pour commencer son traitement, il faut à la fois une demande en attente et un agent libre. Une simple liste « recevoir, traiter, terminer » ne précise pas ce qui se passe quand l’agent manque. Le réseau de Pétri rend ces conditions explicites et permet de calculer les situations possibles.

Le modèle décrit des possibilités d’évolution. Il ne constitue ni un calendrier, ni un organigramme, ni le code d’une application. Nous étudions d’abord des réseaux places/transitions, sans durées, probabilités ou priorités implicites. Les exemples de NKILItech sont des hypothèses pédagogiques, pas une description de ses procédures réelles.

2. Lire les trois symboles

Une place, dessinée par un cercle, représente ici un état ou une ressource disponible. Une transition, représentée par une barre, représente un événement qui change cet état. Un jeton est une unité présente dans une place. La place Attente contient une demande ; la place Libre contient la disponibilité d’un agent.

Un arc orienté relie une place à une transition ou une transition à une place. Il n’existe pas d’arc direct entre deux places ou entre deux transitions dans le formalisme retenu. Un arc sans nombre porte le poids 1. Plusieurs jetons peuvent être représentés par un nombre à l’intérieur du cercle.

Une place marquée alimente une transition, qui produit dans une autre place. Ce dessin de vocabulaire omet volontairement la ressource agent.
Une place marquée alimente une transition, qui produit dans une autre place. Ce dessin de vocabulaire omet volontairement la ressource agent. Cliquer pour agrandir.

3. Suivre une première demande

Une demande et un agent libres permettent Commencer. Terminer rend l’agent et produit une demande traitée. Ordre du marquage : Attente, Libre, En cours, Terminé.
Une demande et un agent libres permettent Commencer. Terminer rend l’agent et produit une demande traitée. Ordre du marquage : Attente, Libre, En cours, Terminé. Cliquer pour agrandir.

Fixons l’ordre des places : (Attente, Libre, En cours, Terminé). Le marquage initial est M₀ = (1, 1, 0, 0). Commencer prélève un jeton dans Attente et un dans Libre, puis place un jeton dans En cours. On obtient M₁ = (0, 0, 1, 0).

Terminer prélève le jeton En cours, rend le jeton Libre et produit un jeton Terminé. Le marquage final vaut M₂ = (0, 1, 0, 1). L’agent est redevenu disponible ; aucune nouvelle demande n’arrive dans ce modèle fermé.

4. Interpréter sans surinterpréter

Les jetons ordinaires sont indistinguables. Avec deux demandes en attente, un jeton ne contient pas automatiquement le nom d’un client. Pour suivre des identités, il faut raffiner le modèle ou choisir une extension, par exemple des réseaux colorés, qui n’est pas utilisée dans les calculs de ce parcours.

Une transition franchissable peut se produire : rien ne lui impose de se déclencher immédiatement. Le franchissement est atomique dans ce modèle ; le temps passé à travailler sera représenté par une place En cours entre deux événements.

À retenir : le dessin décrit la structure ; les jetons décrivent la situation courante. Le même réseau peut se comporter différemment selon son marquage initial.

Trois exercices corrigés

Exercice 1 : Nommer les éléments

Dans le cas NKILItech, classez Agent libre, Commencer et le point noir dessiné dans Attente.

Voir la correction de l’exercice 1

Agent libre est une place représentant une ressource disponible. Commencer est une transition, donc un événement. Le point noir est un jeton : il compte une demande dans cette place, sans identifier son propriétaire.

Exercice 2 : Reconstituer un marquage

Une demande est en cours, aucun agent n’est libre et rien n’est terminé. Donnez le vecteur dans l’ordre du chapitre.

Voir la correction de l’exercice 2

M = (0, 0, 1, 0). L’ordre des composantes fait partie de la réponse. Permuter les deux premiers nombres ne se verrait pas ici, mais deviendrait une erreur pour un autre marquage.

Exercice 3 : Identifier la frontière

Peut-on traiter une deuxième demande après M₂ sans modifier le modèle ?

Voir la correction de l’exercice 3

Non. Il ne reste aucun jeton Attente et aucune transition ne crée une nouvelle demande. Pour étudier des arrivées, il faut ajouter un événement d’arrivée et préciser les hypothèses de capacité ; on ne dessine pas un jeton supplémentaire sans expliquer cette modification.

Références pour approfondir

Introduction universitaire PetriSim, Javier Esparza : notes universitaires sur les réseaux de Pétri. Cours, cas et figures rédigés pour PandaCodeur ; aucune figure universitaire reproduite. Les exemples NKILItech sont fictifs.