Spécification et Modélisation du protocole d élection d un leader dans le IEEE 1394 (FireWire)
|
|
- Aimé Albert
- il y a 8 ans
- Total affichages :
Transcription
1 Spécification et Modélisation du protocole d élection d un leader dans le IEEE 1394 (FireWire) Jean-Raymond Abrial & Dominique Cansell & Dominique Méry October 16, 2001
2 B système Méthodes de développement incrémentale de système (logiciel ou non). Sémantique basée sur B-événementiel (WP+ordre) ÉtudeS de cas (J.-R. Abrial) Portes, Iles, Agent mobile, Services téléphoniques GC, Exclusion mutuelle, Changement de phase, Algos. Recherche, Tris itératifs, Tris récursifs,...
3 B-système But (simuler le fonctionnement complet d un système) Données (avec leurs propriétés) Événements asynchrones (déclenchement, action)
4 Une étude de cas: L agent mobile Il s agit de distribuer des messages à un agent mobile C est un algorithme de Luc Moreau qui a fait la preuve de son algorithme avec COQ lignes de COQ et utilisation de nombreuses bibliothèques de COQ Il n a pas utilisé le RAFFINEMENT
5 Raffinement But: enrichissement du modèle Nouveaux objets de base Nouvelles données (modèle plus riche) Données logicielles, matérielles, de communication Étude du couplage entre ces entités Nouveaux événements (timing plus fin)
6 But du RAFFINEMENT Comprendre de mieux en mieux le système Distribuer la complexité du système Distribuer les difficultés de la preuve Validation du système Le raffinement (invariance & comportement)
7 Preuves Conservation des propriétés (lors du déclenchement d un événement) Raffinements corrects des événements (déclenchements pas plus fréquents) Pas de bloquages prématurés (les événements raffinés ne disparaissent pas) Pas d obstructions (de la part des nouveaux événements)
8 Forme des événements evt = any x where P (x, v) then S(v, x) end in- evt est le nom de l événement, x sont des vrbls locales (non-dét. terne), v, w,... sont des vrbls d état, P (x, v) est une condition, S(v, x) est la substitution. x P (x, v) est la garde
9 Les substitutions v, w := E(v, w), F (v, w) v := E(v, w) w := F (v, w) v, w : ( v = E(v 0, w 0 ) w = F (v 0, w 0 ) ) x : P = ANY x WHERE [x, x 0 := x, x]p THEN x := x
10 Les substitutions (PO) ANY x WHERE P (x, v) THEN v : R(x, v, v 0 ) END I(v) P (x, v) R(x, v, v) I(v ) ANY x WHERE P (x, v) THEN v := E(x, v) END I(v) P (x, v) I(E(x, v))
11 Raffinement d événement ANY x WHERE P (x, v) THEN v := E(x, v) END ANY y WHERE Q(y, w) THEN w := F (y, w) END I(v) J(v, w) Q(y, w) x.( P (x, v) J(E(x, v), F (y, w))) J(v, w) est un invariant sur w et un invariant de collage entre v et w
12 Raffinement S S []U si S S skip U I grd(s ) grd(u) I V N I (V = n [U](V < n))
13 Anticipation Dans l Atelier B il faut déclarer tous les événements finaux dans la première machine abstraite. En général ces nouveaux événements raffinent tous skip (sur les variables abstraites, pas les nouvelles). Pour s assurer que les nouveaux événements ne prennent pas la main indéfiniment il faut une obligation de preuve qui assure que quelque chose décroit. new = BEGIN y : ( I(y) V (y) < V (y 0 )) END
14 B système Des études de cas, des études de cas, encore des études de cas l election d un leader dans le IEEE 1394
15
16
17 Les définitions SETS ND CONSTANTS g, r PROPERTIES g ND ND Soit un graphe g g = g 1 Le graphe g est symétrique ID(ND) g = le graphe g n est pas réflexif
18 Les définitions r ND (ND ND) le graphe est connexe (rr est défini en un point); le graphe ne contient pas de circuits (fonctionalité de rr) (n, f).( n ND f ND ND ( ((n, f) r) ( f ND {n} ND f g S.( S P(ND) n S f 1 [S] S ND S ) ) ) )
19 Rappel dans un arbre tous les nœuds sauf la racine ont un père unique (fonction) si card(nd) = k alors f ND {n} ND contient k 1 arcs k 1 arcs connexe sans cycle connexe sans cycle arbre
20 Les assertions (n, f).( n ND f ND ND (n, f) r f f 1 = ) ; Cette première assertion énonce que l arbre f i qui recouvre le graphe en nn est disjoint de son inverse (intuitivement, c est parce qu un arbre n a pas de circuits). (n, f).( n ND f ND ND (n, f) r f f 1 = g ) Cette dernière assertion énonce que l arbre f i de racine nn qui recouvre le graphe et son inverse fi 1 couvre complétement le graphe g. Autrement dit (en mettant ensemble cette assertion et la première), on peut constater que fi et fi 1 partitionnent le graphe g.
21 Premier Echec la preuve de la première assertion: OK la preuve de la deuxième: ECHEC Et pourtant, cela semble vrai. Nous avons défini rr avec en plus f f 1 = g et demontré la fonctionnalité de rr (preuves longues) Il nous manquait une propriété
22 (n, f).( n ND f ND ND (n, f) r (x, y).( (x, y) g S.( S P(ND) n S (f {x y}) 1 [S] S ND S ) S.( S P(ND) n S (f {y x}) 1 [S] S ND S ) )
23 Eureka! Nous l avons ajouté dans les propriétés
24 Eureka! Nous l avons ajouté dans les propriétés Mais cette propriété est formellement démontrée dans un autre projet.
25 Les assertions techniques (n, f, y).( n ND f ND ND (n, f) r y, n g y, n f ) ; (n, f, x, y).( n ND f ND ND (n, f) r x, y g x n y n ((x, y) f (y, x) f) ) ; Les deux assertions suivantes sont des lemmes techniques servant à démontrer l égalité.
26 Les variables et invariants de typage VARIABLES ld, tr INVARIANT ld ND tr ND ND
27 L événement: élection du leader elect = BEGIN ld, tr : ( ld ND tr ND {ld} ND tr g S.( S ND ld S tr 1 [S] S ND S ) ) END ; Cet événement énonce le résultat final : un leader ld est élu. On construit en même temps un arbre tr : c est l arbre unique qui recouvre le graphe et dont la racine est précisément ld.
28 L événement progr (anticipation) progr = BEGIN tr : ( tr ND ND CARD(tr) > CARD(tr$0)) END; Cet événement, à ce niveau, élabore une relation tr, tout en garantissant que son cardinal augmente strictement.
29 Vers le premier raffinement
30 Vers le premier raffinement
31 Vers le premier raffinement
32 Vers le premier raffinement
33 Vers le premier raffinement
34 Vers le premier raffinement
35 Vers le premier raffinement
36 Vers le premier raffinement
37 Vers le premier raffinement
38 Vers le premier raffinement
39 Le premier raffinement L essence de l algorithme est le suivant: Un nœud demande à un de ses voisins d être son père. Seul un nœud qui a eu une demande d être son père par l ensemble de ses voisins, sauf un, peut demander à ce dernier d être son père. Le processus commence à partir des feuilles (il y en a toujours dans un arbre) Le nœud qui a eu une demande de tous ses voisins est le leader. L ensemble des arcs représentant les différentes demandes est l arbre de recouvrement dont la racine est le leader.
40 Les variables et les invariants VARIABLES ld, tr INVARIANT DOM(tr) (tr tr 1 ) = DOM(tr) g tr ND ND tr est une forêt S.( S ND RAN(tr) DOM(tr) S tr 1 [S] S DOM(tr) S) tr tr 1 =
41 Les assertions x.( x ND g[{x}] = tr 1 [{x}] x / DOM(tr) ND DOM(tr) {x} S.(S ND x S tr 1 [S] S ND S) (x, tr) r )
42 L élection du leader elect = ANY x WHERE x ND g[{x}] = tr 1 [{x}] THEN ld := x END ; tous les arcs de g partant de x sont dans tr 1 ; avec les assertions nous savons que tr est un arbre de racine x; c est l arbre de recouvrement et x est le leader
43 L événement progrès progr = ANY x, y WHERE (x, y) g tr (y, x) / tr g[{x}] = tr 1 [{x}] {y} THEN tr := tr {x y} END On considère un couple (x, y) qui est relié par g mais pas par tr ni par tr 1. Mais tous les autres liens g qui arrivent en x sont aussi reliés par tr. Cet événement fait décroitre le variant card(g) card(tr).
44 Vers le second raffinement
45 Vers le second raffinement
46 Vers le second raffinement
47 Vers le second raffinement
48 Vers le second raffinement
49 Vers le second raffinement
50 Vers le second raffinement
51 Le deuxième raffinement Dans ce raffinement la demande ne se fait pas en un coup. Cela ce fait par envoi d un message pour une demande et envoi d un acquittement pour l acceptation. il faut donc attendre l acquittement pour réaliser un pas de progr il faut recevoir un message avant d envoyer un acquittement il faut être dans les conditions de progr abstrait pour envoyer un message deux messages peuvent se croiser; c est le cas de contention; nous l avons reglé de plusieurs façons: en allouant des numéros aux différents nœuds (c est le plus petit qui gagne), en enlevant les deux messages comme pour le vrai protocole. Dans ce cas les deux nœuds choississent un temps d attente (petit ou grand) et recommencent.
52 Les variables VARIABLES ld, tr, msg, ack INVARIANT msg ND ND ack ND ND tr ack ack msg msg g
53 Les invariants (x, y).( (x, y) msg ack (y, x) / msg (x, y) msg ack (y, x) msg ack (x, y) ack tr (x, y) g tr (y, x) / tr g[{x}] = tr 1 [{x}] {y} ) ack ack 1 =
54 L envoi d un message send msg = ANY x, y WHERE (x, y) g tr (y, x) / tr g[{x}] = tr 1 [{x}] {y} x / DOM(msg) THEN msg := msg {x y} END ; (x, y) n est pas dans tr; x n est pas le père de y; tous les voisins de x sauf y sont reliés à x par tr; x envoie un message à y pour lui demander d être son père
55 L envoi d un acquittement send ack = ANY x, y WHERE (x, y) msg ack (y, x) / msg x / DOM(ack) THEN ack := ack {x y} END; x a demandé à y d être son père; y ne lui a pas encore envoyé d acquittement; y n a pas demandé à x d être son père (sinon contentieux); x n a pas encore reçu d aquittement x y ack veut dire que y a envoyé un acquittement à x; y peut envoyer plusieurs acquittements mais x ne peut en recevoir qu un!
56 Le contentieux contention = ANY x, y WHERE (x, y) msg ack (y, x) msg ack THEN msg := {y} msg END; x a envoyé un message à y y a envoyé un message à x; ces messages n ont pas été acquitté; y (et x) enlève le message. y peut renvoyer un nouveau message
57 Le progrès progr = ANY x, y WHERE (x, y) ack tr THEN tr := tr {x y} END y a envoyé un acquittement à x; l arc (x, y) n est pas encore dans la forêt tr; maintenant oui; x sait que y est son père; y sait que x est son fils
58 Le troisième raffinement Dans ce raffinement on commence la localisation de l information ld, tr chaque nœud doit connaître ses voisins chaque nœud doit connaître les voisins qui lui ont demandé d être leur père; à la fin: il saura s il est le leader ou non il connaitra son père et l ensemble de ses fils.
59 Les définitions CONSTANTS nb représentation du graphe sous la forme d une fonction de voisinage. C est la façon de localiser le graphe PROPERTIES nb ND P(ND) x.(x ND nb(x) = g[{x}])
60 Les variables VARIABLES ld, tr, msg, ack sn, fonction INCLUSE dans la fonction fils de l arbre tr. C est la façon de localier l arbre INVARIANT sn ND P(ND) x.(x ND sn(x) tr 1 [{x}])
61 Les invariants importants Deux invariants FONDAMENTAUX pour prouver le renforcement de la garde de contention, qui est l événement de ROOT-CONTENTION (x, y).((x, y msg) (y, x) msg (y, x) / ack) (x, y).( x, y msg z.(z g[{x}] z y z, x tr) )
62 L élection du leader elect = ANY x WHERE x ND nb(x) = sn(x) THEN ld := x END; Tous les fils de x lui ont demandé d être leur père. C est le leader. La décision est bien prise localement.
63 L envoi d un message send msg = ANY x, y WHERE x ND y ND x / DOM(msg) (y, x) / ack y / sn(x) nb(x) = sn(x) {y} THEN msg := msg {x y} END ; Le nœud local est x; y est le nœud unique formant la différence entre les deux ensembles nb(x) et sn(x); x n a pas encore envoyé de message; x n a pas encore envoyé d acquittement à y x envoie à y un message.
64 L envoi d un acquittement send ack = ANY x, y WHERE (x, y) msg ack y / DOM(msg) THEN ack := ack {x y} END; Le nœud local est y; il a reçu un message de x il n a pas envoyé de message à x; y envoie donc à x un acquittement
65 Le contentieux contention = ANY x, y WHERE (x, y) msg ack y DOM(msg) THEN msg := {y} msg END; Le nœud local est y; il a reçu un message de x il a envoyé un message à x; c est bien le contentieux. C est pour cet événement qu il a fallu ajouter les deux invariants fondamentaux
66 Le progrès progr = ANY x, y WHERE (x, y) ack x / DOM(tr) THEN tr := tr {x y} END ; Le nœud local est x; il lit l acquittement de y; x envoie à y la confimation. Il ACCEPTE d être son fils. L arbre tr apparait maintenant comme étant juste un CANAL DE CONFIRMATION entre le fils x et son père y
67 La confirmation (nouveau) receive cnf = ANY x, y WHERE (x, y) tr x / sn(y) THEN sn(y) := sn(y) {x} END Le nœud local est y. C est un nouvel événement qui lit le canal de confirmation et augmente l ensemble local sn(y)
68 un quatrième raffinement lors de ce raffinement on termine la localisation VARIABLES ld, sn, tr, msg, ack, bm, bt, ces deux variables sont des "booléens locaux". Ils sont représentés pour l instant par des ensembles. Elles "localisent" les variables msg et tr. Chaque nœud n envoie qu un seul message et qu une seule confirmation. ba cette variable localise l acquittement. Un nœud peut envoyer plusieurs acquittements. INVARIANT bm = DOM(msg) bt = DOM(tr) ba ND P(ND) x.(x ND ba(x) = ack 1 [{x}])
69 L envoi d un message send msg = any x, y where x ND y ND x / bm y / ba(x) y / sn(x) nb(x) = sn(x) {y} then msg := msg {x y} bm := bm {x} end ; le nœud local est x; tous les fils de x sauf y lui ont demandé d être leur père; x n a pas envoyé d acquittement y (cas du contentieux); x envoie un message à y
70 L envoi d un acquittement send ack = any x, y where (x, y) msg x / ba(y) y / bm then ack := ack {x y} ba(y) := ba(y) {x} end; Le nœud local est y qui reçoit un message de x; y n a pas encore envoyé l acquittement à x; y n a pas encore envoyé de message (sinon contentieux)
71 Le contentieux contention = any x, y where (x, y) msg x / ba(y) y bm then msg := {y} msg bm := bm {y} end; le nœud local est y; le message (x, y) que x a envoyé à y est reçu par y; y avait envoyé un message (c est forcement à x) mais y n a pas envoyé d acquittement à x; y enlève le message et se permet d en renvoyer un autre
72 Le progrès progr = any x, y where (x, y) ack x / bt then tr := tr {x y} bt := bt {x} end ; Le nœud local est x; l acquittement (x, y) n a pas été lu par x; x lit cet acquittement et envoie une confirmation à y
73 La confirmation receive cnf = any x, y where (x, y) tr x / sn(y) then sn(y) := sn(y) {x} end
74 À suivre... localiser ba, bt sous forme de booléens, ba comme tableau de booléens. localiser sn et nb sous forme de tableau et parcourir cette table pour trouver y tel que nb(x) = sn(x) {y} définir M SG, ACK les messages et les acquittements qui circulent dans le réseau. MSG = msg ack et ACK = ack tr. ces raffinements sont techniques et ne présentent pas de grandes difficultés.
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étailGrandes 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étailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailTexte Agrégation limitée par diffusion interne
Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse
Plus en détailIntroduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
Plus en détailAlgorithmique répartie
Université Joseph Fourier 23/04/2014 Outline 1 2 Types de communication message envoyé à un groupe de processus Broadcast (diffusion) message envoyé à tous les processus du systèmes Unicast message envoyé
Plus en détailManuel 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étailEbauche Rapport finale
Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide
Plus en détailChapitre 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étailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailIntroduction aux algorithmes répartis
Objectifs et plan Introduction aux algorithmes répartis Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR http://sardes.inrialpes.fr/people/krakowia! Introduction aux algorithmes
Plus en détailRCS : Rich Communication Suite. EFORT http://www.efort.com
1 Introduction RCS : Rich Communication Suite EFORT http://www.efort.com Rich Communications Services (RCS) est une plate-forme offrant des services de communication incluant la messagerie instantanée
Plus en détailImage 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étailLes 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étailComplexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
Plus en détailThéorie des Graphes Cours 3: Forêts et Arbres II / Modélisation
IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes
Plus en détailGénération de code à partir d une spécification B : Application aux bases de données
Génération de code à partir d une spécification B : Application aux bases de données Amel Mammar * Régine Laleau ** Université du Luxembourg, LACL, Université Paris 12 SE2C, 6 rue Richard Courdenhove-Kalergi
Plus en détailUniversité de Sherbrooke, Département d informatique
Université de Sherbrooke, Département d informatique IGL501 : Méthodes formelles en génie logiciel, Examen périodique Professeur : Marc Frappier, mardi 7 octobre 2013, 15h30 à 18h20, local D4-2022 Documentation
Plus en détailCours 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étailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailObjectifs 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étailProblèmes de Mathématiques Filtres et ultrafiltres
Énoncé Soit E un ensemble non vide. On dit qu un sous-ensemble F de P(E) est un filtre sur E si (P 0 ) F. (P 1 ) (X, Y ) F 2, X Y F. (P 2 ) X F, Y P(E) : X Y Y F. (P 3 ) / F. Première Partie 1. Que dire
Plus en détailÉquations non linéaires
Équations non linéaires Objectif : trouver les zéros de fonctions (ou systèmes) non linéaires, c-à-d les valeurs α R telles que f(α) = 0. y f(x) α 1 α 2 α 3 x Equations non lineaires p. 1/49 Exemples et
Plus en détailMEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE
République Tunisienne Ministère de l Enseignement Supérieur, De la Recherche Scientifique et de la Technologie Université de Sfax École Nationale d Ingénieurs de Sfax Ecole Doctorale Sciences et Technologies
Plus en détailARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
Plus en détailSoit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.
ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle
Plus en détailProcessus d Informatisation
Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue
Plus en détailAlgorithmes 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étailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailChap. 3: Le modèle de données entité-association (E.A.)
Chap. 3: Le modèle de données entité-association (E.A.) En anglais: Entity-Relationship (ER) Origines: C.Bachman (1969), P.Chen (1976). Modèle de données > décrire la réalité perçue à travers les données
Plus en détailConception 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étailAlgorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
Plus en détailils 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étailUtilisation 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étail3. 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étailExercices - Fonctions de plusieurs variables : corrigé. Pour commencer
Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy
Plus en détailDérivées d ordres supérieurs. Application à l étude d extrema.
Chapitre 5 Dérivées d ordres supérieurs. Application à l étude d extrema. On s intéresse dans ce chapitre aux dérivées d ordre ou plus d une fonction de plusieurs variables. Comme pour une fonction d une
Plus en détailProblè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étailLa Certification de la Sécurité des Automatismes de METEOR
1 La Certification de la Sécurité des Automatismes de METEOR 2 un mot sur METEOR 3 Le projet METEOR, c'est... un système automatique complexe fortement intégré matériel roulant, équipements électriques,
Plus en détailTP N 57. Déploiement et renouvellement d une constellation de satellites
TP N 57 Déploiement et renouvellement d une constellation de satellites L objet de ce TP est d optimiser la stratégie de déploiement et de renouvellement d une constellation de satellites ainsi que les
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailEvolution d Applications. Une Approche pour l Evolution des Systèmes Logiciels. Exemple : Le Serveur WWW. Applications Considérées
Evolution d Applications Une Approche pour l Evolution des Manuel Oriol Présentation de doctorat 20 Avril 2004 Une application est souvent modifiée entre sa première mise en service et sa dernière. Une
Plus en détailUML et les Bases de Données
CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..
Plus en détailBaccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
Plus en détailProjet CoDrive : utilisation des données de véhicules communicants, intégration avec un système de gestion de trafic (119)
Projet CoDrive : utilisation des données de véhicules communicants, intégration avec un système de gestion de trafic (119) Résumé : La diffusion large des smartphones et des suivis dédiés de flottes de
Plus en détailJade. 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étailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailProblème : Calcul d'échéanciers de prêt bancaire (15 pt)
Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque
Plus en détailModel 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étailIntégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Plus en détailTutorial NL220. Objectifs : Fournir un guide utilisateur pour NL220. Présenter une méthodologie efficace pour la création de projet
Tutorial NL220 Objectifs : Fournir un guide utilisateur pour NL220 Présenter une méthodologie efficace pour la création de projet Newron System http://www.newron-system.com Objectifs :... 1 1. Créer un
Plus en détailGroupe symétrique. Chapitre II. 1 Définitions et généralités
Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations
Plus en détailGestion des transactions et accès concurrents dans les bases de données relationnelles
Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.
Plus en détailLe théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines
Plus en détailModule BDR Master d Informatique (SAR)
Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de
Plus en détailLES 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étailExclusion 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étailEteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Plus en détailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détail1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert
1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes
Plus en détailCorrection du baccalauréat ES/L Métropole 20 juin 2014
Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)
Plus en détailRecherche 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étailProgrammation Par Contraintes
Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien
Plus en détailchapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Plus en détailL annuaire et le Service DNS
L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.
Plus en détailMaster IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP
Master IMA - UMPC Paris 6 RDMM - Année 2009-200 Fiche de TP Préliminaires. Récupérez l archive du logiciel de TP à partir du lien suivant : http://www.ensta.fr/~manzaner/cours/ima/tp2009.tar 2. Développez
Plus en détailJean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux
Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis
Plus en détailgestion des processus La gestion des processus
1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en
Plus en détailMATH0062-1 ELEMENTS DU CALCUL DES PROBABILITES
MATH0062-1 ELEMENTS DU CALCUL DES PROBABILITES REPETITIONS et PROJETS : INTRODUCTION F. Van Lishout (Février 2015) Pourquoi ce cours? Sciences appliquées Modélisation parfaite vs monde réel Comment réussir
Plus en détailIntégration et probabilités TD1 Espaces mesurés
Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?
Plus en détailChapitre 5 LE MODELE ENTITE - ASSOCIATION
Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous
Plus en détailLE 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étailChapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Plus en détailContinuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
Plus en détailMatrice d accès. Master SEMS, 2013-2014. Pierre Paradinas. October 16, 2013
Matrice d accès Master SEMS, 2013-2014 Pierre Paradinas October 16, 2013 Le Concept de Matrice d Accès ntroduit en 1971 par Butler Lampson Definition On note O, l ensemble des entités objet qui sont impliquées
Plus en détailRaisonnement probabiliste
Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens Inférence exacte Inférence approximative 1 2 Contexte
Plus en détailIII- Raisonnement par récurrence
III- Raisonnement par récurrence Les raisonnements en mathématiques se font en général par une suite de déductions, du style : si alors, ou mieux encore si c est possible, par une suite d équivalences,
Plus en détailConception et réalisation d uned architecture tolérant les intrusions pour des serveurs Internet
Conception et réalisation d uned architecture tolérant les intrusions pour des serveurs Internet Ayda Saidane, Yves Deswarte,, Vincent Nicomette Tolérance aux fautes et Sûreté de Fonctionnement informatique
Plus en détail3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Plus en détailFonctions de plusieurs variables
Maths MP Exercices Fonctions de plusieurs variables Les indications ne sont ici que pour être consultées après le T (pour les exercices non traités). Avant et pendant le T, tenez bon et n allez pas les
Plus en détailObjectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique
Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55
Plus en détailResolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Plus en détailIngénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau
labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC
Plus en détailChapitre 1: Introduction générale
Chapitre 1: Introduction générale Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Table des matières Définitions et examples Architecture
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailn N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v 1 1 2 t
3.La méthode de Dirichlet 99 11 Le théorème de Dirichlet 3.La méthode de Dirichlet Lorsque Dirichlet, au début des années 180, découvre les travaux de Fourier, il cherche à les justifier par des méthodes
Plus en détailIntroduction au maillage pour le calcul scientifique
Introduction au maillage pour le calcul scientifique CEA DAM Île-de-France, Bruyères-le-Châtel franck.ledoux@cea.fr Présentation adaptée du tutorial de Steve Owen, Sandia National Laboratories, Albuquerque,
Plus en détailSIP. Sommaire. Internet Multimédia
Internet Multimédia Le Protocole SIP 2011 André Aoun - Internet Multimédia SIP - 1 Sommaire 1. Présentation 2. Entités SIP 3. Méthodes et réponses 4. User Agent 5. Registrar 6. Proxy 7. Redirect Server
Plus en détailRapport d activité. Mathieu Souchaud Juin 2007
Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix
Plus en détailLe Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire
Communiquédepresse Mars2013 LeCollègedeFrancecréeunechairepérenned Informatique, Algorithmes,machinesetlangages, etnommeleprgérardberrytitulaire Leçoninauguralele28mars2013 2009avait marquéunpas importantdans
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailCCP PSI - 2010 Mathématiques 1 : un corrigé
CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailGestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 19/04/2007
1 Génie Logiciel (d'après A.-M. Hugues) Gestion de Projet Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 19/0/007 Est-ce bien nécessaire? Principes de gestion = beaucoup d'évidences Pourtant
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailAtelier B. Prouveur interactif. Manuel Utilisateur. version 3.7
Atelier B Prouveur interactif Manuel Utilisateur version 3.7 ATELIER B Prouveur interactif Manuel Utilisateur version 3.7 Document établi par CLEARSY. Ce document est la propriété de CLEARSY et ne doit
Plus en détailThéorie de la Programmation
Théorie de la Programmation http://perso.ens-lyon.fr/daniel.hirschkoff/thpr hop Programmation, Théorie de la programmation Langages de programmation I il existe de nombreux langages de programmation I
Plus en détailLa NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.
La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of
Plus en détailIntroduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Plus en détail