Introduction au model-checking et application à la vérification des protocoles cryptographiques

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Introduction au model-checking et application à la vérification des protocoles cryptographiques"

Transcription

1 Introduction au model-checking et application à la vérification des protocoles cryptographiques Prof. John MULLINS École Polytechnique de Montréal Prof. John MULLINS (École Polytechnique) Introduction au model-checking 1 / 1

2 Contenu de la présentation Prof. John MULLINS (École Polytechnique) Introduction au model-checking 2 / 1

3 Introduction Pourquoi cet exposé devant des élèves ingénieurs? Importance croissante des outils de vérification des systèmes matériel et logiciel pour l industrie des technologies de l information pour les logiciels critiques Impact de ces outils sur leur processus de conception et d implémentation (Siemens, AT&T, Intel,... etc.) Transfert technologique de la recherche vers l industrie via l académique Prof. John MULLINS (École Polytechnique) Introduction au model-checking 3 / 1

4 Pourquoi vérifier? Introduction Le logiciel est un objet : Virtuel Multifonctionnel Infini Régi par des lois mathématiques Modèles mathématiques Logique algébrique Théorie des automates Sémantique des langages de programmation Prof. John MULLINS (École Polytechnique) Introduction au model-checking 4 / 1

5 Introduction Modéliser la communication Modèle d un programme séquentiel : P : Store Store Modèle de P 1 ; P 2 : P 1 P 2 La logique classique suffit Modélisation de composantes communicants : non-déterminisme P1 et P1 ont le même comportement entrée-sortie : P1 : x := 0 ; x := x+2 P1 : x := 0 ; x := x+1 ; x := x+1 P2 : x := 0 P1 P2 peut être soit 0, soit 2 P1 P2 peut être soit 0, soit 1, soit 2 Dépend de l ordre d exécution des énoncés Besoin de la logique temporelle Prof. John MULLINS (École Polytechnique) Introduction au model-checking 5 / 1

6 Introduction Model-checking in a nutshell?cents?m : Réception de m!m : Émission de m Served idle!served M1?back?back Serving?push?cents M2 Prof. John MULLINS (École Polytechnique) Introduction au model-checking 6 / 1

7 Introduction Model-checking in a nutshell (suite) ~M, ~S ~M, ~S M, S ~M, ~S M, ~S Variables propositionnelles : Money et Served F φ est vrai sur une séquence d états s il existe un état de la séquence où la propriété φ est vrai G φ est vrai sur une séquence d états si φ est vrai dans tous les états de la séquence Chaque fois que j ai mis deux 25 cents, alors, plus tard, j obtiendrai un café G(Money FServed). Prof. John MULLINS (École Polytechnique) Introduction au model-checking 7 / 1

8 Modélisation Systèmes de transitions Un canal FIFO in(b) in(a) bb ba out(b) out(a) in(b) in(a) b out(b) out(a) a in(b) in(a) out(a) out(b) ab aa Σ = {a, b} États : mots de Σ 0 Σ 1 Σ 2 Actions : enfiler une lettre si le buffer n est pas plein défiler une lettre si le buffer n est pas vide Prof. John MULLINS (École Polytechnique) Introduction au model-checking 8 / 1

9 Une variable Modélisation Systèmes de transitions b=vrai! b :=faux b=faux! vrai faux b :=vrai b :=vrai b :=faux Prof. John MULLINS (École Polytechnique) Introduction au model-checking 9 / 1

10 Modélisation Un programme séquentiel Systèmes de transitions 1 :while true do if not b then begin 2 : b :=true ; 3 :proc ; 4 :b :=false ; end. b=vrai? b=faux? 1 2 b :=faux 4 proc 3 b :=vrai Prof. John MULLINS (École Polytechnique) Introduction au model-checking 10 / 1

11 Définition Modélisation Systèmes de transitions Un système de transitions étiquetées est un triplet A = (S, T,Σ) où S est un ensemble d états T S Σ S est l ensemble des transitions Σ : un alphabet d actions Notation : Transition : s 1 s 2 a a Chemin : s 1 a 2 a 3 1 s2 s2 Trace : a 1 a 2 a 3... Algèbre de chemins Prof. John MULLINS (École Polytechnique) Introduction au model-checking 11 / 1

