Rapport de Stage MASTER RECHERCHE EN INFORMATIQUE. COSY : des COncepts aux SYstèmes

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

Download "Rapport de Stage MASTER RECHERCHE EN INFORMATIQUE. COSY : des COncepts aux SYstèmes"

Transcription

1 Rapport de Stage MASTER RECHERCHE EN INFORMATIQUE Spécialité : COSY : des COncepts aux SYstèmes Sujet : Vérification d un protocole Stop-And-Wait : Combiner Model-Checking et Preuve de théorèmes par : Naim ABER Stage d initiation à la recherche effectué au Laboratoire d Informtique de Paris Nord au sein de l équipe Logique, Calcul et Raisonnement, UMR 7030 du CNRS Sous la direction de : M. Kais Klai : Maître de conférences à UP13 - LIPN - LCR Mme. Micaela Mayero : Maître de conférences à UP13 - LIPN - LCR Année universitaire

2 Table des matières Table des Matières Table des Figures i iv Liste des tableaux 1 INTRODUCTION GENERALE 2 1 Approches de vérification formelle Introduction Approches de vérification formelle Model checking Présentation Réseaux de Petri Réseaux de Petri colorés Outils de développement des réseaux de Petri Preuves de théorèmes Présentation Définitions Assistants de preuve Conclusion Étude de cas : le protocole Stop and Wait Introduction Principes des protocoles de la couche Liaison de données Description du Protocole Stop and Wait i

3 2.4 Informations de contrôle Conclusion Modélisation et vérification du protocole Stop and Wait avec CPN- AMI Introduction Environnement CPN-AMI Modélisation du protocole Stop and Wait avec CPN-AMI Déclarations Places et transitions du modèle Description du modèle Analyse du modèle et vérification de propriétés Vérification syntaxique Bornes de places Modèle avec un nombre fini de retransmissions Vérification syntaxique Bornes de places Graphe des états accessibles Duplication Conclusion Formalisation du protocole Stop and Wait en Coq Introduction Assistant de preuve Coq Formalisation du protocole Stop and Wait en Coq Formalisation de l aspect statique du réseau Formalisation de l aspect dynamique du modèle Gardes Mise à jour du marquage courant Franchissabilité Franchissement d une transition Conclusion

4 CONCLUSION GÉNÉRALE 47 Bibliographie 49

5 Table des figures 1.1 Exemple d un réseau de Petri Exemple d un réseau de Petri coloré Pile protocolaire du modèle OSI Informations de contrôle du protocole Stop and Wait Modèle CPN-AMi du protocole Stop and Wait Informations statistiques sur le modèle Bornes de places Modèle CPN-AMi du protocole Stop and Wait avec un nombre fini de retransmissions Vérification syntaxique Bornes de places Bornes de la place msg recieved Modèle CPN-AMi du protocole SWP Exemple de franchissement d une transition dans un réseau de Petri coloré 35 iv

6 Liste des tableaux 3.1 Places et transitions de l Émetteur Places et transitions du Récepteur Places et transitions du Réseau Graphe des états accessibles en fonction du nombre de retransmissions R. 27 1

7 INTRODUCTION GÉNÉRALE Contexte scientifique et problématique De nos jours, les systèmes informatiques temps réel sont présents dans de multiples secteurs d activités : contrôle des systèmes automatisés de production, aide à la conduite des véhicules (en particulier dans le domaine de l aviation) ou gestion des flux d information sur des réseaux locaux et sur Internet. Au cours des dernières années, les systèmes temps réel se sont progressivement établis comme une discipline à part entière qui rassemble une forte communauté issue à la fois du monde académique et de l industrie. L évolution de ces systèmes se caractérise par une complexité croissante et un rôle toujours plus critique. Leurs mise au point est un problème complexe pour lequel il est recommandé d utiliser des techniques de : 1) Description formelle afin de spécifier sans ambiguïté le comportement des applications considérées. 2) Vérification formelle afin de valider le bon fonctionnement de ces applications. La vérification formelle consiste à s assurer de la correction d un programme ou un logiciel, par rapport à des propriétés elles aussi définies formellement. Différentes approches mathématiques ont été utilisées pour élaborer des raisonnements formels sur ces systèmes, parmi lesquelles on cite notamment : Le model checking [1] : consiste à analyser exhaustivement l évolution du système lors de ses exécutions possibles. Par exemple, pour démontrer l absence d erreurs à l exécution, on pourra tester l absence d états d erreur dans l ensemble des états accessibles du système. Il s agit alors d une forme de test (informatique) exhaustif, mais mené à l aide d algorithmes astucieux permettant d énumérer les états du système sous une forme symbolique (c est-à-dire économique en terme d espace mémoire). La preuve de théorème [4] : tend à démontrer des théorèmes sur les formules logiques décrivant la sémantique du programme à l aide d outils logiciels appelés assistants de preuve. Ces outils permettent à l utilisateur de démontrer des théorèmes sur le programme, avec une aide et une vérification par la machine. 2

8 INTRODUCTION GENERALE La premiere approche (le model checking) a l avantage d être automatique et de pouvoir exhiber un exemple de comportement invalidant la propriété à vérifier (un contre-exemple) quand celle-ci est insatisfaite. En contre-partie, ce processus se heurte au problème de l explosion combinatoire des états possibles des systèmes. Par ailleurs, les techniques de model checking (classiques) sont peu appropriés à des systèmes paramétrés ou infinis. La deuxième approche (preuve de théorèmes) a l avantage d être indépendante de la taille de l espace d états du système, et peut donc s appliquer sur des modèles avec un très grand nombre d états, potentiellement indéterminé ou infini. Néanmoins, son inconvénient est qu elle nécessite l intervention et la créativité de l utilisateur pour compléter la preuve, ce qui est parfois un processus assez laborieux. Un autre inconvénient est son incapacité à fournir un contre-exemple lorsque la propriété à vérifier est prouvée insatisfaite. En résumé, le model checking est complètement automatique, la preuve formelle ne l est pas. La preuve de théorèmes peut gérer des formalismes complexes, le model checking ne le peut pas. Les forces et les faiblesses du model checking et la preuve de théorèmes sont clairement complémentaires. Objectif du stage L objectif de ce stage de master est d étudier la possibilité de combiner ces deux approches de vérification formelle via une étude de cas : le protocole STOP and WAIT [5] [6]. Ce protocole assure que le transfert de l information (une suite de paquets de données) s effectue dans l ordre, sans perte de données et à un débit raisonnable. Il s agit en fait d une classe de protocoles de communication où un seul paquet est émis à la fois par l émetteur qui se met en attente d un acquittement positif (ACK) de la part du récepteur avant de poursuivre ou de réémettre le même paquet si le temps d attente (Tout) est écoulé. Il peut néanmoins donner lieu à une famille infinie de systèmes à états finis si nous considérons que le nombre de retransmissions n est pas limité. Il s agit donc, d étudier ce protocole et de vérifier certaines de ces propriétés (sûreté, alternance des envois et réceptions de messages, ordre d arrivée de messages (séquencement),...) en combinant les deux approches : le model checking et la preuve de théorèmes. Organisation du rapport Le rapport est organisé comme suit : Le premier chapitre présente les deux approches de vérification formelle : le model checking et la preuve de théorème. Nous présentons le principe, l intérêt, les avantages et les inconvénients de chacune des deux approches. 3

