Réseaux de Petri. Master Informatique - Spécialité SAR NI405 - Modélisation des systèmes répartis. 1 - Modélisation de systèmes finis



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

LE PROBLEME DU PLUS COURT CHEMIN

Les diagrammes de modélisation

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

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

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

Fonctions de plusieurs variables

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.

Algorithmes de recherche

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

On appelle variable condition une var qui peut être testée et

Raisonnement probabiliste

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Exercices sur le chapitre «Probabilités»

Chapitre 5 : Flot maximal dans un graphe

Structures algébriques

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

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

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

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

Conception des systèmes répartis

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

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

Calculs de probabilités

chapitre 4 Nombres de Catalan

Plus courts chemins, programmation dynamique

Axiomatique de N, construction de Z

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Introduction à MATLAB R

Introduction à la théorie des graphes. Solutions des exercices

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

Initiation à LabView : Les exemples d applications :

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Taux d évolution moyen.

BACCALAUREAT GENERAL MATHÉMATIQUES

Définitions. Numéro à préciser. (Durée : )

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Cours de Systèmes d Exploitation

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Cours de Génie Logiciel

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

Probabilités sur un univers fini

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

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

OCL - Object Constraint Language

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

Pourquoi l apprentissage?

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

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

Problèmes de Mathématiques Filtres et ultrafiltres

Intelligence Artificielle Planification

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

L exclusion mutuelle distribuée

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

Introduction aux algorithmes répartis

DYNAMIQUE DE FORMATION DES ÉTOILES

Développements limités. Notion de développement limité

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Chapitre 6. Fonction réelle d une variable réelle

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Raisonnement par récurrence Suites numériques

Partie 1. La structure des réseaux sociaux

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

F411 - Courbes Paramétrées, Polaires

modélisation solide et dessin technique

Premiers exercices d Algèbre. Anne-Marie Simon

Continuité et dérivabilité d une fonction

Introduction à la Programmation Parallèle: MPI

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation


Limites finies en un point

La fonction exponentielle

Eléments de Théorie des Graphes et Programmation Linéaire

Algorithme. Table des matières

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Une réponse (très) partielle à la deuxième question : Calcul des exposants critiques en champ moyen

Probabilités sur un univers fini

Rappels sur les suites - Algorithme

Problème 1 : applications du plan affine

CALCUL DES PROBABILITES

Problèmes liés à la concurrence

Analyse des Systèmes Asservis

Calcul différentiel. Chapitre Différentiabilité

Modélisation et Simulation

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU

Cours d Analyse. Fonctions de plusieurs variables

Fonctions de plusieurs variables

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

UML (Paquetage) Unified Modeling Language

Correction du baccalauréat ES/L Métropole 20 juin 2014

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

Fonctions de deux variables. Mai 2011

Transcription:

Master Informatique - Spécialité SAR NI405 - Modélisation des systèmes répartis Réseaux de Petri 1 - Modélisation de systèmes finis - 1 - E. Encrenaz-Tiphène / C. Dutheillet

Des automates aux réseaux de Petri Problème : modéliser un système producteur/consommateur asynchrone avec tampon infini Lorsque le tampon est non vide, le consommateur peut consommer indépendamment de l état du producteur a : produire un message a d d : consommer un message b : déposer un message e : traiter le message b e Producteur Consommateur - 2 - E. Encrenaz-Tiphène / C. Dutheillet

Sémantique du modèle par automates Séquences possibles : Ici, la séquence (de)* est acceptable (on considère que tout état est potentiellement terminal). Le consommateur peut s exécuter indéfiniment avant que le producteur ait déposé quelque chose dans le tampon. Nécessité de conditionner l exécution de certaines actions ajout de rectangles sur les arcs pour pouvoir synchroniser les conditions d exécution d une action représentation des éléments de l environnement qui conditionnent l exécution : ici, le tampon. - 3 - E. Encrenaz-Tiphène / C. Dutheillet

Système condition / événement 2 types de nœuds : Les conditions représentées par des cercles Les événements représentés par des rectangles Modèle du producteur / consommateur c1 c3 a d c2 c4 Tampon (= c5) b e - 4 - E. Encrenaz-Tiphène / C. Dutheillet

Notations On note : n l ensemble des prédécesseurs du nœud n n l ensemble des successeurs du nœud n Si n est un événement, on appelle n l ensemble des pré-conditions de n n l ensemble des post-conditions de n Exemples : d = {c3, c5} les pré-conditions de d sont c 3 et c 5 b = {c1, c5} les post-conditions de b sont c 1 et c 5 c 4 = {d} c 1 = {a} - 5 - E. Encrenaz-Tiphène / C. Dutheillet

Sémantique d un système condition / événement Un pas du système C/E est défini par :! C 1 C 2 où C 1 et C 2 sont des sous-ensembles de conditions et où! est l'étiquette d'un événement e qui vérifie : 1) e " C 1 autrement dit, toutes les pré-conditions sont remplies 2) C 2 = ( C1 \ e ) # e autrement dit, le nouvel état est obtenu en annulant les préconditions et en validant les post-conditions - 6 - E. Encrenaz-Tiphène / C. Dutheillet

Sémantique d un système C/E (suite) Une séquence du système C/E est définie par un mot : w =! 1! 2...! n tel qu il existe des états C 1,..., C n vérifiant C i - 1! i C est un pas du système C/E i C 0 est un sous-ensemble de conditions représentant l état initial Exemple : système C/E du producteur / consommateur C 0 = { c 1, c 3 } a = { c 1 } a " C 0 a C 0 C 1 a = { c 2 } $ avec C 1 = (C 0 - a) # a C 1 = ({ c 1, c 3 } \ { c 1 }) # { c 2 } = { c 2, c 3 } - 7 - E. Encrenaz-Tiphène / C. Dutheillet

Exemple de séquence ab est une séquence du système C/E modélisant le producteur/consommateur a C 0 C 1 avec C 1 = { c 2, c 3 } b b = { c 2 } b " C 1 $ C 1 C 2 b = { c 1, c 5 } ab C 0 C 2 C 2 = (C 1 - b) # b = { c 1, c 3, c 5 } C 2 : une fois que le producteur a créé et stocké un message, il revient dans son état initial, le tampon est non vide, et le consommateur prêt à consommer. - 8 - E. Encrenaz-Tiphène / C. Dutheillet

Limites de la modélisation par système C/E Producteur / Consommateur : c1 c3 ab C 0 C 2 a d avec C 2 = {c 1, c 3, c 5 } b c2 Tampon (= c5) c4 e ab C 2 C 3 avec C 3 = {c 1, c 3, c 5 } de C 3 C 4 mais C 4 = {c 1, c 3 }, donc C 4 d 1 seule consommation possible, alors qu il y a eu 2 productions! Utiliser un modèle non booléen : les réseaux de Petri - 9 - E. Encrenaz-Tiphène / C. Dutheillet

Modèle RdP du producteur / consommateur Représentation : c1 c3 a c2 c4 d Conditions % places Evénements % transitions Tampon (= c5) b e Etat d un réseau de Petri = marquage M = # p "P M( p).p où M(p) est le nombre de jetons (marques) dans la place p. Ex : après l exécution de la séquence abab M = c 1 + c 3 + 2. c 5! - 10 - E. Encrenaz-Tiphène / C. Dutheillet

