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

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

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

Transcription

1 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 pour l obtention du grade de Maître ès sciences (M.Sc.) FACULTÉ DES SCIENCES ET DE GÉNIE UNIVERSITÉ LAVAL QUÉBEC 2006 c Vincent Mathieu, 2006

2 Résumé La vérification de modèle est une technique permettant de faire un modèle représentant le comportement d un système ou d un programme, de décrire une propriété àvérifier sur ce dernier et de faire la vérification au moyen d un algorithme. Dans ce mémoire, nous décrivons notre propre méthode de vérification de modèle basée sur les algèbres de Kleene. Plus particulièrement, nous utilisons une extension appelée omégaalgèbre avec domaine. Cette méthode algébrique permet de vérifier des propriétés pouvant être exprimées au moyen de la logique CTL basée sur les états et les actions du modèle à vérifier. Nous représentons ces propriétés au moyen d expressions sur une oméga-algèbre avec domaine. Les modèles que nous pouvons vérifier sont les systèmes à pile, une classe de systèmes de transitions pouvant avoir un nombre infini d états. Les systèmes à pile peuvent représenter le flot de contrôle des programmes avec appels de procédures, incluant les appels récursifs. Des matrices sur une oméga-algèbre avec domaine sont utilisées pour représenter ces systèmes de transitions. Notre méthode génère, à partir de la matrice représentant le système à pile à vérifier et de l expression représentant la propriété à vérifier sur ce dernier, une équation qu il faut démontrer de façon axiomatique afin de conclure que le système satisfait la propriété.

3 Avant-propos Je voudrais remercier en premier lieu mon directeur de recherche, le professeur Jules Desharnais. Je suis très reconnaissant envers lui d avoir partagé son savoir avec moi et j ai beaucoup apprécié sa rigueur. Il m a laissé une grande liberté dans le choix des avenues à approfondir au cours de la réalisation de mon projet de recherche, ce que j ai bien aimé. Je remercie aussi tous les membres du groupe de recherche LSFM avec qui je me suis lié d amitié au cours de ma maîtrise, plus particulièrement Therrezinha Fernandes, Claude Bolduc, Maxime Beaudoin, Patrice Lacroix et Delphine Verbyst. Ils m ont supporté etm ontpermisdemechangerlesidées à plusieurs occasions. Je remercie une fois de plus Claude Bolduc avec qui j ai eu beaucoup de discussions au sujet des algèbres de Kleene. Enfin, je remercie les membres de ma famille, surtout mes parents, pour leur encouragement et leur support.

4 Table des matières Résumé Avant-propos Table des matières ii iii iv 1 Introduction Problématique Contribution Organisation du mémoire Vérification de modèles Introduction de la méthode Classification des modèles Classificationdeslogiques Logiques linéaires Logiquesarborescentes CTL Logiques non régulières Vérification de systèmesfinis LTL et mu-calcul linéaire CTL CTLetmu-calculmodal Vérification de systèmes àpile Mu-calculmodal LTL, mu-calcul linéaire et CTL Algèbres de Kleene et extensions Historique Définitionsdebase AlgèbredeKleenedeKozen Algèbre de Kleene -continue, demi-anneau fermé et S-algèbre Algèbre de Kleene sur un treillis complet

5 Table des matières v 3.3 Extensions AlgèbredeKleeneavectests AlgèbredeKleeneavecdomaine Oméga-algèbre Autresextensions Modèles Traces Langages Relationsbinaires Matrices Applications Vérification des systèmes à pile au moyen des algèbres de Kleene ReprésentationdePDS Algèbredepilesetd actions Représentationaumoyendematrices Représentation de propriétés àvérifier Vérification de la satisfaction d une propriété Intégrité etcomplétude de la méthode Intégrité Complétude Discussion à propos des systèmesfinis Comparaisons Implantation Analyselexicaleetsyntaxique ImplantationdediversesOAD Conclusion Résumé Travauxfuturs Bibliographie 94 Index 98

6 Chapitre 1 Introduction 1.1 Problématique L informatique et Internet prennent une place de plus en plus importante dans notre vie de tous les jours. Les systèmes informatiques effectuent un très grand nombre de tâches et sont devenus très complexes. Par le fait même, les risques de failles dans ces systèmes sont plus grands et il en résulte une augmentation de la fréquence des attaques envers ces derniers. Afin d améliorer la sécurité des logiciels, nous sommes intéressé parladétection du code malicieux (virus, ver, cheval de Troie,...) ou vulnérable à des attaques. On peut tenter de détecter ce type de code à l exécution, ce qui est nommé analyse dynamique, ou tenter de déterminer le comportement du programme en analysant son code sans l exécuter, ce qui est l analyse statique. Dans le cas de l analyse dynamique, un logiciel appelé moniteur étudie les opérations effectuées à l exécution et peut arrêter cette dernière si une opération jugée non sécuritaire est sur le point d être effectuée. Ceci peut ralentir grandement l exécution. De plus, malheureusement, seul le code exécuté est analysé. Cette technique ne peut donc pas assurer qu une exécution quelconque d un programme est sécuritaire. D un autre côté, l analyse statique est plus intéressante puisqu elle n a pas les inconvénients que l on vient de nommer. Comme elle se déroule avant l exécution, elle ne ralentit pas cette dernière. De plus, le fait d analyser directement le code du programme permet d étudier toutes ses exécutions possibles. Malheureusement, l analyse statique n est habituellement possible qu en faisant une abstraction du programme àvérifier. À cause de cette abstraction, il peut arriver qu on ne puisse conclure qu un programme est sécuritaire même lorsqu il l est. Le contraire peut aussi arriver, c est-à-dire qu on ne puisse conclure à l insécurité lorsque le programme n est