12 Modélisation Systèmes de transitions synchronisés Produit libre de systèmes de transitions Le produit libre A 1 A 2 de deux systèmes de transitions A 1 = (S 1, T 1,Σ 1 ) et A 2 = (S 2, T 2,Σ 2 ) est le système de transition A = (S, T,Σ) défini par S = S 1 S 2 T = {(s 1, s 2 ) (a 1,a 2 ) (s 1, s 2 ) : s a 1 1 s a 1 T 1 et s 2 2 s 2 T 2 ou bien a 1 = et s 1 = s 1 ou bien a 2 = et s 2 = s 2 } Σ = (Σ 1 { }) (Σ 2 { }) Prof. John MULLINS (École Polytechnique) Introduction au model-checking 12 / 1

13 Modélisation Systèmes de transitions synchronisés a b Exemple : 0 a 1 b 0 00 a, a,b,b 10,b 1 01 a, 11 Prof. John MULLINS (École Polytechnique) Introduction au model-checking 13 / 1

14 Modélisation Systèmes de transitions synchronisés Produit synchronisé des systèmes de transitions Definition Une contrainte de synchronisation Sync (Σ 1 { }) (Σ 2 { }) établit l ensemble de toutes les actions globales permises. Example Sync = {(a, b)} Definition Le produit synchronisé A 1 Sync A 2 de A 1 et A 2 par rapport à Sync est le système de transition A 1 A 2 restreint aux seules transitions étiquetées par une action de Sync. Example a b {(a,b)} = a,b Prof. John MULLINS (École Polytechnique) Introduction au model-checking 14 / 1

15 Exemple Modélisation Systèmes de transitions synchronisés b=1! b :=1 b :=0 1 0 b :=1 b=0! b :=0 b=1? 1 b=0? 2 b :=0 b :=1 4 proc 3 Sync = {(b := 1, b := 1), (b := 0, b := 0), (b = 1?, b = 1!), (b = 0?, b = 0!), (proc, )} b=1?,b=1! b=0?,b=0! 02 b:=1 b:=0 b:=1 b:=0 14 proc, proc, 03 Prof. John MULLINS (École Polytechnique) Introduction au model-checking 15 / 1

16 Modélisation Mécanismes de synchronisation Systèmes de transitions synchronisés Synchronisation par messages synchronisation se fait sur les actions complémentaires m! (émission) et m? (réception) Synchronisation par canal Deux composantes P0 et P1 Canal de communications FIFO C Système global : P 0 C P 1 Synchronisation par variables partagées Deux composantes P0 et P1 Variable globale B Système global : P 0 B P 1 Prof. John MULLINS (École Polytechnique) Introduction au model-checking 16 / 1

17 Modélisation Systèmes de transitions synchronisés L algorithme d exclusion mutuelle de Peterson Var. partagées : d0, d1 (init. à faux) et tour (init. à 0). Le processus P 0 exécute le code suivant : while true do begin 1 :{section non critique} 2 :d0 :=true ; 3 :tour :=0 ; 4 :attendre(d1=false or tour=1) ; 5 :{section critique} 6 :d0 :=false end P 1 exécute le code symétrique obtenu en permutant 0 et 1 P 0 P 1 D 0 D 1 T contient 288 états Vérifie l exclusion mutuelle si aucun état de la forme n est accessible de l état initial (5, 5,,, ) Prof. John MULLINS (École Polytechnique) Introduction au model-checking 17 / 1

18 Logique Propriétés temporelles des systèmes Tout système de transition représentant l algorithme de Peterson doit vérifier que : il n existe aucun état (global) où les deux processus sont en même temps en section critique il n existe aucun deadlock s il existe un état où un processus essaie de rentrer dans la section critique alors il existe un état accessible de cet état où ce processus est en section critique il n existe pas de chemin infini constitué uniquement de transitions où les deux processus essaient de rentrer en section critique et n y entrent jamais (vivacité). Prof. John MULLINS (École Polytechnique) Introduction au model-checking 18 / 1

19 Formules d états Logique Example S : Un ensemble d états Un ensemble de propriétés atomiques : Prop = {P 0, P 1, P 2,..., P n } Soit P sc0 (resp. P sc1 ), la proposition atomique vérifiée dans les états globaux où le processus P 0 (resp. P 1 ) est en section critique. Example Fonction d interprétation : ρ : S 2 Prop Formules d états φ ::= P φ φ φ s = P ssi P ρ(s) s = φ ψ ssi s = φ et s = ψ s = φ ssi s = φ s = P sc0 P sc1 ssi P 0 et P 1 sont en section critique Prof. John MULLINS (École Polytechnique) Introduction au model-checking 19 / 1

20 Logique Formules temporelles linéaires A = (S, T) : Un système de transitions (non étiquetées) Un ensemble de propriétés atomiques : Prop = {P 0, P 1, P 2,..., P n } Fonction d interprétation : ρ : S 2 Prop φ ::= P φ φ φ Nφ φuφ Soit c = t 1...t n A, c = P ssi P ρ(t 1 ) A, c = φ ψ ssi A, c = φ et A, c = ψ A, c = φ ssi A, c = φ A, c = Nφ ssi c = t c et A, c = φ A, c = φuψ ssi A, c = ψ ou Il existe un entier n tel que c = t 1... t nc avec A, c = ψ et pour tout i {1,..., n} on a, A, t i... t nc = φ Prof. John MULLINS (École Polytechnique) Introduction au model-checking 20 / 1

21 Logique Exemples 1 t1 {p, q, t} t2 t3 t4 {p, q, r} {p, s} {p, r} A, t 1 (t 2 t 3 t 4 ) ω = r s A, t 1 (t 2 t 3 t 4 ) ω = N (p s) A, t 1 (t 2 t 3 t 4 ) ω = NN s A, t 1 (t 2 t 3 t 4 ) ω = q U s A, t 1 (t 2 t 3 t 4 ) ω = s U q A, (t 2 t 3 t 4 ) ω = (p U t) 2 Soit A = P 0 P 1 D 0 D 1 T alors l algorithme de Peterson satisfait la propriété d exclusion mutuelle ssi A, c = (1U (P sc0 P sc1 )) pour tout chemin c à partir d un état initial. Prof. John MULLINS (École Polytechnique) Introduction au model-checking 21 / 1

22 Logique Opérateurs temporaux auxilliaires t1 {p, q, t} t2 t3 t4 {p, q, r} {p, s} {p, r} φ Def = 1Uφ (Inéxorablement φ) Ex : A, t 1 (t 2 t 3 t 4 ) ω = p φ Def = φ (Toujours φ) Ex : A, t 1 (t 2 t 3 t 4 ) ω = p Quelques schémas de formules utiles 1 A, c = φ ssi il existe une infinité de suffixes c 2 de c tel que A, c 2 = φ. Ex : A, t 1 (t 2 t 3 t 4 ) ω = (q Us) 2 A, c = φ ssi il existe un nombre fini de suffixes c de c tels que A, c = φ Ex : A, t 1 (t 2 t 3 t 4 ) ω = t Prof. John MULLINS (École Polytechnique) Introduction au model-checking 22 / 1

23 Logique Model-checking, réalisabilité et validité 1 φ réalisable s il existe A tel que pour tout c on a A, c = φ. A est un modèle de φ Entrée : φ Sortie : il existe un modèle de φ, oui ou non Problème de synthèse d un système à partir de φ (p Nq) est réalisable 2 φ est valide si pour tout A, A est un modèle de φ φ est un théorème Entrée : φ Sortie : une preuve de φ (axiomes + règles d inférence) (p (p Np)) p est un théorème 3 Le problème du model-checking : Entrée : A et φ Sortie : A est un modèle de φ, oui ou non Prof. John MULLINS (École Polytechnique) Introduction au model-checking 23 / 1

Modélisation et vérification