9 INTRODUCTION GENERALE Le deuxième chapitre est consacré à notre étude de cas : le protocole Stop and Wait. Une présentation générale sera réalisée sur le protocole ayant pour objectif de spécifier son principe de fonctionnement. Le troisième chapitre (première partie de notre contribution) présente une modélisation du protocole Stop and Wait avec les réseaux de Petri coloré en décrivant les détails conceptuels de la formalisation. Le quatrième chapitre (deuxième première partie de notre contribution), présente une description formelle du modèle réseau de Petri coloré associé au protocole Stop and Wait à l aide de l assistant de preuve Coq. Enfin, nous concluons ce rapport et donnons quelques perspectives au travail effectué lors de ce stage. 4

10 1 Approches de vérification formelle 1.1 Introduction Les méthodes de vérification formelles [8] sont des techniques permettant de raisonner rigoureusement, à l aide de logiques mathématiques, sur des programmes informatiques ou des matériels électroniques, afin de démontrer leur validité par rapport à une certaine spécification. Ces méthodes permettent d obtenir une très forte assurance de l absence de bug dans les logiciels, c est-à-dire d acquérir des niveaux d évaluation d assurance élevés, elles sont basées sur les sémantiques des programmes, c est-à-dire sur des descriptions mathématiques formelles du sens d un programme donné par son code source (ou parfois, son code objet). Cependant, elles sont généralement coûteuses en ressources (humaines et matérielles) et actuellement réservées aux logiciels les plus critiques. Leur amélioration et l élargissement de leurs champs d application pratique sont la motivation de nombreuses recherches scientifiques en informatique. Ce chapitre détaille les motivations de ce travail et présente les deux principaux thèmes ; les deux approches de vérification formelles. Le chapitre est organisé en deux parties : La première partie présente l approche de vérification formelle model checking et la deuxième est consacrée à la preuve de théorèmes. Nous détaillons les principes de base et présentons un outil pour chacune des deux approches, les réseaux de Petri coloré avec la plateforme CPN-AMI pour le model cheching et l assistant de preuve Coq pour la preuve de théorèmes. 5

11 Chapitre1 Approches de vérification formelle 1.2 Approches de vérification formelle On peut distinguer deux principales approches permettant la vérification ou la peuve formelle de propriétés sur des modèles formels : Le model checking [1] : consiste à vérifier des propriétés par une énumération exhaustive des états accessibles. L efficacité de cette technique dépend en général de la taille de l espace des états accessibles et trouve donc ses limites dans les ressources de l ordinateur pour manipuler l ensemble de ces états accessibles. Des techniques d abstractions (éventuellement guidées par l utilisateur) peuvent être utilisées pour améliorer l efficacité des algorithmes. La preuve de théorèmes [4] : on parle aussi de preuves automatique de théorèmes, qui consiste à laisser l ordinateur prouver les propriétés automatiquement, étant donnés une description du système, un ensemble d axiomes et un ensemble de règles d inférences. La preuve de théorèmes, par rapport au model-checking, a l avantage d être indépendante de la taille de l espace des états, et peut donc s appliquer sur des modèles avec un très grand nombre d états, ou même sur des modèles dont le nombre d états n est pas déterminé (modèles génériques). La preuve de théorèmes, par rapport au model-checking, a l avantage d être indépendante de la taille de l espace des états, et peut donc s appliquer sur des modèles avec un très grand nombre d états, ou même sur des modèles dont le nombre d états n est pas déterminé (modèles génériques). Cependant dans certains cas, le temps et les ressources nécessaires pour que les propriétés soient prouvées peut dépasser des temps acceptables ou les ressources dont dispose l ordinateur Model checking Présentation Le Model Checking [1] désigne une famille de techniques de vérification automatique des systèmes dynamiques. Il s agit de vérifier algorithmiquement si un modèle donné, le système lui-même ou une abstraction du système, satisfait une spécification, souvent formulée en termes de logique temporelle. Une façon de procéder consiste à exprimer le système à vérifier et la propriété à tester sous la forme d automates. La première étape du Model Checking consiste à exprimer le modèle considéré au moyen d un graphe orienté, formé de nœuds et de transitions. Chaque nœud représente un état du système, chaque transition représente une évolution possible du système d un état 6

12 Chapitre1 Approches de vérification formelle donné vers un autre état. Parallèlement, le système est décrit par un ensemble de propositions logiques atomiques (e.g. i=2, le processeur 3 est en attente,...). Chaque état du graphe orienté est étiqueté par l ensemble des propositions atomiques vraies à ce point d exécution. Un tel graphe est appelé structure de Kripke [22]. La deuxième étape du Model Checking consiste à exprimer la négation de la formule de logique temporelle que nous souhaitons tester. La négation de cette formule est donc ellemême transcrite sous forme d une structure de Kripke, capable de reconnaître exactement l ensemble des exécutions satisfaisant la négation de la formule donnée. Par exemple, on pourra transcrire une formule logique LTL (logique temporelle linéaire) en un automate de Büchi [23] non-déterministe. La troisième et dernière étape consiste à réaliser le produit cartésien synchrone des deux structures de Kripke obtenues précédemment. Si le langage reconnu par le produit est vide, alors le système satisfait la formule de logique. Sinon, toute séquence appartenant au langage du produit constitue un contre-exemple à la spécification. Énumérer explicitement tous les états de l automate peut être coûteux, c est pourquoi on procède généralement par des méthodes symboliques, introduites par Ken McMillan et Ed Clarke [22]. La structure de Kripke représentant l évolution du système via tous ces états accessibles est généralement obtenu à partir d une description formelle du système (Algèbre de processus, automates, Réseaux de Petri, etc.). Dans ce stage, nous avons opté pour le modèle Réseaux de Petri Réseaux de Petri Présentation : un réseau de Petri est par un graphe biparti (composé de deux types de nœuds) orienté reliant des places et des transitions (les nœuds). Deux places (respectivement deux transitions) ne peuvent pas être reliées entre elles, ni deux transitions. Les places peuvent contenir des jetons, représentant généralement des ressources disponibles (figure 1.1). La distribution des jetons dans les places est appelée le marquage du réseau de Petri. Les entrées d une transition sont les places desquelles part une flèche pointant vers cette transition, et les sorties d une transition sont les places pointées par une flèche ayant pour origine cette transition. 7