7 Chapitre 1. Introduction 2 pas sécuritaire. Voici un exemple de problème pouvant être traité de façon statique. On veut détecter si le contenu d un fichier est envoyé surleréseau. Il est facile de vérifier qu un envoi quelconque sur le réseau peut suivre la lecture d un fichier dans le cas où ces deux actions se produisent dans une même procédure du programme. Par contre, c est plus difficile si elles se produisent dans des procédures différentes. Dans le premier cas, on parle d analyse intraprocédurale tandis qu on parle d analyse interprocédurale dans le deuxième. Dans le cas où nous détectons qu il est possible qu un envoi sur le réseau survienne suite à la lecture d un fichier, nous ne savons pas si ce qui est envoyé provient ou non du fichier. C est parce que nous avons analysé le programme en nous intéressant seulement aux suites d instructions possibles sans voir de liens entre elles. On parle ici d analyse de flot de contrôle. Par la suite, on voudra vérifier que ce qui est envoyé ne provient pas du fichier en question. Ce problème est encore plus difficile puisque cela nécessite une analyse de flot de données. La vérification de modèles est une technique permettant de vérifier, sans exécution, qu un programme ou un système satisfait une ou plusieurs propriétés. L utilisation de cette technique consiste à faire un modèle du programme ou du système à vérifier, habituellement au moyen d un système de transitions, et àdécrire la propriété àvérifier, habituellement au moyen d une formule logique temporelle. Enfin, un algorithme est utilisé pour vérifier si le modèle satisfait ou non la formule. Un avantage de cette technique est qu elle permet de décrire un grand éventail de modèles et de propriétés. Elle permet même de décrire des propriétés à propos du flot de données, à condition que le modèle représente les informations nécessaires pour faire une telle analyse. Un système àpileest une forme de système de transitions qui utilise une pile de taille non bornée comme structure de données. Un tel système est un modèle du flot de contrôle d un programme contenant des appels de procédures, incluant les procédures récursives. La vérification de systèmes à pile est donc une technique d analyse statique interprocédurale. 1.2 Contribution Ce mémoire s inscrit dans le cadre d un projet dont l objectif est d étudier et de développer les mathématiques des algèbres de Kleene à des fins d analyse de programmes. Nous y décrivons une technique de vérification de systèmes à pile au moyen des algèbres de Kleene et d extensions de ces dernières. L intérêt d utiliser ce formalisme algébrique est d avoir un formalisme unique pour représenter le modèle et la propriété à

8 Chapitre 1. Introduction 3 vérifier ainsi que pour faire la vérification. Il n est donc plus nécessaire de travailler avec des structures hétérogènes comme les systèmes de transitions et les formules logiques. Il n est plus nécessaire également d appliquer des algorithmes parfois compliqués, mais seulement de manipuler des expressions algébriques au moyen de quelques lois. À notre connaissance, les algèbres de Kleene n ont jamais été utilisées pour faire la vérification de systèmes à pile, ni pour faire de l analyse interprocédurale de programmes. C est la principale innovation de ce travail. Elles ont déjà été utilisées pour faire l analyse de programmes non récursifs [4, 31]. Ceci étant dit, nous sommes en mesure de décrire et de vérifier un plus grand éventail de propriétés sur ces systèmes à cause des extensions des algèbres de Kleene que nous utilisons. 1.3 Organisation du mémoire Le chapitre 2 présente la vérification de modèles, incluant la vérification des systèmes à pile. On y présente plusieurs logiques utiles pour énoncer des propriétés à vérifier. Le chapitre 3 présente les algèbres de Kleene et plusieurs extensions de ces dernières. Par la suite, c est au chapitre 4 que nous décrivons notre approche pour la vérification des systèmes à pile au moyen des algèbres de Kleene et d extensions de ces dernières. Au chapitre 5, nous présentons brièvement une implantation de notre méthode permettant de faire la vérification de systèmes finis, un cas particulier des systèmes à piles. Enfin, nous concluons ce travail au chapitre 6.

9 Chapitre 2 Vérification de modèles 2.1 Introduction de la méthode Il existe plusieurs méthodes pour vérifier que les systèmes (matériels ou logiciels) satisfont un comportement désiré. La forme la plus simple de vérification est sûrement le test. Le test d un logiciel ou d une partie d un logiciel consiste àexécuter ce dernier en lui fournissant des données et à observer si les résultats fournis correspondent à ce qui est attendu. Pour le matériel, la simulation est souvent utilisée. Le système est modélisé par un logiciel sur lequel les tests sont effectués, ce qui permet de détecter des erreurs avant l étape de fabrication, qui est dispendieuse pour le matériel. Les tests sont très utiles, mais ils ont des inconvénients. Puisque le domaine des entrées peut être très grand ou même infini, cette technique ne peut assurer qu un système est correct. Il faudrait dans ce cas exécuter le programme un nombre infini de fois. De plus, cette technique n est pas adaptée aux systèmes réactifs dont le comportement consiste à réagir continuellement avec l environnement plutôt que de terminer et fournir un résultat. Pensons entre autres aux systèmes d exploitation, mais aussi à plusieurs systèmes matériels tels que les machines distributrices. Afin d éviter les inconvénients de la méthode de tests, nous allons faire de la vérification de modèles, une méthode formelle (basée sur des principes mathématiques) qui ne nécessite pas d exécution. Pour faire cela, il faut être en mesure de décrire de façon formelle le comportement du système à vérifier et le comportement désiré. Pour modéliser le système, nous utilisons habituellement un système de transitions étiquetées. Ce modèle est composé d états qui correspondent aux états dans lesquels le système peut exister et de transitions entre ces états pour indiquer que le système peut passer d un

10 Chapitre 2. Vérification de modèles 5 état donné à un autre en faisant une action donnée. Pour représenter les comportements désirés, on utilise habituellement les expressions de diverses logiques temporelles. L utilisation des techniques de vérification de modèles est différente entre le monde logiciel et le monde matériel. Dans l industrie matérielle, la vérification formelle est considérée très importante puisqu elle permet de vérifier que le matériel est correct avant de le fabriquer. Si une puce électronique est jugée défectueuse après sa fabrication, elle n est bonne à rien et les pertes monétaires sont importantes. La technique est aussi facilement applicable au matériel en théorie puisque ce dernier peut être modélisé par un système fini (le nombre d étatsetlenombredetransitionssontfinis).eneffet, certains algorithmes de vérification vérifient les propriétés en traversant l espace d états au complet, ce qui est possible seulement si ce dernier est fini. En pratique, le problème est jugé plus difficile à cause de l explosion des états. Ce problème est dû aufaitquele nombre d états du modèle est exponentiel par rapport à la taille de la mémoire que le système à vérifier peut utiliser pendant son exécution. Par exemple, si le système utilise un registre de n bits,ilya2 n états possibles différents à l exécution en ne tenant compte que de ce registre. Par contre, il existe des techniques pour représenter symboliquement les systèmes et leur usage a fait de la vérification de modèles un succès dans l industrie. Dans l industrie logicielle, c est presque l opposé. Puisque l expressivité d un programme informatique est pratiquement équivalente à celle d une machine de Turing (dont l espace d états est infini), la vérification est impossible en théorie, et ce, même pour des propriétés simples telles que le problème de l arrêt. Par le fait même, il semble donc que les erreurs possibles dans les logiciels soient considérées comme un mal inévitable. De plus, puisqu il est moins coûteux de corriger une erreur logicielle que matérielle, les entreprises préfèrent mettre leurs logiciels en marché le plus tôt possible. Il en résulte donc que la vérification de modèles est moins utilisée dans l industrie logicielle que matérielle, même si, comme nous le verrons, il est possible en pratique de vérifier formellement du logiciel (en faisant des abstractions au niveau du modèle). Le but de ce chapitre est de présenter la vérification de modèles de façon générale. Il montre aussi que la vérification de modèles est faisable sur certains systèmes infinis, ce qui en fait une méthode intéressante pour la vérification du logiciel. Les informations utilisées pour ce survol proviennent principalement de [6, 42]. Un cadre de travail pour la vérification de modèles nécessite trois choses. Premièrement, un formalisme pour modéliser les systèmes, ce dont nous traiterons à la section 2.2. Deuxièmement, il faut un formalisme pour décrire des propriétés à vérifier (section 2.3) et, troisièmement, un algorithme pour vérifier que le modèle satisfait la propriété désirée. Nous présenterons des algorithmes pour la vérification de différentes classes de

11 Chapitre 2. Vérification de modèles 6 modèles aux sections 2.4 et Classification des modèles Nous modélisons les systèmes à vérifier au moyen de systèmes de transitions étiquetées. (2.1) Définition. Un système de transitions étiquetées (LTS, de labelled transition system) est un quadruplet T =(S, A,,r) tel que S est un ensemble d états, A est un ensemble d actions, S A S est une relation de transition et r S est la racine du système. Si (s, a, s ) nous écrivons s a s.celasignifiequelesystème peut passer de l état s àl état s en faisant l action a. (2.2) Définition. Soit un LTS T =(S, A,,i). Une exécution π = s 1 a 1 s 2 a 2... de a T est une séquence infinie et alternée d états et d actions de T telle que s i i si+1 pour tout i 1. Nous définissons π i déf = s i a i s i+1 a i+1..., le suffixe de π partant de s i,etinf (π), l ensemble des états qui apparaissent infiniment souvent dans π. Nousdéfinissons aussi π(i) déf = s i,lei e état de π, etexec(t ), l ensemble des exécutions de T. On peut vouloir définir un système de transitions sans étiqueter les transitions au moyen d actions. Un tel système est donc un triplet (S,,r). La définition de S et de r est la même que pour un LTS tandis que S S et on écrit s s si (s, s ). L ensemble des états d un LTS peut être infini. En outre, la vérification de propriétés intéressantes n est pas décidable sur des systèmes quelconques. En effet, un LTS peut représenter une machine de Turing et les propriétés intéressantes sont en général indécidables pour ces systèmes. C est pourquoi nous allons nous intéresser seulement à des systèmes finis et à des systèmes infinis qui respectent certaines restrictions. Les systèmes finis sont des LTS dont le nombre d états et de transitions sont finis. Une classe de modèles un peu moins restrictive sera plus intéressante pour nous. Il s agit des systèmes à pile. Un système à pile peut être vu de façon informelle comme un système fini muni d une pile de taille non bornée. Il y a un alphabet spécial pour la pile. Ce qui correspond àunétat du système fini (c est-à-dire un état du système sans tenir compte de la pile) sera maintenant appelé point de contrôle. Un état dans un système à pile correspond à un point de contrôle plus une configuration de la pile. Il peut donc y avoir un nombre infini d états dans un système à pile dû au fait que la taille de la pile est non bornée. L intérêt de ces systèmes est qu ils sont un modèle pouvant

12 Chapitre 2. Vérification de modèles 7 représenter le flot de contrôle de programmes avec appels de procédures (incluant les appels récursifs). (2.3) Définition. Un système à pile(pds, de pushdowm system) est un quadruplet P = (P, Γ,,c 0 )telquep est un ensemble fini de points de contrôleetγestun alphabet de pile fini. Une configuration de pile est un mot fini w Γ.Unétat de P est un couple (p, w) telquep P et w Γ. On associe à P le LTS T P =(P Γ, P,c 0 ) ayant c 0 comme état initial. est un sous-ensemble fini de (P Γ) (P Γ ). Si ((p, γ), (p,w)), nous écrivons (p, γ) P (p,w). La relation de transition de T P est déterminée par comme suit : Si (p, γ) P (p,w)alors(p, γw ) P (p,ww )pourtoutw Γ. La tête d un état (p, γw), où γ Γ, est le couple (p, γ). Il faut remarquer que dans cette représentation d une pile par un mot fini, le dessus de la pile est à gauche du mot et le bas est à droite. Cette définition de PDS est celle de [42]. Ce sont des systèmes de transitions non étiquetées et d après leur définition, ils dépilent obligatoirement un symbole sur la pile à chaque transition. Plus tard, nous enlèverons cette restriction et permettrons d ajouter des actions. 2.3 Classification des logiques Cette section présente certaines logiques temporelles pouvant servir à énoncer des propriétés àvérifier sur des LTS. La plupart de ces logiques sont classées dans une des deux catégories suivantes : les logiques linéaires et les logiques arborescentes. En fait, comme ce sera expliqué dans les sections qui suivent, c est le temps qui est considéré linéaire ou arborescent et cela a un impact sur les propriétés qu expriment les formules de ces logiques. Nous présenterons les principales logiques linéaires et arborescentes. Nous traiterons aussi d une logique nommée CTL permettant de décrire à la fois des propriétés linéaires et arborescentes. Enfin, nous présenterons brièvement les logiques non régulières.

13 Chapitre 2. Vérification de modèles Logiques linéaires Les logiques linéaires supposent qu il n y a qu un seul futur à chaque instant dans le temps. Par exemple, si on considère une exécution donnée d un LTS, il n y a qu un futur à chaque étape de cette dernière. Une telle logique s évalue donc sur les exécutions possibles d un système. Ces exécutions peuvent être finies ou infinies selon la logique, mais dans notre cas, nous ne nous intéressons qu aux exécutions infinies. En fait, les logiques que nous verrons dans cette section ne permettent d exprimer que des propriétés sur des exécutions infinies. Au moment de la vérification, les exécutions finies du LTS àvérifier ne sont donc pas prises en compte. Dans le cas où ondésire vérifier une propriété sur un système ayant des exécutions finies, il faut représenter ces dernières par des exécutions infinies dans le modèle. Soit T = (S, A,,r) un LTS. Le fait qu une exécution π exec(t ) satisfait une formule φ est noté T,π φ. Puisqu une formule de logique linéaire s évalue sur les exécutions d un LTS, la sémantique d une telle formule est donc un ensemble d exécutions. C est l ensemble des exécutions de T qui satisfont la formule. Un état s satisfait φ, noté T,s φ, sil ensembledetouteslesexécutions de T partant de s satisfont φ ou, plus formellement 1,si( π : exec(t ) π(1) = s : T,π φ). Finalement, le LTS T satisfait φ si T,r φ. Les logiques linéaires sont habituellement définies pour exprimer des propriétés soit à propos des actions effectuées au cours d une exécution, soit des états rencontrés au cours d une exécution. On parle respectivement de sémantique basée sur les actions ou sur les états. La premièreseprête bien aux LTS puisque ces derniers possèdent des transitions étiquetées par des actions. Plusieurs modélisent des systèmes sans étiqueter les transitions par des actions. Dans ce cas, les propriétés à vérifier sont sur les états. La sémantique basée sur les états est aussi très intéressante pour la vérification des PDS puisqu elle permet d exprimer des propriétés à propos du contenu de la pile. Cette dernière est une des composantes de l état. Pour chaque logique que nous présentons ci-dessous, nous unissons les deux sémantiques afin d avoir une logique permettant à la 1 Nous utilisons la syntaxe de [20] pour les quantifications. Une quantification a la forme ( x:t 1,y:t 2 R : P ). Le symbole représente le quantificateur qui est suivi de la liste des variables de quantification. Ici, il y a deux variables de quantification x et y ayant respectivement le type t 1 et le type t 2. La notation x, x :t peut être utilisée si plusieurs variables ont le même type. De plus, les types peuvent être omis s ils sont évidents d après le contexte. L expression R, appelée domaine, est une expression booléenne qui décrit les valeurs que peuvent prendre x et y. L expression P est le corps de la quantification. La quantification dénote l application de aux valeurs P telles que x et y satisfont R. La quantification ( x:t : P ) est une abréviation de ( x:t vrai : P ). Par exemple, ( x, y:n 2 x 3 3 y 4:x y )= Notons que les expressions ( x R : P )et ( x R : P ) sont respectivement égales aux expressions en notation classique x.r P et x.r P.

14 Chapitre 2. Vérification de modèles 9 fois d exprimer des propriétés à propos des actions et des états. La logique linéaire la plus simple est la logique Weak Linear-Time Logic (WL). Elle est composée d abord de vrai, et. On ajoute des opérateurs (a)φ venant de la sémantique basée sur les actions, un pour chaque action a A. On y introduit un ensemble de propositions atomiques At tel que c est fait dans la sémantique basée sur les états. Au moment de vérifier une formule sur T =(S, A,,r), une valuation ν : At PS associe un sous-ensemble de S àchaqueélément de At. Voici la syntaxe de la logique, où p At et a A. φ ::= vrai p (a)φ φ φ φ Étant donnée une exécution π = s 1 a 1 s 2 a 2... telle que π exec(t ), la relation T,π ν φ est définiedelafaçon suivante. T,π ν vrai T,π ν p si π(1) ν(p) T,π ν (a)φ si a 1 = a et T,π 2 ν φ T,π ν φ si T,π ν φ n est pas vrai T,π ν φ 1 φ 2 si T,π ν φ 1 ou T,π ν φ 2 Une exécution satisfait l expression (a)φ si la première action est a et si l exécution obtenue en retirant le premier état et la première action satisfait φ. On peut définir les autres opérateurs de la logique classique propositionnelle comme c est fait habituellement. Dans le cas oùlesystème àvérifier n est pas étiqueté, la construction Xφ remplace (a)φ etalasémantique T,π ν Xφ si T,π 2 ν φ. La logique WL n est pas très intéressante puisqu elle permet seulement d exprimer des propriétés à propos des premiers états ou des premières actions d une exécution. Une logique intéressante devrait permettre d exprimer des propriétés du genre «quelque chose de mauvais n arrivera jamais» ainsi que «quelque chose de bien arrivera par la suite», qui sont appelées respectivement propriétés de sûreté et de vivacité. La logique Linear-Time Logic (LTL), qui est sûrement la plus populaire des logiques linéaires, permet d exprimer ce genre de propriétés. C est une extension de WL obtenue en ajoutant

15 Chapitre 2. Vérification de modèles 10 un opérateur binaire U appelé until. L expression φ 1 Uφ 2 stipule que φ 1 est satisfaite jusqu à cequeφ 2, qui est satisfaite par la suite, soit satisfaite. La sémantique de cet opérateur est la suivante. T,π ν φ 1 Uφ 2 si ( i : T,π i ν φ 2 et ( j j<i: T,π j ν φ 1 )) Ilestpossiblededéfinir Fφ déf = vraiuφ qui signifie que φ est satisfaite par la suite et Gφ déf = F φ qui signifie que φ est toujours satisfaite. Les propriétés de vivacité et de sûreté ont donc respectivement la forme Fφ et G φ. LTL est une logique très intéressante et très utilisée en pratique. Il y a par contre certaines propriétés linéaires qu elle ne peut exprimer comme «une propriété φ est vraie à tout moment pair». Dit plus formellement, une exécution π satisfait cette propriété si ( i : T,π 2i φ). Le mu-calcul linéaire est une logique plus expressive que LTL. Elle est construite en ajoutant àwldesvariablesetunopérateur de plus petit point fixe, µx.φ, qui lie les occurrences libres de X dans φ. Dans le but de satisfaire la propriété de monotonie, toute variable doit apparaître dans la portée d un nombre pair de négations. Nous n exprimerons pas de propriétés directement dans cette logique puisque les propriétés exprimées au moyen de points fixes sont habituellement difficiles à comprendre. Pour cette raison, nous n allons pas plus loin dans sa présentation. Nous ne faisons que mentionner son existence Logiques arborescentes Contrairement aux logiques linéaires qui supposent que chaque instant dans le temps n a qu un seul futur, les logiques arborescentes supposent que plusieurs futurs sont possibles à chaque instant. Une formule de ces logiques est donc évaluée sur l arbre des exécutions du système à vérifier. Un état du système à vérifier satisfait une formule si l arbre des exécutions possibles à partir de cet état satisfait la formule. La logique arborescente la plus simple est la logique Hennessy-Milner Logic (HML). C est la contrepartie de WL en logique linéaire. Elle est composée de vrai, et et d un ensemble de propositions atomiques At dont chacun des éléments représente, une fois interprété au moyen d une valuation ν, un sous-ensemble des états du modèle à vérifier. La différence avec WL est que l opérateur (a)φ est remplacé par l opérateur a φ pour