Modélisation et vérification Modélisation et vérification Yohan Boichut (inspiré du cours de John Mullins, Ecole polytechnique de Montréal) Cours Master IRAD Semestre 3 Yohan Boichut Modélisation et vérification Cours Master IRAD

Plus en détail

et Automates de Büchi

et Automates de Büchi Cours 9: Propriétes ω-régulières et Automates de Büchi Francesco Belardinelli Laboratoire IBISC Remerciements à Alessio Lomuscio et Joost-Pieter Katoen 26 mars 2015 Cours 9 - Vue d Ensemble Motivation

Plus en détail

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle Plan Deuxième partie 1 2 Primitives de gestion des activités 2 / 26 4 / 26 Interférences et isolation Contenu de cette partie di cultés résultant d accès concurrents à un objet partagé mise en œuvre de

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

DUT Informatique - Module M-4102C Modélisation et construction des applications réparties

DUT Informatique - Module M-4102C Modélisation et construction des applications réparties DUT Informatique - Module M-4102C Modélisation et construction des applications réparties Applications réparties (distributed systems) J. Christian Attiogbé Février 2009, maj 2015 J. Christian Attiogbé

Plus en détail

(3.22) Interchangeabilité mutuelle : p q r p q r

(3.22) Interchangeabilité mutuelle : p q r p q r Préséance (priorité) des opérateurs (1) [x := e] (substitution textuelle) (prioritéélevée) (2). (application de fonction) (3) + P (opérateurs unaires préfixes) (4) / mod pgcd (5) + (opérateurs binaires)

Plus en détail

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence Université Paris Diderot Master 1 II Théorie et pratique de la concurrence Partiel du 30 avril 2009 Durée : 1h30. Tous les documents sont autorisés. Le barème est indicatif. Question 1 : Soit le programme

Plus en détail

Module OMGL - UE ModDyn

Module OMGL - UE ModDyn Module OMGL - UE ModDyn Modélisation de la dynamique / Réseaux de Petri J. Christian Attiogbé Février 2009, maj 2012 J. Christian Attiogbé (Février 2009, maj 2012) Module OMGL - UE ModDyn 1 / 34 Plan de

Plus en détail

Chapitre 4. Le langage PROMELA. (PROcess Meta LAnguage)

Chapitre 4. Le langage PROMELA. (PROcess Meta LAnguage) Chapitre 4 Le langage PROMELA (PROcess Meta LAnguage) PROcess MEta Language [Holzmann] Spécification et vérification de protocoles Abstraction de l'implémentation (niveau conceptuel) Modèle de validation

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

Plus en détail

Les Algorithmes par Vagues. Algorithmique Distribuée

Les Algorithmes par Vagues. Algorithmique Distribuée Les Algorithmes par Vagues 1 Les Algorithmes par Vagues Introduction Définitions Particularités Vague pour topologie en anneau Vague pour topologie en arbre Vague pour topologie quelconque 2 Introduction

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

1 Valeur d une expression

1 Valeur d une expression PCSI Informatique: Cours2 1 VALEUR D UNE EXPRESSION Expressions et variables en informatique 1 Valeur d une expression Expression : suite de caractères qui a un sens pour la machine Valeur d une expression

Plus en détail

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

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

LES ALGORITHMES ARITHMETIQUES

LES ALGORITHMES ARITHMETIQUES LES ALGORITHMES ARITHMETIQUES I- Introduction Dans ce chapitre nous allons étudier quelques algorithmes relatifs à l arithmétique qui est une branche des mathématiques qui étudie les relations entre les

Plus en détail

Synchronisation des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA

Synchronisation des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA 1/16 Synchronisation des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/16 Table des matières 1 2 Synchronisation matérielle 3 Synchronisation logicielle 4 classiques 4/16 Nécessité

Plus en détail

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

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

Réseaux de Petri. Master Informatique - Spécialité SAR NI405 - Modélisation des systèmes répartis. 1 - Modélisation de systèmes finis 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

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Statique / Dynamique

Statique / Dynamique Statique / Dynamique Analyse dynamique : nécessite l exécution du code binaire Principe : à partir du code source (ou d un modèle) et spécification, produire des DT qui exécuteront un ensemble de comportements,

Plus en détail

Synchronisation des Processus et les sémaphores

Synchronisation des Processus et les sémaphores Synchronisation des Processus et les sémaphores Achraf Othman Support du cours : www.achrafothman.net 1 PLAN Spécification du problème Section Critique (SC) Exclusion Mutuelle Principe Propriétés Réalisation

Plus en détail

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion

Plus en détail

Détection de la terminaison distribuée

Détection de la terminaison distribuée Cours Algorithmique répartie Master 2 Université Paris-Diderot Devoir 1 (à rendre avant le 22 février 2010) Détection de la terminaison distribuée Généralités Π = {p 0,..., p n 1 } est l ensemble des processus.

Plus en détail

Leçon 6. Savoir compter

Leçon 6. Savoir compter Leçon 6. Savoir compter Cette leçon est une introduction aux questions de dénombrements. Il s agit, d une part, de compter certains objets mathématiques (éléments, parties, applications,...) et, d autre

Plus en détail

L2: cours I4c Langages et automates

L2: cours I4c Langages et automates L2: cours I4c Langages et automates Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr Modifié le 31 mai 2007 Sommaire Utiles pour compilation, interprétation,... 1. Langages rationnels 2. Langages

Plus en détail

Corrigé de l examen de systèmes opératoires Module Synchronisation des processus

Corrigé de l examen de systèmes opératoires Module Synchronisation des processus Corrigé de l examen de systèmes opératoires Module Synchronisation des processus 2ième Année Informatique et Mathématiques Appliquées 17 Novembre 1999 1 Les sémaphores 1. Donner la définition d un sémaphore

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Exclusion mutuelle par attente active Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud

Plus en détail

Logique informatique 2013-2014. Examen

Logique informatique 2013-2014. Examen Logique informatique 2013-2014. Examen 30 mai 2013. Durée 3h. Tous les documents sont autorisés. Seuls les résultats du cours peuvent être utilisés sans démonstration. Le barême et la longueur des solutions

Plus en détail

Modélisation de systèmes par automates finis

Modélisation de systèmes par automates finis LIP6 - UPMC Année 2010 2011 Master SAR - MSR Aide mémoire Modélisation de systèmes par automates finis Table des matières 1 Introduction : modélisation par automates finis 1 2 Systèmes de transitions et

Plus en détail

Sémantique des Langages de Programmation

Sémantique des Langages de Programmation Sémantique des Langages de Programmation Introduction Stefano Guerrini stefano.guerrini@univ-paris13.fr LIPN - Institut Galilée, Université Paris Nord 13 Sup Galillée Informatique, 1ère année 2009 2010

Plus en détail

Systèmes concurrents

Systèmes concurrents Systèmes concurrents Philippe Quéinnec 14 septembre 2012 Systèmes concurrents 1 / 25 Deuxième partie L'exclusion mutuelle Systèmes concurrents 2 / 25 Isolation L'exclusion mutuelle Plan 1 Interférences

Plus en détail

Introduction aux automates

Introduction aux automates Introduction aux automates Principes et exemples Pascal André IRIN Université de Nantes 2 rue de la Houssinière ; B.P. 92208 44322 Nantes Cedex 03 Pascal.Andre@irin.univ-nantes.fr Introduction aux automates

Plus en détail

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

Plus en détail

Polytechnique. Épreuve d Informatique 1998

Polytechnique. Épreuve d Informatique 1998 Polytechnique Épreuve d Informatique 1998 Corrigé rédigé par Martine Lannaud, Lycée Chaptal, Paris Pour toute remarque ou correction martine.lannaud@prepas.org Motifs et automates Question 1. Quelques

Plus en détail

ACCOV 2001-2002. Système avec des processus concurrents

ACCOV 2001-2002. Système avec des processus concurrents projet ACCOV 2001-2002 ACCOV 2001-2002. Système avec des processus concurrents procedure Main is type TabDoc is array(1..6) of Document; -- contrôle l'attribution d'un nom unique package ProcId is procedure