13 Chapitre1 Approches de vérification formelle Figure 1.1 Exemple d un réseau de Petri Définition formelle : T, F, M 0, W ), o`u : Un réseau de Petri Place Transition (P/T)[9] est un 5-uplet (S, S définit une ou plusieurs places. T définit une ou plusieurs transitions. F définit un ou plusieurs arcs (flèches). Un arc ne peut pas relier 2 places ou 2 transitions ; plus formellement : F (S T ) (T S). M 0 :S N définit le marquage initial, où, pour chaque place s S, il y a il y a n Njetons. W :F N + appelé ensemble d arcs primaires ou ensemble de valuations, et définie comme suit : f = (p, t) (respectivement f = (t, p)), W (f) désigne le nombre de jetons nécessaires dans p pour le franchissement de t (respectivement le nombre de jetons produits par le franchissement de t) Dynamique d un réseau de Petri : Un réseau de Petri évolue lorsqu on franchit une transition : des jetons sont retirés dans les places en entrée de cette transition et des jetons sont déposés dans les places en sortie de cette transition. On dit qu une transition t est franchissable, si chaque place p en entrée contient un nombre de jetons supérieur ou égal à la valuation de l arc qui la relie à la transition t. Le franchissement d une transition permet d atteindre un nouveau marquage M à partir d un marquage M. Le marquage M est obtenu à partir de M par franchissement de t comme suit : Soient : P re(p, t) = {W (p, t) si (p, t) F, 0 sinon}, P ost(t, p) = {W (t, p) si (t, p) F, 0 sinon}, p S alors, M (p) = M(p) P re(p, t) + P ost(t, p) L exécution d un réseau de Petri n est pas déterministe, car il peut y avoir plusieurs possibilités d évolution à un instant donné. 8

14 Chapitre1 Approches de vérification formelle Réseaux de Petri colorés Présentation : Lorsque le nombre d entités du système à modéliser est important, la taille du réseau de Petri devient rapidement énorme ; et si les entités présentent des comportements similaires, l usage des réseaux colorés [10] permet de condenser le modèle. Les réseaux de Petri colorés sont des réseaux de Petri dans lesquels les jetons portent des couleurs (figure 1.2). Une couleur est une information attachée à un jeton. Cette information permet de distinguer des jetons entre eux et peut être de type quelconque. Ainsi, les arcs ne sont pas seulement étiquetés par le nombre de jetons mais par leurs couleurs. Le franchissement d une transition est alors conditionné par la présence dans les places en entrée du nombre de jetons nécessaires, qui en plus satisfont les couleurs qui étiquettent les arcs. Après le franchissement d une transition, les jetons qui étiquettent les arcs d entrée sont retirés des places en entrée tandis que ceux qui étiquettent les arcs de sortie sont ajoutés aux places en sortie de cette transition. Les réseaux colorés n apportent pas de puissance de description supplémentaire par rapport aux réseaux de Petri P/T, ils permettent juste une condensation de l information. A tout réseau de Petri coloré marqué correspond un réseau de Petri P/T qui lui est isomorphe. Figure 1.2 Exemple d un réseau de Petri coloré Définition formelle : Un réseau de Petri coloré [10] est un tuple CPN = (S, P, T, A, N, C, G, E, I), où : S est un ensemble fini de types non-vides, appelé des ensembles de couleur, P est un ensemble fini de places, T est un ensemble fini de transitions, A est un ensemble fini d arcs tel que : P T = P A = T A =, N est une fonction de couleur entre les nœud. Elle est défini de A (P T ) (T P ), C est une fonction de couleur des places. Elle est défini de P S, 9

15 Chapitre1 Approches de vérification formelle G est une fonction de garde, tel que : t T : [T ype(g(t)) = Bool een T ype(v ar(g(t))) S] E est une fonction d expression d arc, s tel que : a A : [T ype(e(a)) = C(p(a)) T ype(v ar(e(a))) S], Où, p(a) est la place de N(a), I est une fonction d initialisation, tels que : p P : [T ype(i(p)) = C(p)] Outils de développement des réseaux de Petri Le développement des réseaux de Petri a été conduit par le désir de développer un langage de modélisation industrielle. La section nous indique des définitions formelles assez complexes. Il faut avoir un outil efficace, qui nous aidera à nous rapprocherd une vision plus appliquée. Les outils de modélisation des Réseaux de Petri ont été conçus pour ce but. Il existe de nombreux outils de modélisation et de simulation pour les réseaux de Petri, souvent libres, et développés dans le cadre de thèses ou de recherches scientifiques : CPN Tools [11] : Développé Par CPN Group, Université d Aarhus, Denmark. Il est l un des logiciels les plus utilisés dans son domaine, dédié à la simulation de réseaux de Pétri de haut niveau. Il se compose de : CPN editor : permet d éditer les réseaux colorés et de vérifier la syntaxe, CPN simulator : permet de simuler le comportement de réseau (les règles de franchissement, les transitions franchissables, etc), CPN state space tool : supporte la vérification sur l espace d états. CPN Tools combine la capacité des réseaux de Petri coloré et la capacité d un langage fonctionnel (le langage Standard ML). CPN Tools fournit des primitives pour décrire les processus concourants, tandis que le langage fournit des primitives pour définir des types de données (ensemble de couleur) et des manipulations des données (expression d arcs, gardes, etc.). CPN-AMI [12] : Développé au Laboratoire d Informatique de Paris 6 (LIP6), CPN- AMI est un environnement dédié à la théorie des réseaux de Petri colorés et supporte la spécification, la validation, la vérification formelle et le prototypage conforme d applications coopératives. Ses outils permettent de vérifier des formules de logique temporelle (model checking), de calculer des propriétés structurelles (invariants, verrous, trappes), de simuler, de débuguer et de générer du code. L accès aux outils se fait à travers une interface utilisateur (Macao) qui est un éditeur de graphes générique. 10

16 Chapitre1 Approches de vérification formelle Preuves de théorèmes Présentation La preuves de théorèmes [4] consiste à exprimer les propriétés requises par le futur système, de décrire un modèle de ce système et de montrer par la preuve que le système satisfait les propriétés [4]. Les méthodes formelles sont le plus souvent utilisées pour valider un cahier des charges ou vérifier des propriétés, en particulier de sécurité. Elles sont aujourd hui essentiellement utilisées pour les applications sécuritaires. Dès que des vies humaines ou que de lourds enjeux économiques sont impliqués, ces applications nécessitent de satisfaire des normes imposées. Les critères de sécurité à respecter deviennent vite complexes et nombreux. Un frein pour une utilisation plus générale des méthodes formelles dans l industrie vient de la difficulté de faire des preuves, et donc de leur coût. En effet, les preuves peuvent être longues et fastidieuses, et peuvent être difficiles d un point de vue mathématique [4] Définitions a) Preuve de théorèmes : consiste à énoncer des propositions et à les démontrer dans un système de déduction de la logique mathématique [4]. La preuve de théorèmes est une approche qui tend à être de plus en plus automatisée et assistée par ordinateur, c est pour cela que le terme preuve automatique de théorème est souvent utilisé. b) Théorème : proposition qui peut être mathématiquement démontrée, c est-à-dire une assertion (proposition mathématique admise) qui peut être établie comme vraie au travers d un raisonnement logique construit à partir d axiomes (vérité indémontrable qui doit être admise) [4]. Une fois le théorème démontré, il devient alors une hypothèse utilisable. c) Preuve : permet d établir une proposition à partir de propositions initiales, ou précédemment démontrées à partir de propositions initiales, en s appuyant sur un ensemble de règles de déduction [4]. Une fois démontrée, la proposition peut ensuite être ellemême utilisée dans d autres démonstrations. Dans ce cas, on la nomme généralement lemme. La preuve, bien que nécessaire à la classification de la proposition comme théorème, n est pas considérée comme faisant partie du théorème. La preuve comprend : Des axiomes ou des postulats : principes utilisés dans la construction d un système déductif, mais qu on ne démontre pas eux-même. D autres théorèmes déjà démontrés. Chaque étape de la preuve est liée aux précédentes par des règles d inférence logiques. Au sens large, toute assertion effectivement démontrée peut prendre le nom de théorème. Dans les ouvrages de mathématiques, il est cependant d usage de réserver ce terme aux affirmations considérées comme particulièrement intéressantes 11

17 Chapitre1 Approches de vérification formelle ou importantes. Selon leur importance ou leur utilité, les autres assertions peuvent prendre des noms différents : Lemme : assertion servant d intermédiaire pour démontrer un théorème plus important. Corollaire : résultat qui découle directement d un théorème prouvé. Proposition : résultat relativement simple qui n est pas associé avec un théorème particulier. Remarque : résultat intéressant ou conséquence qui peut faire partie de la preuve ou d une autre affirmation. Conjecture : proposition mathématique dont on ignore la valeur de vérité. Une fois prouvée, une conjecture devient un théorème. Avec l avènement des ordinateurs et des systèmes d aide à la démonstration, des mathématiciens contemporains rédigent des démonstrations qui sont amenées à être vérifiées par des programmes dits assistants de preuve Assistants de preuve Un assistant de preuve est un logiciel permettant l écriture et la vérification de preuves mathématiques, soit sur des théorèmes au sens usuel des mathématiques, soit sur des assertions relatives à l exécution de programmes informatiques. L écriture de preuves entièrement formelles est une activité extrêmement fastidieuse ; de nombreuses étapes qui seraient sautées, car considérées comme évidentes pour le lecteur familier des mathématiques, doivent être décortiquées dans les plus grands détails. Cependant, l assistant de preuve peut fournir plus ou moins d automatisation pour limiter le travail de l utilisateur humain. De nombreux assistants de preuves sont disponibles, certains sont inspirés de l isomorphisme de Curry-Howard [13] : chaque preuve acceptée fournit un lambda-terme dont le type est exactement le théorème. Créer ce terme correspond à construire la preuve et vérifier la preuve correspond à typer ce terme, ce qui est une opération simple exécutable par un programme de petite taille. L assistant de preuves a pour fonction de construire ce lambda-terme à partir de la preuve fournie par l utilisateur, qui peut ensuite être typé soit par l assistant de preuves, soit par un autre programme. Il est ainsi possible de nettement diminuer les risques d erreur en contre-vérifiant un lambda-terme avec deux programmes distincts. Parmi les assistants de preuve les plus connus se trouvent notamment : Coq [14], HOL [15], PVS [16], ACL2 [17], Isabelle [18], LEGO [19]. Une objection à l usage des assistants de preuve est que, de toute façon, la sécurité des preuves obtenues repose sur le bon fonctionnement de l assistant. En effet, les assistants 12

18 Chapitre1 Approches de vérification formelle de preuves sont de gros logiciels complexes, dont on peut soupçonner qu ils soient euxmêmes bugués. Certains assistants de preuve, comme Coq [14], produisent un terme de preuve dont la vérification peut être déléguée à un logiciel beaucoup plus simple qu un assistant complet ; ainsi, Coq produit des termes du Calcul des Constructions (inductives, à présent), un lambda-calcul typé d ordre supérieur, dont on peut relativement facilement vérifier s ils sont correctement typés. Coq, de plus, a lui-même été prouvé dans Coq par son vérificateur de démonstrations, ce qui rend la confiance que l on peut avoir dans ce logiciel un peu plus légitime. 1.3 Conclusion Dans ce chapitre, nous avons présenté les deux approches de vérification formelle, en l occurrence le model checking et la preuve de théorèmes. Ces méthodes permettent d obtenir une très forte assurance de l absence de bogue dans les logiciels, c est-à-dire d acquérir des niveaux d évaluation d assurance élevés, comme nous l avons signalé, les forces et les faiblesses du model checking et la preuve de théorèmes sont complémentaires. Pour explorer la possibilité de combiner les deux approches, nous allons d abord présenter notre étude de cas qui le protocole Stop and Wait. La présentation du protocole Stop and Wait est l objectif du prochain chapitre. 13

19 2 Étude de cas : le protocole Stop and Wait 2.1 Introduction Le but de la suite de ce travail est d étudier et de vérifier des propriétés sur le protocole de communication Stop and Wait [5,6]. Ce protocole dit de niveau liaison de données de la pile protocolaire du modèle OSI [20] (figure 2.1), assure quele transfert de l information (une suite de paquets de données) s effectue dans l ordre, sans perte de données et à un débit raisonnable. Plus précisément nous voulons étudier un protocole de communication entre une machine A (émetteur) qui veut transférer une certaine quantité d informations à une machine B (récepteur) à travers un support physique (canal). Ce support physique transporte les données avec un certain taux d erreur, c est-à-dire qu une donnée peut être mal transmise ou perdue de sorte que la machine B est incapable de la comprendre ou de la recevoir. La fonction élémentaire du protocole est donc d assurer que, même en cas d erreur (due au support physique), les données ne seront pas perdues. Ce chapitre est consacrée à la présentation du protocole Stop and Wait, nous faisons une description du protocole et montrons son intérêt dans un réseau de communication. 14

20 Chapitre2 Étude de cas : le protocole Stop and Wait Figure 2.1 Pile protocolaire du modèle OSI 2.2 Principes des protocoles de la couche Liaison de données Le rôle de la couche liaison de données est de fournir à la couche réseau un canal de communication fiable et efficace comme si la machine source et la machine destination étaient reliées entre elles par un lien parfait [20]. Cependant, en réalité il y a des erreurs de communication entre les deux machines, un débit fini et un délai de propagation non nul. L acheminement des données entre les couches réseaux d une machine A et d une machine B peut se faire suivant 3 types de services : mode datagramme (sans connexion et sans acquittement), mode sans connexion avec acquittements (offre plus d efficacité et de sécurité), mode avec connexion et acquittements (offre encore plus de services grâce à la négociation d options). La couche liaison peut être représentée en 2 sous couches : - LLC (Logical Link Control), - MAC (Medium Access Control). Dans un LAN (réseau local), en raison de l environnement contrôlé : câbles (de qualité) et équipements dans un environnement non agressif et des faibles distances qui entraînent de faible taux de perte, de l homogénéité des machines (contrôle de flux, machines de puissance comparable) la sous couche LLC est minimale. La gestion des erreurs est sous la responsabilité de la couche transport (pas de duplication qui pourrait entraîner des problèmes de double demande de retransmission). 15

21 Chapitre2 Étude de cas : le protocole Stop and Wait 2.3 Description du Protocole Stop and Wait Lorsqu une machine A veut transférer une donnée (un fichier) à une autre machine B, la donnée est d abord décomposée en plusieurs unités (appelée paquets) et le protocole de communication (sur les deux machines) contrôle si les paquets ont été bien transférés. La gestion du transfert des paquets s effectue à l aide d accusés de réception (noté ACK), qui constituent une information de contrôle. Cette information est en général ajoutée à l information brute (DATA), par exemple en tête de chaque paquet. Le récepteur doit donc envoyer à l émetteur des messages de bonne réception ou de non-réception. Ces messages ne contiennent pas d information brute, ce sont uniquement des messages de commande. La communication s effectue donc dans les deux sens sur le canal. Le protocole, au moyen de la gestion des réponses (ACK du récepteur), doit garantir le séquencement (arrivée des paquets dans l ordre) et la détection des erreurs (pertes de messages) [5], [6]. Nous allons présenter les grandes lignes de ce protocole à l aide de deux procédures ; l une est associée à l émetteur et l autre est associée au récepteur. Ensuite on donnera plus de détails sur la gestion des paquets et des acquittements. Les deux algorithmes suivants résument d une manière simple le fonctionnement du protocole Stop and Wait. Procédure associée à l émetteur : L émetteur envoie un message de données au récepteur Et se met en attente de recevoir un ACK Si Un ACK est reçu avant une période déterminée appelée Time Out alors L émetteur vérifie si l ACK reçu contient des erreurs Si Des erreurs sont détectées alors L émetteur retransmet le même message de données Et se met en attente d un nouvel ACK Sinon (l ACK ne contient pas d erreurs) L émetteur transmet le prochain message de données dans sa file d attente Sinon (l ACK n a pas été reçu au bout Time Out unité de temps) L émetteur retransmet le même message de données et se met en attente d un nouvel ACK 16

22 Chapitre2 Étude de cas : le protocole Stop and Wait Procédure associée au récepteur : Le récepteur se met en attente de recevoir un nouveau message de données Si Un nouveau message arrive alors Le récepteur vérifie si le message reçu contient des erreurs Si Des erreurs sont détectées alors Le message de données est ignoré et le récepteur continue à être en état d attente Sinon (le message reçu ne contient pas d erreurs) Le récepteur initie la transmission d un message ACK 2.4 Informations de contrôle Séquencement : les paquets reçus par le récepteur doivent être livrés dans le bon ordre. Fenêtre de transmission : le nombre k de tampons de stockage des paquets en attente est fixe (fini). La valeur de k est appelée fenêtre de transmission. Numérotation : la numérotation des paquets n est pas infinie. Cette numérotation tient sur un nombre de bits fixe x, soit une numérotation des paquets modulo 2 x. La fenêtre de transmission k est dans tous les cas plus petite que 2 x. Numéro de séquence en émission (Ns) et numéro de séquence en réception (Nr) : Ns représente le numéro (modulo 2 x ) du dernier paquet envoyé par l émetteur et Nr représente le numéro du dernier ACK envoyé par le récepteur. Tf (Data frame transmission time) : le temps nécessaire pour la transmission d un message de données. Ta (ACK transmission time) : le temps nécessaires pour la transmission d un message d acquittement. Tprop (Time propagation) : le temps de propagation d un message dans le canal de communication. Tproc (Processing time) : le temps nécessaire pour la détection des erreurs dans le message reçu. Tout (Time out) : le temps d attente avant la retransmission d un message. 17

23 Chapitre2 Étude de cas : le protocole Stop and Wait Figure 2.2 Informations de contrôle du protocole Stop and Wait 2.5 Conclusion Dans ce chapitre, à travers la description du protocole Stop and Wait, nous avons pu constater que le rôle des protocoles de la couche liaison de données est primordial. En effet, ils sont chargés de garantir la fiabilité de transfert de données dans un réseau de communication. Leur mise au point est un problème complexe pour lequel il est recommandé d utiliser des techniques de spécification et de vérification formelles. L objectif de la suite du travail est de fournir une description formelle au protocole Stop and Wait pour pouvoir ensuite vérifier formellement des propriétés sur le modèle obtenu, et cela en combinant les deux approches : model checking et preuve de théorèmes. 18

24 3 Modélisation et vérification du protocole Stop and Wait avec CPN-AMI 3.1 Introduction Le but de ce chapitre est de proposer une description formelle du protocole Stop and Wait avec un réseau de Petri coloré, pour ensuite vérifier des propriétés sur le modèle obtenu. Ce chapitre est organisé comme suit : nous présentons tout d abord, la plateforme CPN- AMI qui est un ensemble d outils pour la manipulation des réseaux de Petri. Nous proposons par la suite, une première modélisation du protocole Stop and Wait avec un réseau de Petri coloré. Puis, dans le but de rendre le modèle fini, nous proposons une deuxième modélisation qui correspond au protocole Stop And Wait avec un nombre de retransmissions limité. Enfin, nous passons à l analyse du modèle et nous interprétons les résultats obtenus. 3.2 Environnement CPN-AMI CPN-Ami [21] est un ensemble d outils pour la manipulation des réseaux de Petri développé par L équipe Modélisation et Vérification (MoVe) du laboratoire d informatique Paris 6 (LIP6). CPN-AMI est un environnement conçu sur FrameKIT : une plate-forme 19

25 Modélisation et vérification du protocole Stop and Wait logicielle d intégration permettant un couplage rapide d outils de provenance diverses. CPN-AMI est ainsi l assemblage le plus complet d outils de vérification à partir de réseaux de Petri. Ces outils ont été développés dans le cadre des travaux de l équipe MoVe ou par des partenaires universitaires (Université de Turin, Université de Helsinki, Bells-labs, Université de Munich, Université de Humbolt à Berlin). CPN-AMI est composé d un serveur d outils et d une interface utilisateur déportée à laquelle on se connecte. 3.3 Modélisation du protocole Stop and Wait avec CPN-AMI Le modèle CPN-AMI du protocole Stop and Wait est illustré dans la figure 3.1. Figure 3.1 Modèle CPN-AMi du protocole Stop and Wait Déclarations CLASS N is 0..5; T is 0..6; L is 1..10; DOMAIN NT is <N,T>; NL is <N,L>; VAR n,m in N; l in L; t in T; 20

26 Modélisation et vérification du protocole Stop and Wait La classe N définit les numéros de paquets, T est la classe qui définit les valeurs du Time Out et enfin la classe L définit les valeurs utilisées pour décider de la transmission ou la perte de paquets et d acquittements Places et transitions du modèle Le modèle CPN Ami du protocole Stop and Wait (figure 3.1) est composé de trois parties : Sender (Émetteur), Network (Réseau) et Receiver (Récepteur). Les places et transitions des trois composants sont résumées dans les tableaux suivants. a) Places et transitions du composant Émetteur Places msg to send : Message à envoyer wait ack : Attente d un acquittement Transitions send msg : Envoyer le message send next msg :Envoyer le prochain message retrans msg :Retransmettre le message decr t : Décrémenter la valeur de t Table 3.1 Places et transitions de l Émetteur b) Places et transitions du composant Récepteur Places ack to send : Acquittement à envoyer msg received : Message reçu Transitions receive msg : Recevoir le message send ack : Envoyer l acquittement ignore : ignorer le message Table 3.2 Places et transitions du Récepteur c) Places et transitions du composant Réseau Places msg sent : Message envoyé msg trans : Message transmis l values : Valeurs de l (probabilité de perte) lmsg generat : Valeur l du message généré lack generat : Valeur l de l acquittement généré Transitions trans msg : Transmettre le message lose msg : Perdre le message generat lmsg : Générer la valeur l du message generat lack : Générer la valeur l de l acquittement trans ack : Transmettre l acquittement 21

27 Modélisation et vérification du protocole Stop and Wait ack sent : Acquittement envoyé ack trans : Acquittement transmis lose ack : Perdre l acquittement Description du modèle Table 3.3 Places et transitions du Réseau les messages à envoyer sont modélisés par la place msg to s Dans cette place, chaque jeton contient un numéro de paquet qui appartient à la classe N, initialement ce numéro est égale à 1 et il sera mis à jours à chaque réception d un acquittement, et un numéro qui indique le nombre de tops d horloge qu il faut attendre avant de retransmettre le paquet (le Time Out), ce dernier appartient à la classe T et est initialisé à 5. La place ack to send contient le numéro du prochain message à recevoir, initialement ce numéro est égale à 1, il est mis à jour à chaque fois qu un paquet est reçu. La place l generat, contient tous les jetons de la classe L, c est à dire les valeurs comprises entre 1 et 10. La transition send msg envoi un paquet au réseau en créant une copie du paquet dans la place msg sent, crée une autre copie du paquet dans la place wait ack. La valuation n spécifie le numéro du paquet à envoyer et la valuation t spécifie le nombre de tops d horloge qu il faut attendre avant de retransmettre le paquet. Nous remarquons qu un paquet n est jamais supprimé après avoir été envoyé. La raison est que le paquet peut être perdu et par conséquent doit être retransmis. Le protocole Stop And Wait est pessimiste dans le sens où il continue à transmettre le même paquet jusqu à ce que il reçoive un acquittement indiquant que le paquet a bien été reçu. La transition trans msg transmet les paquets de l émetteur au récepteur en déplaçant le jeton correspondant de la place msg sent à la place msg trans. La garde [l<=8] indique si le paquet a été transmis, et donc la transition lose msg sera franchis si [l>8], dans ce cas, le paquet est considéré comme perdu. La valeur de l est générée par la transition generat lmsg, qui à chaque fois prend au hasard une des valeurs contenues dans la place l value. Cela veut dire que la probabilité de succès d une transmission est déterminée par la couleur du jeton retiré de la place l generat, et donc pour une transmission donnée, nous avons 80% de succès, cependant, cette valeur peut être changée en fonction de la propriété à vérifier. La transition receive msg est franchie si le numéro du paquet est égal au numéro du prochain acquittement à recevoir contenu dans la place ack to send (la garde [n = m]). Si les deux numéros sont égaux, alors le paquet sera mis dans la place msg received, c est-àdire, reçu, sinon le paquet est ignoré (franchissement de la transition ignore) et le numéro du paquet reçu est mis dans la place msg reiceved. La transition send ack envoi l acquittement du paquet reçu en mettant son numéro dans la place ack sent. La transmission des acquittements est similaire à celle des paquets, c est-à-dire, même l acquittement peut être perdu avec une probabilité déterminé par la couleur du jeton l généré par la transition generat lack. Si [l>8], alors l acquittement 22

28 Modélisation et vérification du protocole Stop and Wait est consommé par la transition lose ack c est-à-dire perdu. Sinon ([l<=8]), la transition trans ack transmet l acquittement à la place ack trans et met à jour le prochain acquittement à recevoir dans la place ack to s Encore une fois, la valeur 8 n est qu un choix, et donc elle peut être changée selon la propriété qu on souhaite vérifier. Une fois que l acquittement arrive à la place ack trans, la transition retrans msg vérifie si le Time Out est consommé ([t=0]). Nous remarquons que la valeur t du Time Out a été décrémentée par la transition decr t parallèlement aux propagations du paquet et de l acquittement. Et donc si [t=0], alors la transition retrans met le même numéro du paquet déjà envoyé dans la place msg to send qui sera le prochain paquet à envoyer, c est à dire retransmission du paquet, et le Time Out sera réinitialisé à 6. Ici aussi, il est important de noter que la valeur initiale de Time Out (t=6) n est qu un choix, et donc elle peut être changée selon les propriétés à vérifier. Sinon (si t>0), la transition send next msg vérifie en plus si le numéro d acquittement reçu est égal au numéro du paquet envoyé, si c est le cas (n=m), le numéro du prochain paquet à envoyer est incrémenté de 1 et il sera mis dans la place msg to send avec un Time Out réinitialisé à 6, sinon (n<>m), l acquittement est ignoré. 3.4 Analyse du modèle et vérification de propriétés Vérification syntaxique La vérification syntaxique indique que le modèle est syntaxiquement correct et donne des informations statistiques sur le modèle (nombre de places, nombre de transitions, nombre d arcs,...) le résultat obtenu est montré dans la figure 3.2. Figure 3.2 Informations statistiques sur le modèle Bornes de places Cette propriété est testée sur le réseau déplié (réseau de Petri Place/Transition) correspondant au réseau de Petri coloré. Elle indique les bornes (nombre minimum et nombres maximum de jetons que peut contenir une place) de toutes les places (figure 3.3). Le résultat indique que les places : msg sent, msg trans, ack sent et ack trans sont non bornées, c est-à-dire le nombre maximum de jetons dans ces places tend vers l infini). 23

29 Modélisation et vérification du protocole Stop and Wait Figure 3.3 Bornes de places Cela pose problème, en effet ceci indique que le graphe des états accessibles du modèle est infini. Par conséquent CPN-AMI ne peut pas vérifier des propriétés sur ce modèle puisque la vérification s effectue par une exploration exhaustive du l espace d états du systèmes. Interprétation : La raison pour laquelle ces places sont non bornées est due au fait que le l émetteur peut retransmette le même message une infinité de fois tant qu il n a pas reçu d acquittement. La retransmission est due aux pertes de messages ou d acquittements. 3.5 Modèle avec un nombre fini de retransmissions Pour remédier à ce problème (limiter le nombre de retransmissions permises), nous avons introduit quelques changements sur le modèle CPN-AMI du protocole Stop and Wait (figure 3.4). 1 Changements sur les déclarations : Nous avons déclaré une nouvelle classe R qui définit le nombre de retransmissions permises (R is 0..2 ). Le domaine NT est remplacé par le domaine NTR (NTR is <N,T,R>). Et finalement, une nouvelle variable r est introduite et appartient à la classe R. 2 Changements sur le modèle : Premièrement, nous avons ajouté deux places non colorées abondon et fin. La place abondon sert à déterminer le nombre de message abandonnés, initialement cette place est vide. La place fin détermine la somme de toutes les transmissions, c est-à-dire les trans- 24

30 Modélisation et vérification du protocole Stop and Wait missions plus les retransmissions. Deuxièmement, nous avons ajouté trois transitions abondon retrans, abondon last retrans et last msg. La transition last msg indique que le mssage en cours de transmission est le dernier de la file d attente. La transition abondon retrans permet d abandonner la retransmission d un paquet si le nombre de retransmission de ce dernier dépasse un certain nombre prédéterminé (par exemple le nombre maximum de retransmissions Rmax donné dans le modèle de la figure 3.4 est Rmax=2 ). La transition abondon last retrans réalise exactement la même chose que la transition abondon retrans mais uniquement pour le dernier message, qui est un cas particulier car il permet d indiquer la fin da la transmission. Enfin, Un changement a été introduit sur la transition retrans msg. En effet, un message est retransmis si le Time Out est consommé et le nombre de retransmissions est inférieur à Rmax-1 (la garde [(t = 0)and(r < 1)]). Figure 3.4 Modèle CPN-AMi du protocole Stop and Wait avec un nombre fini de retransmissions Vérification syntaxique Le modèle est syntaxiquement correct et les informations statistiques obtenue sur le modèle (nombre de places, nombre de transitions, nombre d arcs, temps de calcul,...) sont montrées dans la figure

31 Modélisation et vérification du protocole Stop and Wait Figure 3.5 Vérification syntaxique Bornes de places Le résultat obtenu indique que toutes les places du réseau déplié sont bornées (borne maximum = 3 ), en particulier les places send msg, trans msg, send ack et trans ack. Figure 3.6 Bornes de places Ainsi, le graphe des états accessibles peut être construit (contrairement à la première modélisation) et la vérification de propriétés opérée Graphe des états accessibles Le graphe des états accessibles permet de calculer tout les marquages accessibles à partir du marquage initial M 0. Nous avons calculé deux graphes des états accessibles en fonction du nombre de retransmissions R. Dans le premier graphe, une seule retransmission est permise pour chaque message (R=1 ), et deux retransmissions permises pour le deuxième graphe (R=2 ). Les termes obtenus dans le graphe des états accessibles sont : 26

32 Modélisation et vérification du protocole Stop and Wait E : nombre d états (nœuds) du graphe, A : nombre d arcs du graphe, F : nombre d états finaux du graphe. Les résultats obtenus sont illustrés dans le tableau suivant. Nombre de retransmissions (R) Graphes des états accessibles R=1 E= A= F=42 R=2 E= A= F=80 Table 3.4 Graphe des états accessibles en fonction du nombre de retransmissions R Duplication Les bornes de la place msg recieved indiquent que le nombre maximum de jetons de chaque couleur est 1(figure 3.7). Figure 3.7 Bornes de la place msg recieved Interprétation : la conclusion de cette analyse est que même si un paquet peut être envoyé plusieurs fois, une seule copie sera gardée au niveau du récepteur. Ce résultat nous permet d affirmer propriété suivante : Si un message dupliqué arrive au niveau du récepteur, alors il est détecté et est rejeté 3.6 Conclusion Dans le chapitre 3, nous avons présenté un formalisme formel pour le protocole Stop and Wait au moyen des réseaux de Petri colorés. Nous avons aussi énoncé les propriétés à vérifier sur les comportements modélisés. Cependant, ce formalisme se heurte au problème de l explosion combinatoire du nombre d états. En effet, nous avons été contraints de limiter le nombre de retransmissions pour calculer le graphe des états accessibles. Afin de compléter notre formalisme et de pourvoir fournir des preuves formelles sur le protocole, 27

Algorithmique des Systèmes Répartis Protocoles de Communications

Algorithmique des Systèmes Répartis Protocoles de Communications Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation

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

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

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Réseaux grande distance

Réseaux grande distance Chapitre 5 Réseaux grande distance 5.1 Définition Les réseaux à grande distance (WAN) reposent sur une infrastructure très étendue, nécessitant des investissements très lourds. Contrairement aux réseaux

Plus en détail

L3 informatique Réseaux : Configuration d une interface réseau

L3 informatique Réseaux : Configuration d une interface réseau L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2

Plus en détail

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

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14 Systèmes et Réseaux (ASR ) - Notes de cours Cours Anne Benoit May, 0 PARTIE : Systèmes PARTIE : Réseaux Architecture des réseaux de communication La couche -liaison La couche -réseau Algorithmes de routage

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

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

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

La mesure de Lebesgue sur la droite réelle

La mesure de Lebesgue sur la droite réelle Chapitre 1 La mesure de Lebesgue sur la droite réelle 1.1 Ensemble mesurable au sens de Lebesgue 1.1.1 Mesure extérieure Définition 1.1.1. Un intervalle est une partie convexe de R. L ensemble vide et

Plus en détail

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

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

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

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication Philippe Robert INRIA Paris-Rocquencourt Le 2 juin 2010 Présentation Directeur de recherche à l INRIA Institut

Plus en détail

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 5 01 Dans un environnement IPv4, quelles informations un routeur utilise-t-il pour transmettre des paquets de données

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr Introduction à la théorie des files d'attente Claude Chaudet Claude.Chaudet@enst.fr La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux

Plus en détail

Protocole de configuration dynamique des hôtes pour IPv6 (DHCPv6)

Protocole de configuration dynamique des hôtes pour IPv6 (DHCPv6) RFC3315 page - 1 - Droms, et autres Groupe de travail Réseau Demande for Comments : 3315 Catégorie : En cours de normalisation juillet 2003 Traduction Claude Brière de L Isle R. Droms, éditeur, Cisco J.

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

Cours des réseaux Informatiques (2010-2011)

Cours des réseaux Informatiques (2010-2011) Cours des réseaux Informatiques (2010-2011) Rziza Mohammed rziza@fsr.ac.ma Supports Andrew Tanenbaum : Réseaux, cours et exercices. Pascal Nicolas : cours des réseaux Informatiques, université d Angers.

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Université de La Rochelle. Réseaux TD n 6

Université de La Rochelle. Réseaux TD n 6 Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

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

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs) (d après une idée du collège des Portes du Midi de Maurs) Table des matières Fiche professeur... 2 Fiche élève... 5 1 Fiche professeur Niveaux et objectifs pédagogiques 5 e : introduction ou utilisation

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

ORIENTATIONS POUR LA CLASSE DE TROISIÈME

ORIENTATIONS POUR LA CLASSE DE TROISIÈME 51 Le B.O. N 1 du 13 Février 1997 - Hors Série - page 173 PROGRAMMES DU CYCLE CENTRAL 5 e ET 4 e TECHNOLOGIE En continuité avec le programme de la classe de sixième, celui du cycle central du collège est

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

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

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

Efficace et ciblée : La surveillance des signaux de télévision numérique (2) Efficace et ciblée : La surveillance des signaux de télévision numérique (2) La première partie de cet article publié dans le numéro 192 décrit la méthode utilisée pour déterminer les points de surveillance

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Quatrième colloque hypermédias et apprentissages 275 BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Anne-Olivia LE CORNEC, Jean-Marc FARINONE,

Plus en détail

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd UE 503 L3 MIAGE Initiation Réseau et Programmation Web La couche physique A. Belaïd abelaid@loria.fr http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 2 Le Modèle OSI La couche physique ou le

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

La couche réseau Le protocole X.25

La couche réseau Le protocole X.25 La couche réseau Le protocole X.25 Michel Gardie GET/INT/LOR/RIP 20 décembre 2004 Réseau / X.25 Informations La version de ce document à la date d impression et de révision est temporaire. Quelkes feautes

Plus en détail

La sécurité dans un réseau Wi-Fi

La sécurité dans un réseau Wi-Fi La sécurité dans un réseau Wi-Fi Par Valérian CASTEL. Sommaire - Introduction : Le Wi-Fi, c est quoi? - Réseau ad hoc, réseau infrastructure, quelles différences? - Cryptage WEP - Cryptage WPA, WPA2 -

Plus en détail

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

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

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

Chapitre 11 : Le Multicast sur IP

Chapitre 11 : Le Multicast sur IP 1 Chapitre 11 : Le Multicast sur IP 2 Le multicast, Pourquoi? Multicast vs Unicast 3 Réseau 1 Serveur vidéo Réseau 2 Multicast vs Broadcast 4 Réseau 1 Serveur vidéo Réseau 2 Multicast 5 Réseau 1 Serveur

Plus en détail

Guide Utilisateur Transnet

Guide Utilisateur Transnet Guide Utilisateur Transnet > Sommaire 1 I Introduction 3 2 I Les premiers pas sous Transnet 4 2.1 Configuration informatique nécessaire pour accéder à Transnet 4 2.2 Initialisation de Transnet 4 3 I Téléchargement

Plus en détail

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

TSTI 2D CH X : Exemples de lois à densité 1 TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Cisco Discovery - DRSEnt Module 7

Cisco Discovery - DRSEnt Module 7 Page 1 of 7 Cisco Discovery - DRSEnt Module 7 Select language : English Mode examen : Oui (Changer la couleur du site, écriture noire sur fond blanc). Liens utiles : Site Netacad Télécharger Packet Tracer

Plus en détail

6. Les différents types de démonstrations

6. Les différents types de démonstrations LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,

Plus en détail

Introduction. Adresses

Introduction. Adresses Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom

Plus en détail

Plan. Programmation Internet Cours 3. Organismes de standardisation

Plan. Programmation Internet Cours 3. Organismes de standardisation Plan Programmation Internet Cours 3 Kim Nguy ên http://www.lri.fr/~kn 1. Système d exploitation 2. Réseau et Internet 2.1 Principes des réseaux 2.2 TCP/IP 2.3 Adresses, routage, DNS 30 septembre 2013 1

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

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

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE VINCENT MATHIEU VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE Mémoire présenté à la Faculté des études supérieures de l Université Laval dans le cadre du programme de maîtrise en informatique

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Sujet de thèse CIFRE RESULIS / LGI2P

Sujet de thèse CIFRE RESULIS / LGI2P Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ 68503 GUEBWILLER Cedex. Fax.: 03 89 62 13 31 Tel.: 08.92.56.68.69 support@telmatweb.

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ 68503 GUEBWILLER Cedex. Fax.: 03 89 62 13 31 Tel.: 08.92.56.68.69 support@telmatweb. Educ@Box Configuration de base 6, Rue de l'industrie BP130 SOULTZ 68503 GUEBWILLER Cedex Fax.: 03 89 62 13 31 Tel.: 08.92.56.68.69 support@telmatweb.com Page: 1 Sommaire 1 CONTENU DE VOTRE PACKAGE EDUC@BOX...

Plus en détail

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014 Recherche et Diffusion de l Information dans les Réseaux Philippe Robert Le 8 avril 2014 Présentation Présentation Directeur de recherche à l INRIA Responsable de l équipe de recherche Réseaux, Algorithmes

Plus en détail

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

Élasticité des applications à base de services dans le Cloud 1/40 Élasticité des applications à base de services dans le Cloud Mourad Amziani 12 Tarek Melliti 1 Samir Tata 2 1 IBISC, EA4526, Université d'évry Val-d'Essonne, Évry, France 2 UMR CNRS Samovar, Institut

Plus en détail

Activation de la gestion des effets - Paramétrage... 2 Préférences Dossier... 2 Fiche Client... 3

Activation de la gestion des effets - Paramétrage... 2 Préférences Dossier... 2 Fiche Client... 3 Activation de la gestion des effets - Paramétrage... 2 Préférences Dossier... 2 Fiche Client... 3 Gestion des effets... 4 Portefeuille des effets clients... 4 Effets négatifs... 5 Fiche Effet : Consulter,

Plus en détail

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

(51) Int Cl.: H04L 29/06 (2006.01) G06F 21/55 (2013.01) (19) TEPZZ 8 8 4_A_T (11) EP 2 838 241 A1 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 18.02.1 Bulletin 1/08 (1) Int Cl.: H04L 29/06 (06.01) G06F 21/ (13.01) (21) Numéro de dépôt: 141781.4

Plus en détail

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année Cours d électricité Circuits électriques en courant constant Mathieu Bardoux mathieu.bardoux@univ-littoral.fr IUT Saint-Omer / Dunkerque Département Génie Thermique et Énergie 1 re année Objectifs du chapitre

Plus en détail

MODE D EMPLOI Envoi des télédéclarations au Portail

MODE D EMPLOI Envoi des télédéclarations au Portail MODE D EMPLOI Envoi des télédéclarations au Portail SOMMAIRE 1- Télédéclaration manuelle : Exemple avec Outlook Express 2 A - Charger le programme : 2 B Préparer le message d envoi : 3 C - Insérer en pièce

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Routage Statique. Protocoles de Routage et Concepts. Version 4.0. 2007 Cisco Systems, Inc. All rights reserved. Cisco Public 1

Routage Statique. Protocoles de Routage et Concepts. Version 4.0. 2007 Cisco Systems, Inc. All rights reserved. Cisco Public 1 Routage Statique Protocoles de Routage et Concepts Version 4.0 1 Objectifs Définir le rôle général d'un routeur dans les réseaux. Décrire les réseaux directement connectés et les différentes interfaces

Plus en détail

Guide du/de la candidat/e pour l élaboration du dossier ciblé

Guide du/de la candidat/e pour l élaboration du dossier ciblé Guide du/de la candidat/e pour l élaboration du dossier ciblé en vue de l obtention du titre de "Conseiller ère diplômé e en orientation professionnelle, universitaire et de carrière" par la validation

Plus en détail

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG) Surveillance et maintenance prédictive : évaluation de la latence de fautes Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG) SURVEILLANCE Analyser une situation et fournir des indicateurs! Détection de symptômes!

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013 DHCP et NAT Cyril Rabat cyril.rabat@univ-reims.fr Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1

Instructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1 Instructions et spécifications pour la transmission en format XML de déclarations par lots 30 mai 2015 MODULE 1 Table des matières Modifications apportées dans la présente... 3 1 Renseignements généraux...

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

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

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Christophe Joubert Séminaire VASY 2002 30 Octobre 2002 Aix les Bains Contexte du projet

Plus en détail

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement Les modèles de Flux Introduction L analyse systémique fournie une modélisation de l organisation échangeant et transformant des flux Cette modélisation du S.I. reste trop générale Il faut découper l organisation

Plus en détail

Sécurité des réseaux IPSec

Sécurité des réseaux IPSec Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique

Plus en détail

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace 1 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Réseau longue distance et application distribuée dans les grilles de

Plus en détail

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non

Plus en détail

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

TP 2 Réseaux. Adresses IP, routage et sous-réseaux TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Il y a trois types principaux d analyse des résultats : l analyse descriptive, l analyse explicative et l analyse compréhensive.

Il y a trois types principaux d analyse des résultats : l analyse descriptive, l analyse explicative et l analyse compréhensive. L ANALYSE ET L INTERPRÉTATION DES RÉSULTATS Une fois les résultats d une investigation recueillis, on doit les mettre en perspective en les reliant au problème étudié et à l hypothèse formulée au départ:

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail