Thème 11 Réseaux de Petri Places-Transitions



Documents pareils
Modèles à Événements Discrets. Réseaux de Petri Stochastiques

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Les diagrammes de modélisation

Conception des systèmes répartis

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Fonctions de plusieurs variables

Cours de Génie Logiciel

Élasticité des applications à base de services dans le Cloud

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Chapitre 4 : Exclusion mutuelle

Les processus métiers : concepts, modèles et systèmes

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

4.2 Unités d enseignement du M1

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Algorithmique des Systèmes Répartis Protocoles de Communications

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Cours de Systèmes d Exploitation

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Exercices sur le chapitre «Probabilités»

Formats d images. 1 Introduction

Programmation linéaire

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

F411 - Courbes Paramétrées, Polaires

Contributions à l expérimentation sur les systèmes distribués de grande taille

VIII- Circuits séquentiels. Mémoires

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Chaînes de Markov au lycée

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Systèmes et algorithmes répartis

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

L exclusion mutuelle distribuée

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Fonctions de deux variables. Mai 2011

Modélisation et Simulation

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Raisonnement probabiliste

Cours 02 : Problème général de la programmation linéaire

Firewall Net Integrator Vue d ensemble

Formations EViews FORMATIONS GENERALES INTRODUCTIVES INTRO : INTRODUCTION A LA PRATIQUE DE L ECONOMETRIE AVEC EVIEWS

Chapitre 2 Le problème de l unicité des solutions

Les indices à surplus constant

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Programmation linéaire

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Texte Agrégation limitée par diffusion interne

Probabilités stationnaires d une chaîne de Markov sur TI-nspire Louis Parent, ing., MBA École de technologie supérieure, Montréal, Québec 1

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Cours de Base de Données Cours n.12

Baccalauréat ES Amérique du Nord 4 juin 2008

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Calcul différentiel sur R n Première partie

Qu est-ce qu une probabilité?

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Générer du code à partir d une description de haut niveau

Probabilités sur un univers fini

Introduction à MATLAB R

Mes documents Sauvegardés

Annexe 6. Notions d ordonnancement.

Correction de l examen de la première session

CONFIGURATION FIREWALL

SIMULATION ORIENTEE EVENEMENTS DES MODELES HYBRIDES

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Suites numériques 3. 1 Convergence et limite d une suite

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

«Petit guide d utilisation Prezi» par Marc Nolet

Fonctions de plusieurs variables

Modélisation aléatoire en fiabilité des logiciels

Limitations of the Playstation 3 for High Performance Cluster Computing

APPROCHE DE LA SURVEILLANCE DES SYSTEMES PAR RESEAUX DE PETRI SYNCHRONISES FLOUS

Visual Paradigm Contraintes inter-associations

Bases de données documentaires et distribuées Cours NFE04

Grafcet Designer v.2.0 Manuel de Référence

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Initiation à linfographie

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

TSTI 2D CH X : Exemples de lois à densité 1

Internet et Multimédia Exercices: flux multimédia

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Sélection du contrôleur

IFT1215 Introduction aux systèmes informatiques

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

MATRICES RACI ET DIAGRAMMES BPMN : COMPLÉMENTAIRES DANS LES CONTRATS D OUTSOURCING. Processus, outsourcing

1 DHCP sur Windows 2008 Server Introduction Installation du composant DHCP Autorisation d'un serveur DHCP...

Chapitre 5 : Flot maximal dans un graphe

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

V- Manipulations de nombres en binaire

Ordonnancement temps réel

Modélisation et évaluation de performance des systèmes basés composants

Transcription:

Thème 11 Réseaux de Petri Places-Transitions Contenu du thème 1. Introduction 2. RdP PT 3. Protocoles de communication Références Diaz, Michel (2001) Les Réseaux de Petri Modèles fondamentaux, Hermes Science Publications : Paris. Peterson, J. L. (1977) «Petri Nets», Computing Surveys, vol. 9, N 3, pp 223-252. http://www.daimi.au.dk/petrinets/ 1 Introduction Créés par Carl Adam Petri en 1962 afin de modéliser la composition et la communication entre automates. Le 1 er modèle, appelé RdP CE (conditions-événements) reposait sur l utilisation des valeurs booléennes, vrai et faux. Les RdP PT (places-transitions) généralisent les RdP CE en manipulant des valeurs entières. Exemple 1 (sauvegardé en format GIF avec JARP) Éléments de vocabulaire : les jetons, le marquage, les places, les transitions, le tir ou le franchissement d une transition, transition tirable ou franchissable. 1

Les familles de RdP : sémantique discrète RdP PT 1962, 1969 RdP temporisés 1974 sémantique temporelle RdP colorés 1940, 1981 RdP S 1976, 1980 RdP T 1975 RdP temporisés hiérarchisés 1974 RdP colorés bien formés 1990 RdP temporisés stochastiques 1984 RdP T à flux 1993 sémantique stochastique RdP temporisés stochastiques bien formés 1991 RdP T hiérarchisés 1995 Trois grandes familles (qui ne sont évidemment pas étanches) peuvent se distinguer. Elles correspondent à trois domaines sémantiques : la sémantique discrète (RdP PT et ses dérivés) pour les comportements qui peuvent se représenter par des graphes finis ou dénombrables d états; la sémantique continue (RdP T et ses dérivés) pour les comportements qui nécessitent la prise en considération explicite d un temps dense; la sémantique stochastique (RdP S et ses dérivés) pour les comportements qui incluent des distributions de franchissement et conduisent à des processus stochastiques (chaînes de Markov, etc.). Quelques outils de base pour manipuler des RdP (disponibles sur le site «Petri Nets World»: JARP : éditeur graphique, simulation, sauvegarde en GIF, JPEG, etc. Plate-forme Java. RENEW : éditeur graphique, simulation, sauvegarde EPS, PS, XML. Plate-forme Java. PetriNet Kernel (PNK) : éditeur graphique (très peu intuitive), simulation. Plate-forme Java. INA : PAS d éditeur graphique, analyses poussées. Plate-forme Windows. SIMPRES : éditeur graphique, simulation. Plate-forme Java. Danamics : éditeur graphique, simulation, analyses simples. Plate-forme Java. 2

2 RdP PT 2.1 Automates et machines à états Rappel : Les modèles fondés sur les automates et les machines à états reposent sur trois hypothèses. Hypothèse 1 Il existe, dans le système modélisé, une notion d état global, un ensemble de ces états et une représentation explicite de ces états. Hypothèse 2 Le fonctionnement (ou le comportement) du système modélisé peut se décrire par des règles permettant de passer d un état global de départ (donné) à un autre état global d arrivée (donnée). La transition s effectue quand survient un événement conditionnant l évolution du système. À partir de ces deux hypothèse, la description du système est définie par un graphe global qui représente le fonctionnement du système. Hypothèse 3 C est l hypothèse de l indivisibilité des transitions entre états. Lorsqu un événement survient, celui-ci doit être totalement terminé avant l arrivée d un autre événement. Implication de cette hypothèse sur la signification des modèles : Quand des actions complexes sont associées aux transitions, elles doivent être exécutées complètement avant d atteindre l état suivant. En conséquence, il n existe que deux états globaux, l un avant, l autre après. On ne peut pas dire : je franchis partiellement la transition X. Conséquence sur le travail de modélisation : Les transitions modélisées doivent aussi être effectivement indivisibles dans le système considéré. Si certaines instructions peuvent être interrompues, la modélisation doit en tenir compte. Ces trois hypothèses tiennent encore dans la modélisation par RdP. 2.2 Des machines à états aux RdP Un réseau de petri est un modèle défini par : un ensemble de places, notées graphiquement par des cercles; un ensemble de transitions, notées graphiquement par des barres ou des rectangles; un ensemble d arcs, notés par des flèches qui joignent les places aux transitions et les transitions aux places; une distribution de jetons dans les places. 3

Exemple 2 Conséquence de la notion de transition : La transition permet ainsi de composer des machines à états. Conséquence de la notion de marquage : Le système ne sera plus modélisé par la considération d un état global mais par celle d un ensemble de sous-états (places) spécifiques (liés aux jetons). L ensemble des places marquées constituera l état du RdP complet. Conséquence de la notion de jeton : Une place peut représenter la consommation de «n» ressources ou, à l inverse, la production de «n» ressources. 2.3 Concepts et définitions Définition 1 Un réseau de Petri Places-transitions R se définit comme un uplet : (P, T, Pré, Post) où : 1. P est l ensemble des places; 2. T est l ensemble des transitions; 3. Pré = P x T å N, une application d incidence avant où Pré(p, t) contient la valeur entière «n» associée à l arc allant de «p» à «t». 4. Post = P x T å N, une application d incidence arrière où Post(p, t) contient la valeur entière «n» associée à l arc allant de «t» à «p». À propos des places : «p» est une place d entrée de la transition «t» si Pré(p, t) > 0 «p» est une place de sortie de la transition «t» si Post(p, t) > 0 Représentation matricielle Il est facile de construire une représentation matricielle d un RdP PT. On construit la matrice correspondant à Pré et celle correspondant à Post. Les lignes identifient les places et les colonnes, les transitions. Une intersection (i,j), dans Pré, correspond au coût associé à l arc menant de la place «i» à la transition «j», tandis qu une intersection (i,j), dans Post, correspond au coût associé à l arc menant de la transition «j» à la place «i». 4

Exemple 3 Pré cas 3 Post cas 4 t1 t2 t3 t1 t2 t3 p1 2 1 0 p1 5 0 1 cas 1 p2 0 6 4 p2 7 3 0 cas 2 Ce cette manière, il est facile d aller chercher, tout ce qui sort d une place (cas 1), tout ce qui entre dans une place (cas 2), tout ce qui entre dans une transition (cas 3) et tout ce qui sort d une transition (cas 4). Définition 2 Le marquage d un RdP est une application M : P å N donnant pour chaque place le nombre de jetons qu elle contient. Le marquage initial sera noté m o et M(p) indique le marquage de la place «p». Définition 3 Le fonctionnement d un RdP se définit comme suit. Pour un marquage «M», une transition «t» est dite tirable (ou franchissable ou sensibilisée) SSI A p i P, on a M(p i ) Pré(p i, t) c est-à-dire, pour toutes les places «p i», entrées de «t», le nombre de jetons dans «p i», M(p i ), est supérieur ou égal au poids de l arc allant de «p i» à «t». Quelques notations supplémentaires : Le fait que «t» est tirable depuis «M» se notera : M[t Le tir de «t» depuis «M» donnant le nouveau marquage «M» se notera : M[t M Définition 4 Dans un RdP PT, toute transition tirable «t» peut être tirée et son tir conduit à un nouveau marquage M définit par : A p P, M (p) = M(p) Pré(p, t) + Post(p, t) 5

Exemple d un tir grâce à un calcul matriciel sur le réseau de l exemple 3 On veut tirer t1, le nouveau marquage sera : = 2 3 2 1 0 0 6 4 = 2 3 2 0 + 5 7 = 5 10 Ce qui donne graphiquement : 1 0 0 + 5 0 1 1 0 7 3 0 0 La définition 4 permet d exprimer la synchronisation de base dans les systèmes : la causalité (un événement «t» précède toujours un autre événement «t») et le parallélisme; l attente (par le manque de jetons); l accroissement et la diminution du parallélisme et/ou des ressources; le non-déterminisme; les conflits. On remarquera facilement que la section «Post Pre» de l équation de la définition 4 peut se simplifier en considérant la matrice d incidence, C, du réseau construite en calculant d abord la matrice correspondant à la section encadrée : M = M + Post(p,t) Pré(p, t) Nous avons d ailleurs illustré comment, à partir d un calcul matriciel, on peut facilement déduire le nouveau marquage «M». Définition 5 La matrice d incidence d un réseau, notée C, est définie par : Ap P, At T, C(p,t) = Post(p,t) Pré(p,t) Grâce à cette définition, on peut exprimer le calcul d un nouveau marquage «M», à partir d un marquage «M», s obtient, suite au tir de la transition «t», en calculant, pour toute place «p» du réseau : M = M + C(p,t) 6

Suite de notre exemple L exemple du tir de la transition «t» peut donc s exprimer avec la matrice d incidence C : = 2 3 + 3-1 1 7-3 -4 1 0 0 = 2 3 + 3 7 = 5 10 Définition 6 : Équation fondamentale du franchissement Ainsi, étant donnée une situation où : M[t 1 M 1, M 1 [t 2 M 2,, M n [t n M alors on obtient l équation fondamentale du franchissement : M = M + C. s où s est le vecteur caractéristique de la séquence de transitions s = t 1 t 2 t n tel que s (t) donne le nombre d occurrences de la transition «t» dans «s». On note : M[s M Ainsi, on peut facilement calculer le nouveau marquage induit par le franchissement de la séquence t 1 t 2 t 3 dans le réseau précédent. On obtiendrait : = 2 3 + 3-1 1 7-3 -4 1 1 1 = 2 3 + 3 0 = 5 3 Ou encore, si vous avez besoin d un autre exemple, le nouveau marquage induit par le franchissement de la séquence t 1 t 2 t 3 t 1 : = 2 3 + 3-1 1 7-3 -4 2 1 1 = 2 3 + 6 7 = 8 10 2.4 Graphe d accessibilité ou graphe de marquage Définition 7 L ensemble des marquages accessibles A(R,m o ) se définit par le plus petit ensemble : m o A et si M A et M tf M alors M A. L ensemble A définit l ensemble des marquages accessibles par un ensemble de vecteurs qui indiquent le nombre de jetons dans chaque place. Exemple : le marquage actuel de l exemple 3 après le tir de «t1» est le vecteur : [5, 10]. 7

Définition 8 Le graphe des marquages accessibles G(R, m o ) est défini comme le graphe dont les nœuds sont les marquages accessibles de A(R, mo) et dont les arcs sont les noms des transitions impliquées dans les tirs menant d un marquage à un autre. Exemple 4 Le graphe d accessibilité de ce réseau est : [1,1,1,0,0] t3 t1 [0,0,0,0,1] [0,1,1,1,0] t2 On peut également utiliser une autre notation. Notons f i pour indiquer que la place «i» est marquée par un jeton et n f i, si la place «i» est marquée de «n» jetons. Alors le graphe précédent peut s exprimer comme suit : 8

Exemple 5 Évidemment, un graphe de marquage peut être infini. Il est facile de voir ce fait en examinant la place «p2» qui ne fait que recevoir des jetons. Exemple 6 Le graphe d accessibilité est encore une fois infini. En voici une partie : [1,0,0] t1 t2 [0,0,1] t1 [1,1,0] [0,1,1] t2 t3 t3 [1,2,0] [0,2,1] t1 t2 t3 [1,3,0] [0,3,1] 9

Exemple 7 1,0,0,0,0,0,0 t1 t2 0,1,1,1,0,0,0 t3 t4 0,0,1,1,1,0,0 0,1,0,1,0,1,0 0,1,1,0,0,0,1 t3 t4 t2 t4 t2 t3 t5 0,0,0,1,1,1,0 0,0,1,0,1,0,1 0,1,0,0,0,1,1 t4 t3 t2 0,0,0,0,1,1,1 10

2.5 Schémas de synchronisation élémentaires 2.5.1 Parallélisme ou concurrence 2.5.2 Synchronisation A Par rendez-vous 11

B Par signal (sémaphore) Si la place «signal» est marquée et la place «attente» ne l est pas, cela signifie que le processus P1 a envoyé le signal mais le processus P2 ne l a pas encore reçu. Si, par contre, la place «signal» n est pas marquée et que la place «attente» est marquée, cela signifie que le processus P2 est en attente du signal. C Par appel/réponse Une variante du modèle précédent qui consiste à faire un signal d appel provenant du processus P1 et un signal de réponse provenant du processus P2. D Mémorisation Dans tous les modèles, on peut compter le nombre de tirs d une transition en utilisant une place sans sortie. Évidemment, dans le cas des modèles B et C, les places «attente» peuvent servir à indiquer combien d instances d un processus sont en attente, exemplifiant ainsi la notion de «bottle neck». 12

E Exclusion mutuelle La section critique de l un ou l autre des deux processus est exécutée de manière exclusive grâce à la place «verrou». F Lecteurs/écrivains Il s agit d une variante du «verrou». Ici on désire M écrivains et N lecteurs. Les écrivains ne peuvent écrire en même temps (donc sont en exclusion mutuelle). Les écrivains et les lecteurs ne peuvent écrire et lire en même temps (donc sont en exclusion mutuelle). Cependant, les lecteurs peuvent lire en parallèle. Voici le modèle simple de ce système. 13

G Tampon borné de N espaces Une variante du modèle précédent. 14

3 Protocoles de communication 3.1 Modèles de base Prenons deux processus, P1 et P2 qui s échange un message M. La notation!m indique l envoie du message et?m, la réception du message. Il existe, d après nos modèles précédents, trois manières de modéliser le système : par rendez-vous (fusion), par envoi de signal (place partagée) et par appel-réponse. Solution A : fusion ou rendez-vous (solution symétrique) Notons que lors de la synchronisation des deux processus, un passage de valeurs peut avoir lieu mais n est pas représenté par ce modèle. Solution B : envoi de signal ou place partagée (solution asymétrique) Le marquage de la place M indique que le message a été envoyé mais non encore reçu. Solution C : appel-réponse (solution asymétrique) Ce modèle ajoute et explicite le fait que l émetteur attend une réponse avant de poursuivre son activité. 15

3.2 Ouverture simple d une connexion Le processus P1 peut ouvrir une connextion par envoi du message A1 et le processus P2 peut également ouvrir une connextion par envoi du message A2. Mais seul le processus P1 possède le droit de fermer la connexion ouverte par envoi du message B. Voici les deux processus : Solution A : rendez-vous Le graphe d accessibilité est normal. A1 1,1,0,0 B 0,0,1,1 A2 16

Solution B : envoi de signal La section de graphe d accessibilité ci-dessous exprime le fait que les places A1 et B peuvent recevoir un nombre arbitrairement élevé de jetons. Ce comportement est susceptible d entraîner un dépassement des ressources.!a1!b!a1!b 1,2 A1, 3, 2 1, B, A1, 2 3, 2A1, B, 2 1, 2A1, 2B, 2 17

Solution C : appel-réponse La section de graphe d accessibilité ci-dessous exprime un comportement qui amène un blocage. En effet, les tirs, dans un ordre quelconque de!a1 et!a2, conduisent au marquage des places AT1, A1, AT2 et A2. Dans cet état, aucune transition n est tirable.!a1!a2 1,2 AT1, A1, 2 AT1, A1, AT2, A2 Synthèse Le tableau suivant résume les trois comportements distincts des modèles présentés. Solution Comportement A borné et vivant B non borné et vivant C borné et bloquant On remarquera qu aucun des modèles ne prend en considération la possibilité de perdre un message lors de la communication. C est ce qui nous amène à étudier un protocole différent, celui du bit alterné. 18

3.3 Protocole du bit alterné (BA) Dans ce protocole, les données sont émises en leur associant un bit de contrôle, successivement de valeur 0 et 1 : la première donnée sera émise en lui associant un bit 0, puis la suivante un bit 1, et ainsi de suite. C est une solution simple mais non performante. Elle permet cependant d éliminer les mauvais fonctionnement liés aux pertes et aux duplications de messages. Voici une première modélisation de ce protocole. Exemple 8 Quelques remarques sur cette modélisation : Le processus émetteur envoie la première donnée avec le bit 0 (mess0), attend la réception de la réponse liée à ce bit (ack0), envoie la deuxième donnée avec le bit 1 (mess1), attend la réception de la réponse liée à ce bit (ack1), envoie la troisième donnée avec le bit 0 (mess0), etc. Le processus de réception attend la première donnée associée au bit 0 (mess0), envoie la réponse liée à ce bit (ack0), attend la seconde donnée associée au bit 1 (mess1), envoie la réponse liée à ce bit (ack1), attend la troisième donnée associée au bit 0 (mess0), etc. C est au travers une place partagée que l interconnexion entre l envoie et la réception des donnée est modélisée. 19

Nous avons remarqué qu aucun des modèles de la section 3.1 ne prenait en considération la possibilité de perdre un message lors de la communication. Cette perte est facile à modéliser, en voici le modèle de base. Il s agit en fait de la modélisation de ce qu on appelle «un datagramme», un mécanisme de base dans les protocoles courants : Ethernet, IP, UDP. Il exprime le simple envoi de message unique, sans aucun autre contrôle. Incorporons maintenant ce modèle de base dans la modélisation complète du protocole (voir l exemple 9). D abord, la perte des données et la perte des réponses (ack) se modélisent de façon identique puisqu il n est pas possible pour l émetteur de savoir si c est la donnée ou la réponse qui a été perdue. Après la perte d une donnée associée au bit «i», une place «perte-i» indique que la donnée a été perdue. Cette place est essentielle afin de savoir si cette donnée perdue doit être renvoyée avec la même valeur du bit de contrôle. Le RdP de l exemple 9 est en fait une généralisation de celui de l exemple 8. On y a ajouté, dans un premier temps, les places «perte-i» et les six transitions «pd-i», «pa-i» et «red-i». Les transitions «pd-i» expriment la perte de la donnée «i». Les transitions «pa-i» expriment la perte de la réponse «i». Finalement, les transitions «red-i» expriment la demande d en renvoi de la donnée «i». Mais cette modélisation (non illustrée ici) n est pas suffisante car existeraient alors deux cas de blocages. On y ajoute donc quatre places supplémentaires «don-i» et «rea-i» pour obtenir la modélisation finale illustrée à l exemple 9. «rea0» permet de représenter la réception d un nouvel envoi (duplication) de la donnée «don0» (déjà reçue), à la suite de la perte de la réponse «ack0», avec renvoi de cette réponse. On remarquera que cette nouvelle donnée, reçues deux fois, ne doit pas être mémorisée la deuxième fois. «rea1» permet de représenter de façon simulaire la réception d une duplication de la donnée «don1», à la suite de la perte de la réponse «ack1». 20

Exemple 9 21