Plus en détail

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits 1 d Automatisation de la certification formelle de systèmes critiques par instrumentation d sous la direction de Michaël Périn Soutenance de Thèse de Doctorat Université de Grenoble - Laboratoire Verimag

Plus en détail

Langages de spécification cours 3

Langages de spécification cours 3 Langages de spécification cours 3 Introduction en logique temporelle Catalin Dima Spécification des propriétés temporelles Les automates permettent de décrire des ensembles de comportements. Langage de

Plus en détail

Arbres Binaires de Recherche : Introduction

Arbres Binaires de Recherche : Introduction Arbres Binaires de Recherche : Introduction I. Guessarian cours ISN 11 janvier 2012 LIAFA, CNRS and University Paris Diderot 1/13 Arbre Binaire de Recherche Un Arbre Binaire de Recherche (ABR) est un arbre

Plus en détail

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes. Automates à pile Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 62 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates

Plus en détail

Résolution générique à la volée de systèmes d équations booléennes et applications

Résolution générique à la volée de systèmes d équations booléennes et applications Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de

Plus en détail

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

Plus en détail

Un automate à états fini

Un automate à états fini Automates à états et langages Notion d automate Langage reconnu par un automate Automates non déterministes Expressions régulières et automates Limites des automates Notion d automate Objectif : définir

Plus en détail

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

Thème 11 Réseaux de Petri Places-Transitions 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

Plus en détail

Contrôle de Flux: Fenêtre glissante

Contrôle de Flux: Fenêtre glissante Luc Trudeau L ÉTS est une constituante du réseau de l'université du Québec Département de génie logiciel et des technologies de l information Montréal, Québec, Canada http://www.flickr.com/photos/andersenwindows/

Plus en détail

Modélisation des systèmes avec NuSMV. LACL, Université Paris-Est Créteil

Modélisation des systèmes avec NuSMV. LACL, Université Paris-Est Créteil Modélisation des systèmes avec NuSMV Cătălin Dima LACL, Université Paris-Est Créteil Éléments clés à prendre en compte en modélisation Existence des processus/modules/fonctions indépendent(e)s : Processus

Plus en détail

Chap. 2. Langages et automates

Chap. 2. Langages et automates Chapitre 2. Langages et automates 1. Quelques définitions et description d un langage. 2. Les expressions régulières. 3. Les automates fini déterministes et non-déterministes. 4. Construction automatique

Plus en détail

Introduc)on à la logique Michel Rueher

Introduc)on à la logique Michel Rueher Introduc)on à la logique Michel Rueher SI3 Qu est ce que la logique? Etre Logique? Formaliser le raisonnement? Automatiser le raisonnement? Un art paradoxal? A quoi peut servir la logique? Formaliser le

Plus en détail

Le but de ce chapitre est de présenter quelques méthodes et outils qui ont été proposés pour résoudre le problème de la programmation concurrente.

Le but de ce chapitre est de présenter quelques méthodes et outils qui ont été proposés pour résoudre le problème de la programmation concurrente. 7 CHAPITRE II : METHODES ET OUTILS DE SYNCHRONISATION Le but de ce chapitre est de présenter quelques méthodes et outils qui ont été proposés pour résoudre le problème de la programmation concurrente.

Plus en détail

Fondamentaux pour les Mathématiques et l Informatique :

Fondamentaux pour les Mathématiques et l Informatique : Université Bordeaux 1 Licence de Sciences, Technologies, Santé Mathématiques, Informatique, Sciences de la Matière et Ingénierie M1MI1002 Fondamentaux pour les Mathématiques et l Informatique Fondamentaux

Plus en détail

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006 ESSEC M B A CONCOURS D ADMISSION Option économique MATHEMATIQUES III Année 2006 La présentation, la lisibilité, l orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

La chasse aux bugs : pourquoi? Les bugs en informatique. La chasse aux bugs : pourquoi? Des bugs logiciels aux conséquences désastreuses (1)

La chasse aux bugs : pourquoi? Les bugs en informatique. La chasse aux bugs : pourquoi? Des bugs logiciels aux conséquences désastreuses (1) La chasse aux bugs : pourquoi? Les bugs en informatique où pourquoi faire un peu de maths quand c est utile Les bugs sont partie intégrante de l informatique. Mais en fait... les bugs, est-ce si grave?