16 Chapitre 2. Vérification de modèles 11 chaque action a du système àvérifier. La syntaxe de la logique est la suivante, où p At. φ ::= vrai p a φ φ φ φ La sémantique d une formule φ est définie par rapport à un LTS T =(S, A,,r)et est notée [φ] T ν. La valeur de cette expression est l ensemble des états de T qui satisfont φ. La sémantique de HML est la suivante. [vrai] T ν [p] T ν [ a φ] T ν [ φ] T ν [φ 1 φ 2 ] T ν déf = S déf = ν(p) déf = {s S ( s S : s a s et s [φ] T ν )} déf = S [φ] T ν déf = [φ 1 ] T ν [φ 2 ] T ν Un état s satisfait a φ s il existe une transition par a à partir de s menant àunétat qui satisfait φ. Il est possible de définir [a]φ déf = a φ, qui signifie que toute transition par a mènedansunétat qui satisfait φ. Lorsque le système àvérifier n est pas étiqueté, il faut remplacer la construction a φ par EXφ qui signifie qu il existe une transition qui mènedansunétat qui satisfait φ et dont la sémantique formelle est [EXφ] T ν déf = {s S ( s S : s s et s [φ] T ν )}. Dans ce cas, on définit AXφ déf = EX φ. Onpeutécrire T,s ν φ si s [φ] T ν. La logique HML est peu expressive. Voici une extension de HML, nommée Computation Tree Logic (CTL), qui est en quelque sorte la contrepartie arborescente de LTL. C est sûrement la logique arborescente la plus connue. Elle a l avantage d avoir une expressivité intéressante et d avoir une sémantique facile à comprendre. CTL est définie en ajoutant à HML un opérateur until qui est quantifié soit existentiellement E(φ 1 Uφ 2 ) ou universellement A(φ 1 Uφ 2 ). L expression E(φ 1 Uφ 2 ) signifie qu il existe une exécution sur laquelle φ 1 est satisfaite jusqu à cequeφ 2, qui est satisfaite par la suite, soit satisfaite. L expression A(φ 1 Uφ 2 ) signifie que pour toute exécution, φ 1 est satisfaite jusqu à cequeφ 2, qui est satisfaite par la suite, soit satisfaite. La sémantique de ces opérateurs est définie de la façon suivante.

17 Chapitre 2. Vérification de modèles 12 [E(φ 1 Uφ 2 )] T ν [A(φ 1 Uφ 2 )] T ν déf = {s S ( π : exec(t ) π(1) = s : ( i : π(i) [φ 2 ] T ν et ( j j<i: π(j) [φ 1 ] T ν )))} déf = {s S ( π : exec(t ) π(1) = s : ( i : π(i) [φ 2 ] T ν et ( j j<i: π(j) [φ 1 ] T ν )))} Il est possible de définir EFφ déf = E(vraiUφ), AFφ déf = A(vraiUφ), EGφ déf = AF φ ainsi que = EF φ. AGφ déf Une des logiques arborescentes les plus expressives est le mu-calcul modal. De la même façon que le mu-calcul linéaire est construit à partir de WL, le mu-calcul modal est construit en ajoutant un ensemble de variables Var et un opérateur de plus petit point fixe à HML. Ceci permet d écriredesformulesdelaformeµx.φ(x) représentant la plus petite solution X à X = φ(x). La sémantique est définie par rapport à une valuation V qui associe un sous-ensemble de S àchaquex Var et qu il ne faut pas confondre avec la valuation ν qui fait la même chose pour les propositions atomiques de At. Comme pour le mu-calcul linéaire, dans toute expression µx.φ(x), chaque occurrence libre de X dans φ doit apparaître dans la portée d un nombre pair de négations dans le but de satisfaire la propriété de monotonie. La sémantique pour les variables de Var et pour l opérateur de plus petit point fixe est donnée de la façon suivante, où V[X E] est la valuation V modifiée de façon à ce que l ensemble E S soit associé à X. [X ] ν T,V [µx.φ] ν T,V déf = V(X) déf = ( E [φ] ν T,V[X E] E : E) C est une logique plus expressive que CTL et le mu-calcul linéaire. En mu-calcul modal, il est possible de définir E(φ 1 Uφ 2 ) déf = µx.(φ 2 (φ 1 ( a:a : a X))) de même que A(φ 1 Uφ 2 ) déf = µx.(φ 2 (φ 1 ( a:a : [a]x))). À cause de sa grande expressivité, cette logique est intéressante pour des études théoriques. Par contre, une courte formule de cette logique peut être très difficile à comprendre. Pour cette raison, nous ne l utiliserons pas par la suite.

18 Chapitre 2. Vérification de modèles CTL La logique CTL est construite à partir de LTL en ajoutant la construction Eφ àla syntaxe de la logique. L opérateur E est, comme dans CTL, le quantificateur existentiel sur les exécutions. La formule Eφ est satisfaite dans un état s il existe une exécution à partir de ce dernier sur laquelle φ est satisfaite. Il s agit donc d une logique qui permet à la fois d exprimer des propriétés linéaires et arborescentes. Voici la syntaxe formelle de la logique, où a est une action du système et p At. Il y a deux types de formules : les formules d exécutions φ, qui ont un ensemble d exécutions comme sémantique, et les formules d états ψ, qui ont un ensemble d états comme sémantique. Autant les formules dérivées de φ que de ψ sont des formules de CTL.D après la syntaxe, toute formule pouvant avoir un ensemble d états comme sémantique peut aussi être interprétée de façon à avoir un ensemble d exécutions comme sémantique. φ ::= ψ φ φ φ (a)φ φuφ ψ ::= vrai p ψ ψ ψ Eφ Encore une fois, dans le cas où on travaille avec des systèmes non étiquetés, la construction (a)φ est remplacée par Xφ. Pour les formules d exécutions qui sont des formules de LTL, la sémantique est la même que dans cette logique. Pour les formules d étatsquisontdesformulesdehml,lasémantique est aussi la même que dans cette dernière. Voici la sémantique de la logique CTL. T,π ν ψ si π(1) [ψ ] T ν T,π ν φ si T,π ν φ n est pas vrai T,π ν φ 1 φ 2 si T,π ν φ 1 ou T,π ν φ 2 T,π ν (a)φ si a 1 = a et T,π 2 ν φ T,π ν φ 1 Uφ 2 si ( i : T,π i ν φ 2 et ( j j<i: T,π j ν φ 1 )) [vrai] T ν [p] T ν [ φ] T ν [φ 1 φ 2 ] T ν [Eφ] T ν déf = S déf = ν(p) déf = S [φ] T ν déf = [φ 1 ] T ν [φ 2 ] T ν déf = {s S ( π : exec(t ) π(1) = s : T,π ν φ)}

19 Chapitre 2. Vérification de modèles 14 Cette logique contient la logique LTL par définition. Il en est de même pour la logique CTL puisque CTL permet d écrire la formule E(φ 1 Uφ 2 )aveclamême sémantique qu a cette dernière en CTL. On peut définir le quantificateur universel sur les exécutions Aφ déf = E φ, ce qui permet d écrire A(φ 1 Uφ 2 ). On peut aussi définir a φ déf = E(a)φ. C est donc une logique très intéressante en ce qui a trait à l expressivité. Elle est moins expressive que le mu-calcul modal, mais sa syntaxe permet d écrire des expressions faciles à comprendre. Cette logique est donc d un grand intérêt pour nous Logiques non régulières Toutes les logiques que nous avons vues jusqu à maintenant ne peuvent exprimer que des propriétés régulières. Ceci signifie que ces propriétés peuvent être représentées par des langages réguliers de séquences (dans le cas des logiques linéaires) ou d arbres (dans le cas des logiques arborescentes). Puisque les systèmes infinis tels que les PDS peuvent modéliser des comportements non réguliers,il y a un intérêt à être en mesure d exprimer les comportements que doivent avoir ces systèmes au moyen de logiques. Par exemple, une telle logique pourrait exprimer la propriété «entre le début et la fin de chaque session, il y a exactement le même nombre de requêtes envoyées que reçues». Le fait que deux actions différentes surviennent un nombre identique de fois ne peut être exprimé par un automate fini. Cela peut par contre l être au moyen d un automate à pile et, par conséquent, un PDS peut modéliser un tel comportement. Certaines logiques pouvant exprimer des propriétés telles que celle donnée en exemple utilisent l arithmétique de Presburger. Il y a entre autres les logiques Presburger Computation Tree Logic (PCTL) et Constrained Linear Temporal Logic (CLTL). 2.4 Vérification de systèmes finis Nous avons décrit les logiques temporelles de façon à ce qu elles puissent exprimer des propriétés à la fois sur les états et les actions. En général, les algorithmes connus ne s intéressent qu à une des deux sémantiques à la fois. Les algorithmes que nous présenterons permettent de vérifier des propriétés sur les états seulement. Afin de s adapter à la sémantique sur les états, nous modifions la définition d exécution. Cette nouvelle définition sera valable jusqu à la fin du chapitre. (2.4) Définition. Soit T =(S, A,,r), un LTS. Une exécution de T estune séquence a infinie d états s 1 s 2...pour laquelle, pour tout i 1, il existe un a i tel que s i i si+1.on écrit s *s w a,où w = a 1...a n, s il existe une exécution s 1 s 2... telle que s i i si+1 pour

20 Chapitre 2. Vérification de modèles 15 tout 1 i n, s = s 1 et s = s n+1. Pour les systèmes de transitions non étiquetées, la définition d exécution est similaire à celle des LTS. De plus, pour un système (S,,r), on écrit s s s il existe une exécution s 1 s 2... telle que s = s 1 et s = s n+1 pour un n 0. Finalement, on écrit s + s s il existe une exécution s 1 s 2... telle que s = s 1 et s = s n+1 pour un n LTL et mu-calcul linéaire La vérification des logiques linéaires (LTL et mu-calcul linéaire) sur un système fini utilise une approche basée sur les automates de Büchi. Ce sont des automates finis qui acceptent des séquences infinies. La sémantique d une formule de ces logiques étant un ensemble régulier d exécutions, on peut associer un tel automate à une formule. (2.5) Définition. Un automate de Büchi B est un quintuplet (Q, Γ,,q 0,F), où Q est un ensemble fini d états, Γ est un alphabet fini, Q Γ Q est un ensemble de transitions, q 0 Q est l état initial et F Q est un ensemble d états. Le langage L(B) accepté par B est l ensemble de toutes les séquences infinies ω telles que le LTS (Q, Γ,,q 0 ) a une exécution σ étiquetée par ω et partant de q 0 telle que Inf (σ) F. Un langage est appelé ω-régulier si et seulement s il existe un automate de Büchi qui l accepte. De même que nous avons défini les systèmes de transitions non étiquetées par rapport aux LTS, il est possible de définir les automates de Büchi non étiquetés. Un tel automate est donc représenté par un quadruplet (Q,,q 0,F). Cet automate a un langage vide si et seulement si le système de transitions (Q,,q 0 ) n a pas d exécution σ partant de q 0 satisfaisant Inf (σ) F. Dans le cas où le langage n est pas vide, on ne s intéresse pas à définir les séquences qu il contient puisque les transitions de l automate ne sont pas étiquetées. Pour vérifier une formule φ, il faut construire l automate de Büchi B φ qui représente les exécutions (séquences d états seulement) qui ne satisfont pas φ (ou qui satisfont φ). Dans les faits, chaque transition de cet automate est étiquetée par un sous-ensemble de At plutôt que par des états du système àvérifier. Ce n est qu à l étape suivante qu une valuation est utilisée afin d interpréter ces sous-ensembles de At. Il existe plusieurs outils, tel que Spin [22], qui peuvent construire cet automate à partir d une formule LTL basée sur les états. Une fois cet automate construit, on en fait le produit synchronisé avec le LTS du système à vérifier (définition 2.6). Le résultat de ce produit est un automate dont les séquences acceptées correspondent à l intersection des séquences de

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

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Vérification Formelle des Aspects de Cohérence d un Workflow net