Modèle réseau de Petri Définition : Un réseau de Petri R est un quadruplet <P, T, Pré, Post> tel que : P : ensemble fini de places (P! &) T : ensemble fini de transitions (T! &, P ' T = &) Pré : P ( T % IN Pré(p, t) = n (n > 0) ) le franchissement de t est conditionné par la présence de n ressources dans p Post : P ( T % IN Post(p, t) = n (n > 0) ) le franchissement de t produit n ressources dans p Un réseau marqué <R, M 0 > possède en outre un marquage initial M 0 * +N P - 11 - E. Encrenaz-Tiphène / C. Dutheillet

Réseau de Petri - Exemple Le marquage initial est M 0 P1 P2 P3 2 3 2 3 t1 t2 t3 t4 t5 6 3 2 3 M 0 = 3 4 2 0 0 P4 P5-12 - E. Encrenaz-Tiphène / C. Dutheillet

Franchissement de transition Règle de franchissement : t * T est franchissable à partir de M ssi, p * P, M(p) - Pré(p,t). si t est franchissable, alors son franchissement mène à l'état M' :, p * P, M'(p) = M(p) - Pré(p,t) + Post(p,t) Le franchissement de t est noté : M [t> M'. - 13 - E. Encrenaz-Tiphène / C. Dutheillet

Franchissabilité - exemple P1 P2 P3 2 3 2 3 t1 t2 t3 t4 t5 6 3 2 3 t 2 et t 4 sont franchissables à partir de M 0 On note M 0 [t 2 > et M 0 [t 4 > P4 P5-14 - E. Encrenaz-Tiphène / C. Dutheillet

Franchissement - exemple P1 P2 P3 3 t1 t2 t3 t4 t5 2 2 6 P4 3 3 3 P5 2 Le franchissement de t 2 à partir de M 0 mène dans le marquage M 1 M 1 = 1 1 2 6 0 on note M 0 [t 2 > M 1-15 - E. Encrenaz-Tiphène / C. Dutheillet

Franchissement - exemple P1 P2 P3 2 3 2 3 t1 t2 t3 t4 t5 6 2 3 P4 3 P5 Le franchissement de t 4 à partir de M 0 mène dans le marquage M 2 M 2 = 3 3 0 0 3 on note M 0 [t 4 > M 2-16 - E. Encrenaz-Tiphène / C. Dutheillet

Séquence de franchissements Définition : Une séquence de franchissements de M 0 à M n est un mot t 0...t n-1 tel qu il existe des marquages M 1,...,M n-1 vérifiant M 0 [t 0 > M 1... M n-1 [t n-1 > M n - 17 - E. Encrenaz-Tiphène / C. Dutheillet

Séquence de franchissements - Exemple P1 P2 P3 2 3 2 3 t 2 t 4 t 3 est une séquence de franchissements à partir de M 0. t1 t2 t3 t4 t5 2 6 P4 3 3 1 P5 M 0 [t 2 > M 1 [t 4 > M 3 [t 3 > M 4 M 3 = 0 0 6 3 M 4 = 1 1 0 3 2-18 - E. Encrenaz-Tiphène / C. Dutheillet

Exemple partage de fichier : 1 Lecteur - 1 Ecrivain Proc A{ P(sem) lire_fichier V(sem) } Proc B{ P(sem) écrire_fichier V(sem) } - 19 - E. Encrenaz-Tiphène / C. Dutheillet

Exemple A_ATTENTE B_ATTENTE A_P(SEM) B_P(SEM) A_LECTURE B_ECRITURE A_FINIT SEM B_FINIT A_RELACHE B_RELACHE A_V(SEM) B_V(SEM) - 20 - E. Encrenaz-Tiphène / C. Dutheillet

Exemple partage de fichier : 2 Lecteurs - 1 Ecrivain Proc A { P(sem) lire_fichier V(sem) } Proc C { P(sem) lire_fichier V(sem) } Proc B { P(sem,2) écrire_fichier V(sem,2) } Comment modéliser cette synchronisation pour 10 lecteurs et 3 écrivains (indifférenciés)? Comment généraliser à n lecteurs et p écrivains? - 21 - E. Encrenaz-Tiphène / C. Dutheillet

Exemple A_ATTENTE B_ATTENTE A_P(SEM) B_P(SEM*2) A_LECTURE 2 B_ECRITURE A_FINIT SEM B_FINIT A_RELACHE 2 B_RELACHE A_V(SEM) B_V(SEM*2) C_LECTURE C_RELACHE C_ATTENTE C_P(SEM) C_FINIT C_V(SEM) - 22 - E. Encrenaz-Tiphène / C. Dutheillet

Représentation graphique Représentation matricielle P1 P3 t1 2 t2 3 P2 P4 Représentation matricielle Pré = t1 t2 P1 1 0 P2 3 0 P3 0 1 P4 0 0 Post = t1 t2 P1 0 0 P2 0 0 P3 2 0 P4 1 0-23 - E. Encrenaz-Tiphène / C. Dutheillet

Matrice d'incidence Définition : Soit R un réseau de Petri. On définit C la matrice d'incidence de R par : C = Post - Pré Franchissement : Soit M[t>M'. On a : M'(p) = M(p) + Post(p, t) - Pré(p, t) = M(p) + C(p, t) - 24 - E. Encrenaz-Tiphène / C. Dutheillet

Vecteur et équation caractéristiques Définition : vecteur caractéristique (vecteur de Parikh) Soit s une séquence de franchissements. Le vecteur caractéristique s de la séquence s est un vecteur d entiers indexé par les transitions. La composante relative à la transition t représente le nombre d'occurrences de t dans s. s = t 1 t 2 t 1 t 4 $ s = Définition : équation caractéristique Soit M [s> M', alors M' peut se déduire directement de M par application de l'équation caractéristique : M' = M + C.s 2 1 0 1-25 - E. Encrenaz-Tiphène / C. Dutheillet

Graphe d'accessibilité Définition : Le graphe d'accessibilité d'un réseau marqué <R, M 0 > est un système de transitions < Q,.,!, q 0 > tel que : Q l'ensemble des marquages accessibles dans R à partir de M 0 Q = { M M * IN P et /0 * T* tq M 0 [0> M }. l'ensemble des arcs reliant deux marquages de R accessibles à partir de M 0 {(q 1, q 2 ) * Q ( Q t * T, q 1 [t> q 2 }! étiquette les arcs du graphe par le nom de la transition de R qui a été franchie q 0 = M 0-26 - E. Encrenaz-Tiphène / C. Dutheillet

Graphe d'accessibilité nouveaux_états = Mo graphe = < {Mo},ø,id,Mo > Tq nouveaux_états <> ø faire état_en_cours = un élément de nouveaux_états nouveaux_états = nouveaux_états \ état_en_cours Pour toute transition t de T faire : Si état_en_cours[t> alors état_en_cours [t> état_futur Si état_futur est nouveau alors créer le noeud état_futur et l'ajouter à l'ensemble Q des noeuds du graphe ajouter état_futur à l'ensemble nouveaux_états FinSi ajouter au graphe état_en_cours -> état_futur FinSi FinPour FinTq Retourner graphe - 27 - E. Encrenaz-Tiphène / C. Dutheillet

Graphe d'accessibilité - exemple B_V(sem,2) B_P(sem,2) A_AT + B_AC + C_AT C_V(sem) A_AT + B_RE + C_AT C_P(sem) A_AT + B_AT + C_AT + 2.SEM A_P(sem) A_AT + B_AT + C_AC + SEM A_P(sem) C_lire A_P(sem) A_AT + B_AT + C_RE A_V(sem) C_V(sem) A_V(sem) A_V(sem) C_P(sem) A_AC + B_AT + C_AT + SEM C_lire A_AC + B_AT + C_AC A_AC + B_AT + C_RE A_lire A_lire A_lire C_V(sem) A_RE + B_AT + C_AT + SEM C_P(sem) C_lire A_RE + B_AT + C_AC A_RE + B_AT + C_RE - 28 - E. Encrenaz-Tiphène / C. Dutheillet

Graphe d'accessibilité - remarques Le graphe d'accessibilité dépend de R et de Mo. Un graphe fini peut contenir des séquences infinies.! existence de cycles Le graphe peut être infini. - 29 - E. Encrenaz-Tiphène / C. Dutheillet

Réseau dont le graphe est infini P1 t1 P2 2 P3 2 t2 t3-30 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés fondamentales (1) Séquence infinie : <R, M 0 > admet une séquence infinie s, où s est un mot infini sur T, si et seulement si pour tout s' préfixe fini de s, s' est une séquence de franchissement de <R, M 0 >. Autrement dit, si s = t 1.t 2..t n., alors pour tout i, si s i = t 1..t i on a : M 0 [s i > <R, M 0 > : p a b - 31 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés fondamentales (2) Pseudo-vivacité <R, M 0 > est pseudo-vivant si pour tout M appartenant à GMA(R, M 0 ) il existe une transition t telle que M[t>. p <R, M 0 > : 2 GMA(R, M 0 ) : a b p a - 32 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés fondamentales (3) Quasi-vivacité <R, M 0 > est quasi-vivant si, pour toute transition t, il existe un marquage M appartenant à GMA(R, M 0 ) tel que M[t>. <R, M 0 > : p p <R, M 0 > : 2 a b a b - 33 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés fondamentales (4) Vivacité <R, M 0 > est vivant si, pour tout marquage M appartenant à GMA(R, M 0 ), <R, M> est quasi-vivant. p a <R, M 0 > : a p 2 b GMA(R, M 0 ) : b b b 2.p a a n.p b - 34 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés fondamentales (5) Etat d'accueil <R, M 0 > admet un état d'accueil M a si, pour tout marquage M appartenant à GMA(R, M 0 ), il existe une séquence s telle que M[s>M a. (R) G(R) p1 q1 a <p1 + q1> b a c b <p2 + q1> <p1 + q2> p2 r q2 b <p2 + q2> a d c <r> d - 35 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés fondamentales (6) Caractère borné <R, M 0 > est non borné si, pour tout entier n, il existe un marquage M appartenant à A(R, M 0 ) et une place p tels que M(p) > n. Le graphe d accessibilité est infini Trouver un moyen de représenter les états accessibles - 36 - E. Encrenaz-Tiphène / C. Dutheillet

Relations entre propriétés Si <R, M 0 > est pseudo-vivant ou non borné, alors <R, M 0 > admet une séquence infinie. Si <R, M 0 > est vivant, alors <R, M 0 > est quasi-vivant et pseudo-vivant. Si <R, M 0 > est quasi-vivant et admet M 0 pour marquage d'accueil, alors <R, M 0 > est vivant. - 37 - E. Encrenaz-Tiphène / C. Dutheillet

Monotonie des propriétés Soit 1 une propriété de réseau de Petri. 1 est dite monotone si et seulement si :, <R, M 0 >, 1(R, M 0 ) $, M' 0! M 0, 1(R, M' 0 ) Lemme de monotonie :, <R, M 0 >,, M 1 accessible à partir de M 0 : M 1 [s> M 2 et M' 1! M 1 $ M' 1 [s> M' 2 et M' 2! M 2-38 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés non monotones <R, M 0 > est pseudo-vivant <R, M 0 > est vivant <R, M 0 > admet un état d'accueil - 39 - E. Encrenaz-Tiphène / C. Dutheillet

Propriétés monotones <R, M 0 > admet une séquence infinie <R, M 0 > est quasi-vivant <R, M 0 > est non borné - 40 - E. Encrenaz-Tiphène / C. Dutheillet

Exemple de modélisation : l algorithme de Peterson Algorithme de Peterson : exclusion mutuelle entre 2 processus Les deux processus sont symétriques Il existe une mémoire partagée contenant les variables last, dem p et dem q Code du processus p : A : dem p = vrai B : last = p C : Attendre (last == q dem q == faux) D : < Section critique > E : dem p = faux; goto A Initialement : dem p = dem q = faux last = p ou last = q indifféremment - 41 - E. Encrenaz-Tiphène / C. Dutheillet

Exécution de la première instruction A : dem p = vrai p at A fait passer le processus p de l état A à l état B : p.a modifie (éventuellement) la valeur de la variable dem p : p at A p at B dem p = faux p.a2 dem p = vrai p.a1 p at B - 42 - E. Encrenaz-Tiphène / C. Dutheillet

Exécution de la deuxième instruction B : last = p p at B last = q p.b2 last = p p.b1 p at C - 43 - E. Encrenaz-Tiphène / C. Dutheillet

Modélisation de l attente C : Attendre (last == q dem q == faux) last = q p at C p.c2 dem q = faux p.c1 p at D - 44 - E. Encrenaz-Tiphène / C. Dutheillet

Sortie de section critique D : < Section critique > E : dem = faux; goto A p at D p.d dem p = vrai p at E p.e2 dem p = faux p.e1 p at A - 45 - E. Encrenaz-Tiphène / C. Dutheillet

Modèle global du processus p On peut simplifier le modèle si on démontre la propriété : p at A ) dem p = faux dem p = vrai last = p dem q = faux p at A p at B p at C p at D p at E dem p = faux last = q - 46 - E. Encrenaz-Tiphène / C. Dutheillet

Exercice 1 : Les trains Soit un rail circulaire de 6 sections sur lequel circulent deux trains dans le même sens et qui suivent les règles suivantes : (i) Initialement le premier train est sur la première section et le deuxième sur la troisième section. (ii) Un train ne pénètre dans une nouvelle section qui si ni cette section ni la suivante ne sont occupées par l'autre train. 1) Modéliser ce système à l'aide d'un réseau de Petri ordinaire. 2) Construire le graphe d'état et vérifier que la règle (ii) est bien respectée Master d Informatique de l Université Paris VI. Spécialité SAR. - Modélisation des Systèmes Répartis - 1 - E. Encrenaz-Tiphène / C. Dutheillet

Exercice 2 : les philosophes Soit une table circulaire sur laquelle sont posées cinq assiettes et cinq baguettes entre les assiettes. Cinq philosophes assis à cette table mangent et pensent alternativement. Pour manger les philosophes doivent s'emparer des deux baguettes de part et d'autre de leur assiette. Lorsqu'ils se remettent à penser, ils reposent leurs deux baguettes. Initialement tous les philosophes pensent. Les philosophes prennent d'abord la baguette gauche puis la droite. Modéliser ce système à l'aide d'un réseau de Petri. Master d Informatique de l Université Paris VI. Spécialité SAR. - Modélisation des Systèmes Répartis - 2 - E. Encrenaz-Tiphène / C. Dutheillet

Les philosophes (suite) Modifier votre modélisation pour que les philosophes prennent leurs baguettes l'une après l'autre, dans un ordre indifférent. Montrer que les cinq philosophes peuvent se retrouver simultanément en attente d'une baguette. Proposer une stratégie pour éviter l'interblocage et la modéliser. Exhiber sur ce dernier modèle une séquence infinie où quatre philosophes mangent alternativement sans que le cinquième ait jamais ses deux baguettes simultanément posées sur la table (sauf au départ). Master d Informatique de l Université Paris VI. Spécialité SAR. - Modélisation des Systèmes Répartis - 3 - E. Encrenaz-Tiphène / C. Dutheillet