Plus en détail

Utilisation de Coq pour l étude d algorithmes

Utilisation de Coq pour l étude d algorithmes Utilisation de Coq pour l étude d algorithmes Yves Bertot Introduction I Structures de données I Programmation de l algorithme I Description de propriétés des données I Démonstration de cohérence Partie

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

Théorie des ensembles

Théorie des ensembles Théorie des ensembles Cours de licence d informatique Saint-Etienne 2002/2003 Bruno Deschamps 2 Contents 1 Eléments de théorie des ensembles 3 1.1 Introduction au calcul propositionnel..................

Plus en détail

TP Sage. Yannick Renard.

TP Sage. Yannick Renard. TP Sage. Yannick Renard. 1. Introduction. Le logiciel Software for Algebra and Geometry Experimentation (Sage) est un logiciel de mathématiques qui rassemble de nombreux programmes et bibliothèques libres

Plus en détail

TP Maple 4 Eléments de programmation

TP Maple 4 Eléments de programmation TP Maple 4 Eléments de programmation Les structures de branchement (tests) et de répétition (boucles) sont au fondement de la programmation informatique. Elles permettent respectivement d effectuer certaines

Plus en détail

Systèmes d'exploitation. Pierre Antoine Champin IUT A de Lyon Séance 4

Systèmes d'exploitation. Pierre Antoine Champin IUT A de Lyon Séance 4 Systèmes d'exploitation Pierre Antoine Champin IUT A de Lyon Séance 4 Plan de la séance 1. Concurrence 2. Problématique liée à la concurrence section critique mécanisme d'exclusion mutuelle 3. Solutions

Plus en détail

Épreuve orale d Informatique Fondamentale

Épreuve orale d Informatique Fondamentale Épreuve orale d Informatique Fondamentale Patrick Baillot, Nicolas Ollinger, Alexis Saurin ULC MPI 2013 Résumé Ce document consiste en une sélection, à titre d exemples, de 3 sujets proposés à l épreuve

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

Plus en détail

DIC9305 Logique, informatique et sciences cognitives

DIC9305 Logique, informatique et sciences cognitives DIC9305 Logique, informatique et sciences cognitives Logique modale II Roger Villemaire Département d informatique UQAM le 6 mars 2014 Plan 1 Choix d une logique modale 2 Relations de Allen 3 Logiques

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

Cours 3: Coopération entre processus: Synchronisation + Communication

Cours 3: Coopération entre processus: Synchronisation + Communication Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)

Plus en détail

Examen 30 mai 2013. Vol de tâche. Système ENS L3 Info. Année 2012-2013

Examen 30 mai 2013. Vol de tâche. Système ENS L3 Info. Année 2012-2013 Système ENS L3 Info. Année 2012-2013 Examen 30 mai 2013 L énoncé est composé de 5 pages. Cette épreuve est prévue pour une durée de 2h. Les notes de cours et de TDs sont autorisées. Vol de tâche Le but

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Théorie des Langages Formels Chapitre 5 : Automates minimaux

Théorie des Langages Formels Chapitre 5 : Automates minimaux Théorie des Langages Formels Chapitre 5 : Automates minimaux Florence Levé Florence.Leve@u-picardie.fr Année 2015-2016 1/29 Introduction Les algorithmes vus précédemment peuvent mener à des automates relativement

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique. École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation

Plus en détail

TP 1 - Utilisation de Python

TP 1 - Utilisation de Python TP 1 - Utilisation de Python L objectif de ce TP est d apprendre à faire réaliser des calculs et des tâches répétitives à un ordinateur. Pour faire cela, il est nécessaire de communiquer avec l ordinateur

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Les méthodes formelles dans le cycle de vie Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Plan Introduction Différentes utilisations possibles Différentes techniques pour différentes propriétés à différents

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

Partiel - 12 mars 2014

Partiel - 12 mars 2014 Licence STS, semestre 4 013 14 Mathématiques pour l Informatique (Info 9) 1 mars 014 http://www.lri.fr/~paulin/mathinfo Partiel - 1 mars 014 L examen dure heures. L énoncé est composé de 5 pages. Toutes

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

3.3 Les Files d attente (Queues)

3.3 Les Files d attente (Queues) 3.3 Les Files d attente (Queues) 3.3.1 Définition La file d attente est une structure qui permet de stocker des objets dans un ordre donné et de les retirer dans le même ordre, c est à dire selon le protocole

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

Plus en détail

UPMC Master informatique 2 STL NI503 Conception de langages Notes I

UPMC Master informatique 2 STL NI503 Conception de langages Notes I UPMC Master informatique 2 STL NI503 Conception de langages Notes I 2012 1 Évaluer Un langage Le langage Logo est composé commandes permettant de diriger le déplacement d un point sur un plan cartésien

Plus en détail

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

Plus en détail

Validation de systèmes interactifs centrée sur l usager

Validation de systèmes interactifs centrée sur l usager Validation de systèmes interactifs centrée sur l usager C. Ailleres Mardi 6 Janvier 2004 Problématique Avènement de l informatique : besoin de qualité et de fiabilité des systèmes Génie Logiciel Importance

Plus en détail

Sémantique formelle et synthèse de client pour services Web

Sémantique formelle et synthèse de client pour services Web Sémantique formelle et synthèse de client pour services Web Séminaire «Services Web» 24 Janvier 2006 sylvain.rampacek@univ-reims.fr CReSTIC LAMSADE Plan Introduction Services Web Description de la plate-forme

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud Mai 2012 Yann Thoma (HES-SO / HEIG-VD

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

Les limites théoriques de l informatique Les problèmes indécidables

Les limites théoriques de l informatique Les problèmes indécidables Les limites théoriques de l informatique Les problèmes indécidables Samuel Fiorini - Gilles Geeraerts - Jean-François Raskin Université Libre de Bruxelles Académie Royale des Sciences Bruxelles 3/3/2010

Plus en détail

Logique et bases de données

Logique et bases de données Logique et bases de données Plan Théorie du premier ordre Hypothèses CWA, unique name, domain closure BD comme interprétation BD comme théorie du 1er ordre BD déductives Signification des différentes formes

Plus en détail

Vérification des systèmes modulaires

Vérification des systèmes modulaires Vérification des systèmes modulaires F. Ouazar Lounnaci M.Ioualalen M.C.Boukala MOVEP, USTHB, Algérie fouazar@gmail.com mioualalen@usthb.dz mboukala@usthb.dz Résumé La vérification des systèmes par model-checking

Plus en détail

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail

Algorithmique des Systèmes Répartis. Problèmes - Concepts - Techniques - Outils

Algorithmique des Systèmes Répartis. Problèmes - Concepts - Techniques - Outils Algorithmique des Systèmes Répartis Systèmes Répartis Problèmes - Concepts - Techniques - Outils Master Informatique Dominique Méry Université de Lorraine 19 février 2013 1 / 40 Plan 1 Problèmes des systèmes

Plus en détail

Majeure d informatique

Majeure d informatique Nicolas Sendrier Majeure d informatique Introduction la théorie de l information Cours n 1 Une mesure de l information Espace probabilisé discret L alphabet est X (fini en pratique) Variable aléatoire

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Cours 3: Coopération entre processus: Synchronisation + Communication

Cours 3: Coopération entre processus: Synchronisation + Communication Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)

Plus en détail

Les mots de Sturm. Fathi BEN ARIBI 20 décembre 2008

Les mots de Sturm. Fathi BEN ARIBI 20 décembre 2008 Les mots de Sturm Fathi BEN ARIBI 20 décembre 2008 1 Objectifs Dans cette présentation, nous donnerons quelques résultats de combinatoire des mots. Avant tout, il est nécessaire d introduire quelques notations

Plus en détail

INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014

INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014 INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014 CORRIGÉ Documents non autorisés, durée: 2h45 1 Questions de cours (6 points) Question 1 (2pts) Donner quatre méthodes vues en cours pour

Plus en détail