Marquages et règle de franchissement

Chapitre 2 sur 10. Calculer exactement les consommations et productions, y compris pour les arcs pondérés et les boucles.

1. Écrire le modèle

Nous notons un réseau marqué (P, T, Pre, Post, M₀). P contient les places, T les transitions ; ces ensembles sont disjoints. Pre(p,t) indique combien de jetons t consomme dans p, Post(p,t) combien elle y produit. Un nombre nul signifie qu’il n’y a pas d’arc correspondant. Tous ces nombres sont des entiers naturels.

Le marquage M associe un nombre de jetons à chaque place. Choisir une fois pour toutes l’ordre des places évite de mélanger des vecteurs. Dans les tableaux du cours, une colonne de Pre ou Post décrit une transition entière.

2. Vérifier avant de calculer

La transition t est franchissable si, pour chaque place p, M(p) ≥ Pre(p,t). Les conditions sont combinées par un ET. Quand cette condition est satisfaite, son franchissement donne M′(p) = M(p) − Pre(p,t) + Post(p,t).

Les jetons produits ne peuvent pas être utilisés pour rendre possible ce même franchissement : on teste les entrées sur M, pas sur un état provisoire. La condition porte ici seulement sur les entrées. Une capacité de place n’est pas automatique ; elle doit être modélisée ou appartenir explicitement à une extension.

Grouper consomme deux demandes et produit un lot. La place Demandes conserve un jeton après le premier franchissement.
Grouper consomme deux demandes et produit un lot. La place Demandes conserve un jeton après le premier franchissement. Cliquer pour agrandir.

3. Traiter une demande par lot de deux

Une transition Grouper consomme deux demandes et produit un lot. Dans l’ordre (Demandes, Lots), Pre = (2,0), Post = (0,1), M₀ = (3,0). Puisque 3 ≥ 2, Grouper est possible. Le nouveau marquage est (3,0) − (2,0) + (0,1) = (1,1).

Un second franchissement est impossible : la place Demandes ne contient plus qu’un jeton. Le poids 2 ne signifie ni une probabilité, ni une durée, ni deux événements successifs. Il impose de consommer deux unités au cours d’un même événement.

4. Comprendre les boucles

Une place peut être à la fois entrée et sortie d’une transition. Si Pre(p,t) = Post(p,t) = 1, le nombre final ne change pas, mais le jeton doit exister avant le franchissement. À M(p) = 0, la transition est bloquée malgré un bilan net nul.

Cette boucle peut exprimer une condition de disponibilité lors d’un événement atomique. Elle ne réserve pas une ressource pendant une longue opération : pour cela, on retire la ressource au démarrage et on la rend à la fin, comme dans le chapitre suivant.

Méthode de calcul : écrire l’ordre des places, vérifier toutes les entrées, soustraire Pre, ajouter Post, vérifier que chaque composante reste entière et positive ou nulle.

Trois exercices corrigés

Exercice 1 : Franchir un arc pondéré

Grouper consomme deux demandes et produit un lot. Depuis (5,0), donnez les marquages obtenus après deux franchissements.

Voir la correction de l’exercice 1

Premier franchissement : (3,1). Deuxième : (1,2). Il n’y a plus assez de demandes pour un troisième. La quantité Demandes + 2 × Lots conserve la valeur 5.

Exercice 2 : Vérifier un ET

Une transition exige (2,1,0). Est-elle franchissable depuis (3,0,4) ?

Voir la correction de l’exercice 2

Non : la deuxième place contient 0 alors qu’il faut 1. L’abondance des première et troisième places ne compense pas cette absence. On ne doit pas calculer un résultat avec une composante négative.

Exercice 3 : Déjouer un bilan nul

Une transition a Pre = Post = (1). Peut-elle partir du marquage (0) ?

Voir la correction de l’exercice 3

Non. Son bilan Post − Pre vaut zéro, mais sa précondition reste M ≥ 1. Le test d’activation ne peut pas être remplacé par un contrôle du seul bilan.

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.