Vérification Formelle des Aspects de Cohérence d un Workflow net Vérification Formelle des Aspects de Cohérence d un Workflow net Abdallah Missaoui Ecole Nationale d Ingénieurs de Tunis BP. 37 Le Belvédère, 1002 Tunis, Tunisia abdallah.missaoui@enit.rnu.tn Zohra Sbaï

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Les automates Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015 Retour sur l île et le barman Deux problèmes similaires: Des îles, des bateaux et un trésor à trouver

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

MIS 102 Initiation à l Informatique

MIS 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étail

La logique. et son automatisation

La logique. et son automatisation Université de Fribourg Cours 2001 Méthodes mathématiques de l informatique C. Auderset La logique et son automatisation Première partie: Logique propositionnelle 1. Syntaxe et sémantique de la logique

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Chapitre 1 Régime transitoire dans les systèmes physiques

Chapitre 1 Régime transitoire dans les systèmes physiques Chapitre 1 Régime transitoire dans les systèmes physiques Savoir-faire théoriques (T) : Écrire l équation différentielle associée à un système physique ; Faire apparaître la constante de temps ; Tracer

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

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

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

Modélisation et Simulation

Modélisation et Simulation Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation

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

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle 1. Introduction L algèbre relationnelle est le support mathématique cohérent sur lequel repose le modèle relationnel. L algèbre relationnelle propose un ensemble d opérations élémentaires

Plus en détail

Ensimag 2A. Rapport de TER. Application de la Recherche Opérationnelle à la Finance

Ensimag 2A. Rapport de TER. Application de la Recherche Opérationnelle à la Finance Ensimag 2A Rapport de TER Application de la Recherche Opérationnelle à la Finance Elève : Yuefei HUANG Tuteur : Zoltán SZIGETI Mai, 2010 2 Sommaire 1. Introduction... 3 2. Le marché des changes et arbitrage...

Plus en détail

À propos des matrices échelonnées

À propos des matrices échelonnées À propos des matrices échelonnées Antoine Ducros appendice au cours de Géométrie affine et euclidienne dispensé à l Université Paris 6 Année universitaire 2011-2012 Introduction Soit k un corps, soit E

Plus en détail

Cours : INF 752 Techniques de vérification et de validation Trimestre : Automne 2015 Enseignant : Évariste Valéry BÉVO WANDJI

Cours : INF 752 Techniques de vérification et de validation Trimestre : Automne 2015 Enseignant : Évariste Valéry BÉVO WANDJI Faculté des sciences Centre de formation en technologies de l information Cours : INF 752 Techniques de vérification et de validation Trimestre : Automne 2015 Enseignant : Évariste Valéry BÉVO WANDJI 1.

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

Techniques et outils de test pour les logiciels réactifs synchrones

Techniques et outils de test pour les logiciels réactifs synchrones Journées Systèmes et Logiciels Critiques Institut IMAG ; 14-16 nombre 2000 Techniques et outils de test pour les logiciels réactifs synchrones Farid Ouabdesselam 1 Méthodes de test : classification générale

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Introduction à l Algorithmique

Introduction à l Algorithmique Introduction à l Algorithmique N. Jacon 1 Définition et exemples Un algorithme est une procédure de calcul qui prend en entier une valeur ou un ensemble de valeurs et qui donne en sortie une valeur ou

Plus en détail

Model checking temporisé Algorithmes efficaces et complexité

Model checking temporisé Algorithmes efficaces et complexité Model checking temporisé Algorithmes efficaces et complexité (Mémoire d habilitation à diriger des recherches) François Laroussinie Laboratoire Spécification et Vérification ENS de Cachan & CNRS UMR 8643

Plus en détail

Fondements de l informatique Logique, modèles, et calculs

Fondements de l informatique Logique, modèles, et calculs Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Formula Negator, Outil de négation de formule.

Formula Negator, Outil de négation de formule. Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente

Plus en détail

TP 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 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étail

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal La demande Du consommateur Contrainte budgétaire Préférences Choix optimal Plan du cours Préambule : Rationalité du consommateur I II III IV V La contrainte budgétaire Les préférences Le choix optimal

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP)

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Loris Marchal, Guillaume Melquion, Frédéric Tronel 21 juin 2011 Remarques générales à propos de l épreuve Organisation

Plus en détail

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

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

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

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

TSCPN: Timed Secure Colored Petri Net Modélisation et vérification de la sécurité des informations par des réseaux de Petri colorés temporisés

TSCPN: Timed Secure Colored Petri Net Modélisation et vérification de la sécurité des informations par des réseaux de Petri colorés temporisés TSCPN: Timed Secure Colored Petri Net Modélisation et vérification de la sécurité des informations par des réseaux de Petri colorés temporisés Présenté par : Hind Rakkay Dirigé par : Hanifa Boucheneb École

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Contribution à l algorithmique de la vérification

Contribution à l algorithmique de la vérification Contribution à l algorithmique de la vérification (Mémoire d habilitation à diriger des recherches) Jean-Michel COUVREUR Laboratoire Bordelais de Recherche en Informatique CNRS UMR 5800 - Université Bordeaux

Plus en détail

Espace de probabilité, indépendance et probabilité conditionnelle

Espace de probabilité, indépendance et probabilité conditionnelle Chapter 2 Espace de probabilité, indépendance et probabilité conditionnelle Sommaire 2.1 Tribu et événements........................................... 15 2.2 Probabilité................................................

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

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

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

Simulations de Monte Carlo en finance : Pricer d option

Simulations de Monte Carlo en finance : Pricer d option Emma Alfonsi, Xavier Milhaud - M2R SAF Simulations de Monte Carlo en finance : Pricer d option Sous la direction de M. Pierre Alain Patard ISFA - Mars 2008 . 1 Table des matières 1 Introduction 4 2 Un

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

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

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

Jeux à somme nulle : le cas fini

Jeux à somme nulle : le cas fini CHAPITRE 2 Jeux à somme nulle : le cas fini Les jeux à somme nulle sont les jeux à deux joueurs où la somme des fonctions de paiement est nulle. Dans ce type d interaction stratégique, les intérêts des

Plus en détail

Cours Algorithmique, 2ème partie AS IUT

Cours Algorithmique, 2ème partie AS IUT Cours Algorithmique, 2ème partie AS IUT Cours 2 : Arbres Binaires Anne Vilnat http://www.limsi.fr/individu/anne/coursalgo Plan 1 Représentations arborescentes 2 Définition d un arbre binaire récursive

Plus en détail

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel Introduction Notre contexte : pas possible d exprimer toutes les combinaisons de DT. Le test fonctionnel est basé sur la spécification/interface

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La 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étail

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population.

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population. Première STMG1 2014-2015 progression. - 1 Table des matières Fil rouge. 3 Axes du programme. 3 Séquence : Proportion d une sous population dans une population. 3 Information chiffrée : connaître et exploiter

Plus en détail

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

Eteindre. 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étail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

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

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

Plus en détail

PLAN DE COURS. TITRE DU COURS : Mise à niveau pour mathématique 536

PLAN DE COURS. TITRE DU COURS : Mise à niveau pour mathématique 536 100, rue Duquet, Sainte-Thérèse (Québec) J7E 3G6 Téléphone : (450) 430-3120 Télécopieur : (450) 971-7883 Internet : http://www.clg.qc.ca SESSION : H-2009 NO DE COURS : 201-009-50 PRÉALABLE(S) : Math 436

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Jean-Etienne Poirrier 15 décembre 2005 Table des matières 1 Matrices 3 1.1 Définition......................................... 3 1.2 Les différents types de matrices.............................

Plus en détail

Un cours d introduction à la démarche mathématique. Martine De Vleeschouwer, Suzanne Thiry

Un cours d introduction à la démarche mathématique. Martine De Vleeschouwer, Suzanne Thiry Aide à la transition dans une formation universitaire d un mathématicien en Belgique Un cours d introduction à la démarche mathématique Martine De Vleeschouwer, Suzanne Thiry Université de Namur, Unité

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

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

CH.8 Décidabilité. Propriétés des langages récursifs : Fermés par complémentation, union et intersection. oui. non. oui M 1. non. oui M 2.

CH.8 Décidabilité. Propriétés des langages récursifs : Fermés par complémentation, union et intersection. oui. non. oui M 1. non. oui M 2. CH.8 Décidabilité 8.1 Les langages récursifs 8.2 La machine de Turing universelle 8.3 Des problèmes de langages indécidables 8.4 D'autres problèmes indécidables Automates ch8 1 8.1 Les langages récursifs

Plus en détail

Vérification de programmes et de preuves Première partie. décrire des algorithmes

Vérification de programmes et de preuves Première partie. décrire des algorithmes Vérification de programmes et de preuves Première partie. décrire des algorithmes Yves Bertot September 2012 1 Motivating introduction A partir des années 1940, il a été compris que l on pouvait utiliser

Plus en détail

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Anne Brygoo, Maryse Pelletier, Christian Queinnec, Michèle Soria Université Paris 6 Pierre et Marie Curie septembre 2005

Plus en détail

Définition formelle des ASM

Définition formelle des ASM Chapitre 5 Définition formelle des ASM Nous avons vu, dans le chapitre un, l intérêt d un langage algorithmiquement complet. Nous avons ensuite présenté des exemples de programmes en AsmL, implémentation

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Théorie de l information : historique

Théorie de l information : historique Théorie de l information : historique Développée dans les années quarante par Claude Shannon. Objectif : maximiser la quantité d information pouvant être transmise par un canal de communication imparfait.

Plus en détail

aux différences est appelé équation aux différences d ordre n en forme normale.

aux différences est appelé équation aux différences d ordre n en forme normale. MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

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

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé EXERCICE 1 5 points Commun à tous les candidats 1. Réponse c : ln(10)+2 ln ( 10e 2) = ln(10)+ln ( e 2) = ln(10)+2 2. Réponse b : n 13 0,7 n 0,01

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

Mathématiques assistées par ordinateur

Mathématiques assistées par ordinateur Mathématiques assistées par ordinateur Chapitre 4 : Racines des polynômes réels et complexes Michael Eisermann Mat249, DLST L2S4, Année 2008-2009 www-fourier.ujf-grenoble.fr/ eiserm/cours # mao Document

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Les compromis temps-mémoire et leur utilisation pour casser les mots de passe Windows

Les compromis temps-mémoire et leur utilisation pour casser les mots de passe Windows Les compromis temps-mémoire et leur utilisation pour casser les mots de passe Windows Philippe Oechslin Laboratoire de Securité et de Cryptographie (LASEC) École Polytechnique Fédérale de Lausanne Faculté

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

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Le 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étail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

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

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

Plus en détail

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

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

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction TP1, prise en main de Pari/GP et arithmétique Le programme que nous allons utiliser pour les TP se nomme PARI/GP dont le point fort est la théorie des nombres (au sens large). Il est donc tout à fait adapter

Plus en détail

Formules d inclusion-exclusion

Formules d inclusion-exclusion Université de Rouen L1 M.I.EEA 2011 2012 Mathématiques discrètes Formules d inclusion-exclusion Je présente ici une correction détaillée de l Exercice 5 de la Feuille d exercices 1, en reprenant le problème

Plus en détail

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I Roxane Duroux 1 Cadre de l étude Cette étude s inscrit dans le cadre de recherche de doses pour des essais cliniques

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

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle Concepts Descriptifs : Bilan RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE Langages de manipulation Langages formels : base théorique solide Langages utilisateurs

Plus en détail

Langages de spécification cours 4

Langages de spécification cours 4 Langages de spécification cours 4 Diagrammes de décision binaire(bdd) Catalin Dima Arbres de décision binaire Étant donnée une formule logique, on peut lui associer un arbre qui permet d évaluer la valeur

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte 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étail

Bases de Données Relationnelles. L algèbre relationnelle

Bases de Données Relationnelles. L algèbre relationnelle Bases de Données Relationnelles L algèbre relationnelle Langages de manipulation Langages formels : base théorique solide Langages utilisateurs : version plus ergonomique Langages procéduraux : définissent

Plus en détail

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

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

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Ensembles et applications. Motivations. Exo7

Ensembles et applications. Motivations. Exo7 o7 nsembles et applications Vidéo partie 1. nsembles Vidéo partie 2. Applications Vidéo partie 3. Injection, surjection, bijection Vidéo partie 4. nsembles finis Vidéo partie 5. Relation d'équivalence

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

Plus en détail