Exercice 1 : Algorithme d'exclusion mutuelle de Dijkstra ( 50min) (7.5 pt)

Documents pareils
LE PROBLEME DU PLUS COURT CHEMIN

OPTIMISATION À UNE VARIABLE

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

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

Pourquoi l apprentissage?

L exclusion mutuelle distribuée

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

TABLEAU JUSTIFICATIF DES EXPURGATIONS PROPOSÉES

Couples de variables aléatoires discrètes

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Université de Sherbrooke, Département d informatique

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

Programmation linéaire

Corrigé des TD 1 à 5

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Raisonnement par récurrence Suites numériques

Vers l'ordinateur quantique

Chp. 4. Minimisation d une fonction d une variable

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

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

A. DISPOSITIONS DES TRAITÉS EN MATIÈRE D'AIDES D'ETAT

OASIS Date de publication

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

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

NOTATIONS PRÉLIMINAIRES

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

TRACER LE GRAPHE D'UNE FONCTION

Avons ordonné et ordonnons:


Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

C f tracée ci- contre est la représentation graphique d une

CHARTE FOURNISSEUR INERIS. Préambule : 1 - QUALITE & TECHNOLOGIE QUALITE DE LA SOURCE

La fonction exponentielle

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

5 ème Chapitre 4 Triangles

I. Ensemble de définition d'une fonction

LE MANDAT DE MELBOURNE Un appel à l'action pour accroître la valorisation de la gestion des relations publiques et des communications

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

Le Service de Télétransmission par Internet des banques du Réseau OCÉOR GUIDE UTILISATEURS. Version V1.0

ELEC2753 Electrotechnique examen du 11/06/2012

Assurance téléphone mobile et tablette /

DIFFÉRENCIATION DES RÔLES DES JOUEURS

Structurer ses données : les tableaux. Introduction à la programmation

Compilation. Algorithmes d'analyse syntaxique

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

Options, Futures, Parité call put

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

Sur certaines séries entières particulières

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

Guide pratique

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Archivage des mails dans Outlook 2010

1. La présente circulaire concerne les primes d'ancienneté qui sont octroyées aux travailleurs durant leur carrière auprès d'un employeur.

Probabilités sur un univers fini

Tutoriel - flux de facturation

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Fiche descriptive de l indicateur : Tenue du dossier anesthésique (DAN)

Guide Abonné Plate-forme Multi Flux PLATE-FORME MULTI FLUX GUIDE ABONNE V 2.1

Théorèmes de Point Fixe et Applications 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Continuité en un point

1. Introduction Création d'une requête...2

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

Conception de circuits numériques et architecture des ordinateurs

Infrastructure de recharge >22kW

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Géométrie dans l espace Produit scalaire et équations

Système binaire. Algèbre booléenne

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

GARANTIES ET SERVICES : LES ATTENTES DES SALARIES ET DES ENTREPRISES

Le théorème de Thalès et sa réciproque

Les diagrammes de modélisation

Commun à tous les candidats

Proposition d assurance Flexibel Junior Saving

Guide de l'utilisateur de l'application mobile

6. Les différents types de démonstrations

NOTIONS DE PROBABILITÉS

LA CHAMBRE PRELIMINAIRE III SITUATION EN REPUBLIQUE DE COTE DTVOIRE. AFFAIRE LE PROCUREUR c. LAURENT GBAGBO

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

Conditions de participation campagne WoM BASE B-39

MIEUX COMPRENDRE LE SYSTÈME DE SANTÉ POUR SE SOIGNER

Condition de stabilité d'un réseau de les d'attente à deux stations et N classes de clients 1

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

Qualité du logiciel: Méthodes de test

Gestion des cartes ristourne

La persistance des nombres

MultiPlus sans limites

Sujet 4: Programmation stochastique propriétés de fonction de recours

Formulaire de demande d'aide de la Région pour l'implantation d'infrastructures de recharges pour véhicules électriques et hybrides

ANALYSE GLOBALE DES PROGRAMMES DE LA SHQ. SQEP 18 novembre 2011

Informations générales

Processus d Informatisation

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

Espaces probabilisés

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Transcription:

Exercice 1 : Algorithme d'exclusion mutuelle de Dijkstra ( 50min) (7.5 pt) On considère un système constitué d'un anneau de N + 1 processus en parallèle P 0... P N : P 0 P N P 1 P 2 Chaque processus P i possède une variable notée x i qui prend des valeurs dans N. Ces processus doivent eectuer une action critique, notée AC(), en exclusion mutuelle. L'action critique n'est pas spéciée, on sait uniquement qu'elle ne modie pas les variables x i. À l'exception du processus P 0, les processus P 1 à P N ont tous le même comportement. Le comportement du processus P i est déni par le STE suivant à une unique transition τ i. [x i x i 1 ] AC() ; x i := x i 1 Le processus P 0 a un comportement particulier déni par le STE à une seule transition τ 0 : [x 0 = x N ] AC() ; x 0 := x 0 + 1 À l'initialisation du système, tous les processus commencent avec leur variable x i initialisée à 0. L'objectif de cette partie et de démontrer la propriété suivante : À tout instant de l'exécution du système P 0... P N, il n'y a qu'un seul processus qui peut eectuer l'action critique AC(). Partie 1 Étude du principe sur un exemple ( 10min) a) (.5 pt) Pour N = 1, calculez le produit P 0 P 1. b) (1 pt) À l'aide d'un exemple, justiez qu'il n'est pas possible de donner une borne supérieure aux valeurs que peut prendre la variable x 0. c) (.25 pt) Dénissez l'ensemble, Q c des états du graphe des comportements du système P 0... P N (produit des N + 1 processus). d) (.25 pt) Pour un N xé, peut-on construire le graphe des comportement du système P 0... P N? Justiez votre réponse.

Partie 2 Construction du STE abstrait du système P 0... P N ( 40min) On considère l'abstraction dénie par les prédicats : def def def def Φ 0 = (x N x 0 ), Φ 1 = (x 0 = x 1 ), Φ 2 = (x 1 = x 2 ),..., Φ N = (x N 1 = x N ) On vous fait remarquer que pour tout i [0, N], le prédicat Φ i correspond à la négation de la garde de la transition du processus P i. e) (.25 pt) Dénissez l'ensemble, Q a, des états abstraits et donnez sa taille. Correction Q a = { b 0, b 1,..., q Q c, b i = Φ i (q)} Q a = 2 N+1 f) (.25 pt) Calculer l'ensemble, Q a 0, des états initiaux abstraits. Correction Q a 0 = α(q c 0) = { T,F,...,F } g) (3.5 pt) Construire le STE abstrait du système P 0... P N en commençant le calcul des transitions à partir de l'état initial abstrait. Justiez vos calculs. Indication 1 : Pour raisonner, vous pouvez construire au brouillon le STE abstrait dans le cas N = 1. Indication 2 : Pour la rédaction, considérez les trois cas suivants : la transition τ 0, les transitions τ i pour i [1, N 1] et la transition τ N. h) (1.5 pt) Démontrez que dans tous les états accessibles depuis l'ensemble d'états initiaux, il n'y a toujours qu'un seul des prédicats Φ i qui vaut faux et conclure que la propriété est satisfaite. Justiez votre conclusion.

Solution de la question 2.g) Cas de la transition τ 0 (1 pt) } 0 = x 1, x 1 = x 2 b 0 b 1 b 2,..., x N 1 = x }{{ N } [x 0 =x n] x 0 :=x 0 +1 τ 0, b 1,..., b N La transition n'est jouable que si la garde vaut vraie, c'est-à-dire si x 0 = x N, ce qui impose b 0 = F. Détermination des booléens à b N, b 1,..., b N = } 0 = x 1, x 1 = x 2,..., x N 1 = x }{{ N [x } 0 x 0 + 1] b 1 b 2 = x 0 + 1 x N, x 0 + 1 = x 1, x 1 = x 2,..., x N 1 = x N b 2 b 1 b N Puisque x 0 = x N, on sait que x 0 + 1 x N et donc vaut T. Si b 1 vaut T, c'est-à-dire x 0 = x 1, alors x 0 + 1 x 1 et donc b 1 vaut F. Par contre, si b 1 vaut F, c'est-à-dire x 0 x 1, alors on ne peut rien conclure concernant la condition x 0 + 1 = x 1 qui peut valoir T (si x 1 valait x 0 1) ou F (pour toute autre valeur de x 1 ). Conclusion La transition τ 0 donne les transitions abstraites suivantes : F, T, b 2,..., τ0 T, F, b 2,..., F, F, b 2,..., τ0 T, b 1, b 2,..., Dans le cadre de l'examen, seule la première transition nous intéresse puisqu'on part de l'état initial abstrait F, T,..., T. Cas des transitions τ i, i [1, N 1] (1 pt) Forme générale de la transition : [x i x i 1 ] x i :=x i 1 }{{ N,..., x } i 2 = x }{{ i 1, x } i 1 = x i, x i = x }{{ i+1,..., x } N 1 = x }{{ N } τ i,..., b N b i b 0 b i 1 b i+1 La transition n'est jouable que si la garde vaut vraie, c'est-à-dire si x i x i 1, ce qui impose b i = F. Détermination des booléens à b N,..., b i 1, b i, b i+1,..., b N = }{{ N,..., x } i 2 = x }{{ i 1, x } i 1 = x i, x i = x }{{ i+1,..., x } N 1 = x }{{ N [x } i x i 1 ] b i 1 b i b i+1 b N = }{{ N,..., x } i 2 = x }{{ i 1, x } i 1 = x i 1, x i 1 = x i+1,..., x N 1 = x N b 0 b i 1 b =T i Il est clair qu'après la transition τ i, le booléen b i vaut T. Les booléens b 0 à b i 1 et b i+2 à ne sont pas modiés puisque l'aectation modie uniquement la variable x i qui apparaît uniquement dans les prédicats Φ i et Φ i+1. b i+1

Détermination du booléen b i+1 (x i 1 = x i+1 ) Dans le cas où b i+1 vaut F, on ne peut rien conclure sur la valeur de b i+1 qui peut valoir T ou F. Dans le où b i+1 vaut T, on se trouve dans le cas suivant : } 0 = x 1,..., x i 2 = x i 1, x i 1 = x i, x i = x i+1,..., x N 1 = x N b 0 b 1 b i =F b i+1 =T b i 1 On sait alors que x i+1 = x i et que x i x i 1. On en déduit que x i+1 x i 1 et donc b i+1 vaut F. Conclusion Chaque transition τ i (i [1, N 1]) donne les transitions abstraites suivantes : b 0,..., b i 1, b i, b i+1,..., b N τi b 0,..., b i 1, b i, b i+1,..., b N F T T F b 0,..., b i 1, b i, b i+1,..., b N τi b 0,..., b i 1, b i, b i+1,..., F F T Dans le cadre de l'examen, on suppose qu'un seul des booléens b 0,..., b n vaut F. On a supposé que c'était b i. On sait donc que b i+1 = T. Donc, seule la première transition nous intéresse et on peut en conclure qu'après la transition τ i, il y a exactement un seul booléen qui vaut F (on sait même dire que c'est b i+1 ). Cas de la transition τ N (1 pt) [x N x N 1 ] x N :=x N 1 } 0 = x 1,..., x N 2 = x }{{ N 1, x } N 1 = x }{{ N b } τ N 0, b 1,..., b N 1, b N b 0 b 1 1 La transition n'est jouable que si la garde vaut vraie, c'est-à-dire si x N = x N 1, ce qui impose = F. Détermination des booléens à b N, b 1,..., b N 1, b N = } 0 = x 1,..., x N 2 = x }{{ N 1, x } N 1 = x }{{ N [x } N x N 1 ] b 1 b N 1 = x 0 x N 1, x 0 = x 1,..., x N 2 = x }{{ N 1, x } N 1 = x N 1 b 1 1 Il est clair qu'après la transition τ N, le booléen b N vaut T. Les booléens b 1 à 1 ne sont pas modiés puisque l'aectation modie uniquement la variable x N qui apparaît uniquement dans les prédicats Φ 0 et Φ N. b N b N Détermination du booléen (x 0 x N 1 ) Dans le cas général, on ne peut rien conclure sur la valeur de qui peut valoir T ou F. Dans le où b 1 =... = 1 = T, on se trouve dans le cas suivant : } 0 = x 1, }.{{.. }, x N 2 = x N 1, x N 1 = x N b 0 T... T On sait alors que x 0 = x 1 =... = x N 2 = x N 1. On en déduit que x 0 = x N 1 et donc que vaut F.

Conclusion La transition τ N donne les transitions abstraites suivantes : b 0, b 1,..., 1, b N τn, b 1,..., 1, b N F? T b 0, b 1, }.{{.. }, 1, b N τn F, T,..., T, T T... T F Dans le cadre de l'examen, on suppose qu'un seul des booléens b 0,..., b n vaut F. Ce cas correspond à la seconde transition. On peut alors conclure qu'après la transition τ N, il y a exactement un seul booléen qui vaut F (on sait même dire que c'est ). Conclusion (.5 pt) On a montré l'invariant abstrait suivant : si un état abstrait comporte un unique booléen à F alors pour toute transition jouable dans cette état, l'état successeur aura lui aussi un unique booléen à F. Considérons maintenant un état abstrait où le seul booléen qui vaut F est b i alors la seule transition jouable est la transition τ i car les booléens b 0,..., correspondent à la négation de la garde des transitions des processus P 0,..., P N. Ainsi, depuis cet état abstrait, seul le processus P i peut eectuer l'action critique AC. L'état initial abstrait ne comporte qu'un seul booléen à F (c'est b 0 ). Cette remarque et l'invariant nous permette d'armer que dans tous les états accessibles, il n'y aura toujours exactement un processus qui puisse eectuer l'action critique AC.

Exercice 2 : Vérication d'un invariant à l'aide des opérateurs pre, post, wlp ( 10min) (2.5 pt) On considère le système de transitions donné en annexe. On souhaite déterminez les états initiaux qui garantissent que le STE n'atteindra pas les états interdits ϕ = {, }. a) (1 pt) Montrez par le calcul de post qu'en prenant pour états initaux les états {, } on n'atteint jamais les états interdits. b) (0.5 pt) Exhibez une trace d'exécution à partir d'un autre état initial qui atteint les états interdits. c) (1 pt) Déterminez les états initiaux qui garantissent que le STE n'atteindra pas les états interdits par le calcul de wlp. Répondez sur la feuille annexe en indiquant les étapes du calcul de post et wlp. Justiez vos conclusions. N'oubliez pas d'indiquer nom et prénom.

Feuille à rendre Nom-Prénom.................................................... ou N de place............. a) calcul de post ({, }) b) trace d'exécution fautive

c) calcul de wlp (ϕ)

Brouillon : Ce qui gure sur cette feuille ne sera pas corrigé.