Certifying an Automated Code Generator Using Formal Tools

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Certifying an Automated Code Generator Using Formal Tools"

Transcription

1 Certifying an Automated Code Generator Using Formal Tools Preliminary experiments in the GeneAuto Project N. Izerrouken, X. Thirioux, M. Pantel, M. Strecker IRIT-ACADIE Continental Automotive Toulouse, France, 2 Avril 2008 IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

2 Plan 1 Introduction Objectifs Vérification formelle : État de l art 2 Approche choisie pour le développement du générateur de code certifié Principes de l approche Introduction à Coq Spécification du langage d entrée du générateur de code en Coq Exemple de circuit en Coq 3 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Algorithme de l ordonnanceur Preuves de correction de l ordonnanceur 4 Conclusion & Perspectives IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

3 Plan Introduction 1 Introduction Objectifs Vérification formelle : État de l art 2 Approche choisie pour le développement du générateur de code certifié Principes de l approche Introduction à Coq Spécification du langage d entrée du générateur de code en Coq Exemple de circuit en Coq 3 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Algorithme de l ordonnanceur Preuves de correction de l ordonnanceur 4 Conclusion & Perspectives IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

4 Introduction Objectifs Objectifs Générateur de code Simulink vers C certifié Définir la sémantique du langage d entrée Vérifier et valider les modèles d entrée Garantir la correction du code généré Limiter le coût des tests industriels IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

5 Introduction Exemple de circuit en Simulink Objectifs IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

6 Vérification formelle : Introduction État de l art Vérification formelle : État de l art Technologies formelles 1 Model Checking 2 Analyse statique par interprétation abstraite 3 Assistants de preuves IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

7 Introduction Vérification formelle : État de l art Vérification formelle : État de l art Technologies formelles 1 Model Checking 2 Analyse statique par interprétation abstraite 3 Assistants de preuves Approches existantes Translation Validation CVT IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

8 Introduction Vérification formelle : État de l art Vérification formelle : État de l art Technologies formelles 1 Model Checking 2 Analyse statique par interprétation abstraite 3 Assistants de preuves Approches existantes Translation Validation CVT Proof Carrying Code PCC IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

9 Introduction Vérification formelle : État de l art Vérification formelle : État de l art Technologies formelles 1 Model Checking 2 Analyse statique par interprétation abstraite 3 Assistants de preuves Approches existantes Translation Validation CVT Proof Carrying Code PCC Certification de compilateur par assistant de preuves IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

10 Approche choisie pour le développement du générateur de code certifié Plan 1 Introduction Objectifs Vérification formelle : État de l art 2 Approche choisie pour le développement du générateur de code certifié Principes de l approche Introduction à Coq Spécification du langage d entrée du générateur de code en Coq Exemple de circuit en Coq 3 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Algorithme de l ordonnanceur Preuves de correction de l ordonnanceur 4 Conclusion & Perspectives IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

11 Approche choisie pour le développement du générateur de code certifié Principes de l approche 1 Principes de l approche Le générateur de code est divisé en plusieurs modules 1 Ordonnanceur de blocs 2 Typeur de signaux 3 Calcul d horloge des blocs/circuits 4 Générateur de code 5 Optimiseur de circuits 6 Optimiseur de code IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

12 Approche choisie pour le développement du générateur de code certifié Principes de l approche 2 Principes de l approche Existence de plusieurs assistants de preuves : Coq, Isabelle, Hol, PVS, ACL2... Intérêt de Coq : Génération de code fonctionnel efficace : objective Caml, Haskell, Scheme IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

13 Approche choisie pour le développement du générateur de code certifié Principes de l approche Principes de l approche 2 Existence de plusieurs assistants de preuves : Coq, Isabelle, Hol, PVS, ACL2... Intérêt de Coq : Génération de code fonctionnel efficace : objective Caml, Haskell, Scheme Garanties L approche garantit la génération d un code Caml correct : préservation de toutes les propriétés de correction vérifiées par le programme source IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

14 Approche choisie pour le développement du générateur de code certifié Principes de l approche Principes de l approche 2 Existence de plusieurs assistants de preuves : Coq, Isabelle, Hol, PVS, ACL2... Intérêt de Coq : Génération de code fonctionnel efficace : objective Caml, Haskell, Scheme Garanties L approche garantit la génération d un code Caml correct : préservation de toutes les propriétés de correction vérifiées par le programme source GC en Coq GC en Caml GC compilé Exécutable Code C Modèle Simulink Modèle Coq Modèle Caml IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

15 Approche choisie pour le développement du générateur de code certifié Introduction à Coq Introduction à l assistant de preuves Coq Basé sur le calcul des constructions Complété par des définitions inductives et coinductives 1 Types inductifs Inductive list (A:Set) : Set := nil : list A cons : A -> list A -> list A. 2 Types Coinductifs CoInductive Stream : Set := Cons : A -> Stream -> Stream. Coq Caml Term Type Type Proof Program Program IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

16 Approche choisie pour le développement du générateur de code certifié Spécification du langage d entrée du générateur de code en Coq Spécification de Bloc Atomique Record blockbase : Set := {op : blockop; inportb : list evaltype; outportb : list evaltype; indexb : nat}. Spécification de Diagramme Record diagram (circuit : Set) : Set := {block_list : list circuit ; connexion_list : list connexion ; inportd : list eval_type ; outportd : list eval_type ; indexd : nat}. Spécification de Circuit Inductive circuit : Set := Block : blockbase -> circuit Diagram : diagram circuit -> circuit. IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

17 Approche choisie pour le développement du générateur de code certifié Exemple de circuit en Simulink Exemple de circuit en Coq Exemple de diagramme de blocs en Simulink IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

18 Approche choisie pour le développement du générateur de code certifié Exemple de circuit en Coq Exemple de circuit en Coq (*Block List Specification*) Definition blocinput:=block(build_blockbase(inputext 3)(nil)(Int::Int::Int::nil)0). Definition blocsum1:=block(build_blockbase(sum 2)(Int::Int::nil)(Int::nil)1). : Definition blocdelay1:=block(build_blockbase(delay)(int::nil)(int::nil)3). Definition blocoutput:=block(build_blockbase(outputext 2)(Int::nil)(Int::nil)7). (*Connexion List Specification*) Definition CNX_Input_Sum1:=CNX (ExternalPort 0 0)(InternalPort 0 1). : Definition CNX_Delay1_Sum1:=CNX (ExternalPort 0 3)(InternalPort 1 1). : Definition CNX_Sum2_Output:=CNX (ExternalPort 0 6)(InternalPort 1 7). (*Diagram Specification*) Definition demo := (Build_diagram circuit (blocinput...blocoutput::nil) (CNX1_Input_Sum1...CNX_Sum2_Output::nil) (Int::Int::Int::nil) (Int::Int::nil) 0). IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

19 Vérification formelle d un module du générateur de code : Ordonnanceur Plan 1 Introduction Objectifs Vérification formelle : État de l art 2 Approche choisie pour le développement du générateur de code certifié Principes de l approche Introduction à Coq Spécification du langage d entrée du générateur de code en Coq Exemple de circuit en Coq 3 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Algorithme de l ordonnanceur Preuves de correction de l ordonnanceur 4 Conclusion & Perspectives IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

20 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Circuit d entrée à l ordonnanceur Ordonnancer les blocs du circuit IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

21 Vérification formelle d un module du générateur de code : Ordonnanceur Circuit correspondant en Coq Démonstration de l ordonnanceur SUM Gain 1/Z 1/Z INPUT OUTPUT MULT SUM IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

22 Vérification formelle d un module du générateur de code : Ordonnanceur Circuit sans boucles (blocs Delay) Démonstration de l ordonnanceur D1 R SUM Gain D2 W INPUT D2 R MULT D1 W SUM OUTPUT IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

23 Vérification formelle d un module du générateur de code : Ordonnanceur Environnement 0 Démonstration de l ordonnanceur SUM Gain D2 W INPUT MULT D1 W SUM OUTPUT IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

24 Vérification formelle d un module du générateur de code : Ordonnanceur Environnement 1 Démonstration de l ordonnanceur SUM Gain D2 W 1 INPUT MULT D1 W SUM OUTPUT IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

25 Vérification formelle d un module du générateur de code : Ordonnanceur Environnement 2 Démonstration de l ordonnanceur SUM Gain 2 1 D2 W INPUT MULT D1 W SUM OUTPUT 2 IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

26 Vérification formelle d un module du générateur de code : Ordonnanceur Environnement 3 Démonstration de l ordonnanceur SUM Gain D2 W 3 INPUT MULT 3 D1 W SUM OUTPUT 2 3 IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

27 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Blocs Delay : Transformation de circuit SUM Gain D2 W 3 4 INPUT MULT 3 D1 W SUM OUTPUT 2 3 IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

28 Vérification formelle d un module du générateur de code : Ordonnanceur Ordre effectif Démonstration de l ordonnanceur SUM Gain D2 W 8 INPUT MULT 5 D1 W SUM OUTPUT 3 7 IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

29 Vérification formelle d un module du générateur de code : Ordonnanceur Algorithme de l ordonnanceur Algorithme de l ordonnanceur Construire l ordre correct d exécution des blocs du circuit Les valeurs du rang d exécution sont données par : Environment : block -> rank Forward précise le calcul du rang selon la propagation du flot de données Definition Forward (d : diagram circuit) : Environment -> Environment := fun E k => if (valid_index k d) then succ_rank (max_out_rank E d (Fanins d k)) else. L ordonnanceur est spécifié par : Function Scheduler_rec (d : diagram circuit) (E : Environment) {wf (gt_env d) E} : Environment := if (le_dec_env d (Forward E d ) E) then E else Scheduler_rec d (Forward E d ). IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

30 Vérification formelle d un module du générateur de code : Ordonnanceur Preuves de correction de l ordonnanceur Preuves de correction de l ordonnanceur Terminaison de l ordonnanceur (Récursion bien fondée) L ordonnanceur ne tourne pas indéfiniment Theorem gt_env_wf : forall (d: diagram circuit), well_founded (gt_env (size d)) Monotonie de la fonction Forward S assurer que tout appel récursif génère un nouveau rang Theorem Forward_mono : forall (E E : Environment) (d: diagram circuit), le_env d E E -> le_env d (Forward E d ) (Forward E d ). Propriété de correction : B1 B2 rank B 2 = n, n rank B 1 = n, n, n < n IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

31 Plan Conclusion & Perspectives 1 Introduction Objectifs Vérification formelle : État de l art 2 Approche choisie pour le développement du générateur de code certifié Principes de l approche Introduction à Coq Spécification du langage d entrée du générateur de code en Coq Exemple de circuit en Coq 3 Vérification formelle d un module du générateur de code : Ordonnanceur Démonstration de l ordonnanceur Algorithme de l ordonnanceur Preuves de correction de l ordonnanceur 4 Conclusion & Perspectives IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

32 Conclusion & Perspectives Conclusion Un ordonnanceur prouvé a été mis en oeuvre en utilisant l algorithme treesort de la bibliothèque Heap dans Coq La preuve globale de l ordonnanceur requiert des théorèmes intermédiaires : 40 lemmes auxiliaires prouvés en Coq Un code Caml correct a été extrait du programme source L ordonnanceur a été appliqué à des modèles industriels réels IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

33 Conclusion & Perspectives Perspectives En cours : Obtenir un ordre effectif correct par composition d ordres (position graphique, priorité...) Reste à faire... Extension de l ordonnanceur : Blocs FunctionCall Circuit avec StateCharts Développement et vérification des autres modules du générateur de code IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

34 Conclusion & Perspectives Questions? IRIT-University of Toulouse-Continental (ACADIE) Vérification Formelle de Générateur de Code FAC / 29

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Journées GDR GPL Transformations de modèles et de programmes 18 janvier 2008

Plus en détail

ACADiE : Assistance à la Certification d Applications Distribuées et Embarquées

ACADiE : Assistance à la Certification d Applications Distribuées et Embarquées ACADiE : Assistance à la Certification d Applications Distribuées et Embarquées Permanents (11) Doctorants (10) Permanents Doctorants Jean-Paul Bodeveix Julien Brunel Xavier Crégut Benoît Combemale Mamoun

Plus en détail

Analyse de programmes par interprétation abstraite

Analyse de programmes par interprétation abstraite Analyse de programmes par interprétation abstraite Marc PEGON marc.pegon@ensimag.imag.fr Ensimag - Grenoble INP Encadrants David MONNIAUX Matthieu MOY 1 / 21 Analyse statique : obtenir automatiquement

Plus en détail

Importation de preuves HOL-Light en Coq

Importation de preuves HOL-Light en Coq Importation de preuves HOL-Light en Coq Stage de M2 Chantal Keller chantal.keller@ens-lyon.fr Sous la direction de Benjamin Werner 7 septembre 2009 Importation de preuves HOL-Light en Coq 1 / 33 Idée HOL

Plus en détail

Vérification formelle de la plate-forme Java Card

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

Plus en détail

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

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

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

Plus en détail

ACI Sécurité ALIDECS:

ACI Sécurité ALIDECS: ACI Sécurité ALIDECS: Langages et Atelier Integrés pour le Développement de Composants Embarqués Sûrs Réunion de démarrage LIP6, 21 et 22 octobre 2004 Marc Pouzet 1 Page web http://www-verimag.imag.fr/synchrone/alidecs/

Plus en détail

Vérification formelle d un modèle mémoire pour le langage C

Vérification formelle d un modèle mémoire pour le langage C Vérification formelle d un modèle mémoire pour le langage C Projet ANR ARA SSIA CompCert (http://compcert.inria.fr) Sandrine Blazy, Xavier Leroy CEDRIC-ENSIIE et INRIA Rocquencourt CEA-LIST, 18 mars 2008

Plus en détail

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Auto-évaluation Introduction à la programmation

Auto-évaluation Introduction à la programmation Auto-évaluation Introduction à la programmation Document: f0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION INTRODUCTION

Plus en détail

Rapprocher les méthodes formelles, l analyse statique et les tests. 29 mai 2013

Rapprocher les méthodes formelles, l analyse statique et les tests. 29 mai 2013 Rapprocher les méthodes formelles, l analyse statique et les tests 29 mai 2013 Présentation du projet Déroulement du projet Réalisations Démonstrations Perspectives Présentation du projet Déroulement du

Plus en détail

Développement prouvé de composants formels pour un générateur de code embarqué critique pré-qualifié

Développement prouvé de composants formels pour un générateur de code embarqué critique pré-qualifié Institut National Polytechnique de Toulouse (INP Toulouse) Sûreté Logiciel et Calcul Haute Performance Nassima IZERROUKEN mercredi 6 juillet 2011 Développement prouvé de composants formels pour un générateur

Plus en détail

Comment gagner confiance en C?

Comment gagner confiance en C? CHRONIQUE DOI:10.3166/TSI.26.1195-1200 c 2007 Lavoisier, Paris Comment gagner confiance en C? Le langage C est très utilisé dans l industrie, en particulier pour développer du logiciel embarqué. Un des

Plus en détail

Collaboration d outils de preuve interactifs et automatiques

Collaboration d outils de preuve interactifs et automatiques Collaboration d outils de preuve interactifs et automatiques Stage de Master 2 Équipe Démons, LRI Université Paris Sud responsable : Jean-Christophe Filliâtre 8 septembre 2005 Motivation Traduction Utilisation

Plus en détail

Scicos et Modelica. Ramine Nikoukhah

Scicos et Modelica. Ramine Nikoukhah Scicos et Modelica Ramine Nikoukhah 1 C est quoi Scicos? Editeur, simulateur et générateur du code pour les systèmes dynamiques hybrides Objectif : Utilisations industrielles mais aussi l enseignement

Plus en détail

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

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

Plus en détail

LI5a : Développement de programmes (A. Slissenko)

LI5a : Développement de programmes (A. Slissenko) 1 Licence 3 Info LI5a : Développement de programmes (A. Slissenko) Corrigé 1. (1a). Expliquez brièvement à quoi sert la spécification des requis, comment elle peut être décrite et comment elle peut être

Plus en détail

Sémantique des Langages de Programmation

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

Plus en détail

nulles dans un langage à objets

nulles dans un langage à objets Prévention de déréférencement de références nulles dans un langage à objets Jean-Sébastien Gélinas, Étienne M. Gagnon, Jean Privat Université du Québec à Montréal Langages et Modèles à Objets Nancy 27

Plus en détail

Correction de programmes : Logique de Hoare

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

Plus en détail

Typage et Analyse Statique

Typage et Analyse Statique Typage et Analyse Statique Cours 1 Emmanuel Chailloux Spécialité Science et Technologie du Logiciel Master mention Informatique Université Pierre et Marie Curie année 2015-2016 Cours 1 - Typage et Analyse

Plus en détail

Modélisation et Vérification des Réseaux de Régulations entre Gènes

Modélisation et Vérification des Réseaux de Régulations entre Gènes Modélisation et Vérification des Réseaux de Régulations entre Gènes Loïc Paulevé JDOC 2010-29 avril 2010 Directeur : Co-encadrant : Olivier Roux Morgan Magnin Laboratoire : IRCCyN, UMR CNRS 6597 Équipe

Plus en détail

Algorithmique - Programmation 1. Cours 10

Algorithmique - Programmation 1. Cours 10 Algorithmique - Programmation 1 Cours 10 Université Henri Poincaré CESS Epinal Automne 2008 1/ 25 Plan Caml fonctionnel vs impératif Caml fonctionnel vs impératif Le type unit Données mutables Les structures

Plus en détail

Notes de cours. Cours introductif sur la théorie des domaines. Modèles des langages de programmation Master Parisien de Recherche en Informatique

Notes de cours. Cours introductif sur la théorie des domaines. Modèles des langages de programmation Master Parisien de Recherche en Informatique Notes de cours Cours introductif sur la théorie des domaines Paul-André Melliès Modèles des langages de programmation Master Parisien de Recherche en Informatique 1 Ensembles ordonnés Definition 1.1 (ensemble

Plus en détail

APRON: Analyse de PRogrammes Numérique

APRON: Analyse de PRogrammes Numérique Introduction APRON: Analyse de PRogrammes Numérique Projet 2004 François Irigoin École des Mines de Paris - Centre de Recherche en Informatique 17 novembre 2004 Introduction Pourquoi? Analyse statique

Plus en détail

Systèmes temps réel Concepts de base. Richard Grisel Professeur des Universités Université de Rouen

Systèmes temps réel Concepts de base. Richard Grisel Professeur des Universités Université de Rouen Systèmes temps réel Concepts de base Richard Grisel Professeur des Universités Université de Rouen 1 Systèmes temps réel - Choix Gestion des ressources Ordonnancement ( Scheduling ), Tolérance aux fautes

Plus en détail

Comment compiler un programme MATLAB

Comment compiler un programme MATLAB Comment compiler un programme MATLAB 1- Introduction Le compilateur MATLAB génère un code source C à partir d une fonction MATLAB. Le code C généré par le compilateur MATLAB peut être: soit un code source

Plus en détail

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS Avec l appui de l INRIA www-rocq.inria.fr/syndex 1 PLAN I. Présentation du sujet II. Présentation

Plus en détail

Sécurité des logiciels et analyse statique

Sécurité des logiciels et analyse statique Sécurité des logiciels et analyse statique David Pichardie Projet Lande, INRIA Rennes - Bretagne Atlantique Introduction générale à l analyse statique Analyse de programme Objet : déduire mécaniquement

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23 Table des Figures 7 Introduction Générale 9 1. Outils et plate-formes de construction d application 9 2. Intégration de paradigmes de conception dans le cycle de vie 10 2.1. Equilibrage de charge et équilibrage

Plus en détail

Preuve de programmes probabilistes en Coq

Preuve de programmes probabilistes en Coq Preuve de programmes probabilistes en Coq Pierre Clairambault 18 avril 2005 Résumé Le thème de ce stage était le développement d outils nécessaires à la preuve de propriétés de programmes probabilistes

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

Plus en détail

Plan. 1 Invariants, pré et post conditions. 2 Des formules logiques pour exprimer des propriétés

Plan. 1 Invariants, pré et post conditions. 2 Des formules logiques pour exprimer des propriétés Initiation au Génie Logiciel Cours 6 Propriétés logiques et programmation par contrats T. Genet (genet@irisa.fr) (ISTIC/IRISA) GEN-6 1/ 22 T. Genet (genet@irisa.fr) (ISTIC/IRISA) GEN-6 2/ 22 Invariants,

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

Algorithmique et Programmation 2 LMI 1 Semestre 2 Cours 2 La séquence et l alternative

Algorithmique et Programmation 2 LMI 1 Semestre 2 Cours 2 La séquence et l alternative Algorithmique et Programmation 2 LMI 1 Semestre 2 Cours 2 La séquence et l alternative 2 janvier 2009 1 Les structures de contrôle En Scheme, le programmation se fait par composition de fonctions, et même

Plus en détail

Analyse statique de SCADE par interprétation abstraite

Analyse statique de SCADE par interprétation abstraite Analyse statique de SCADE par interprétation abstraite soutenance de stage Alex AUVOLAT ANSYS-Esterel Technologies sous l encadrement de Jean-Louis Colaço Juin-Juillet 2014 1/33 Introduction SCADE : programmation

Plus en détail

BASES DE DONNÉES AVANCÉES

BASES DE DONNÉES AVANCÉES L3 Informatique Option : ISIL BASES DE DONNÉES AVANCÉES RAMDANI MED U-BOUIRA M. R A M D A N I @ U N I V - B O U I R A. D Z P E R S O. L I V E H O S T. F R Cours 5 : Evaluation et optimisation des requêtes

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

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

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

Plus en détail

Détection de la terminaison distribuée

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

Plus en détail

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

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

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

SDL: 20 ans de programmation basée modèle

SDL: 20 ans de programmation basée modèle SDL: 20 ans de programmation basée modèle Emmanuel Gaudin emmanuel.gaudin @ pragmadev.com Principes MDE, MDA et MDD: Approche orienté modèle PIM: Platform Independant Model PDM: Platform Definition Model

Plus en détail

Analyse statique de programmes et interprétation abstraite. Olivier Bouissou

Analyse statique de programmes et interprétation abstraite. Olivier Bouissou Analyse statique de programmes et interprétation abstraite Olivier Bouissou Organisation du cours. Intervenants : cours et TP assurés par Olivier Bouissou (olivier.bouissou@cea.fr) - CEA LIST. Déroulement

Plus en détail

FOCAL. Un atelier de construction modulaire de logiciels Tentant de répondre aux besoins de la Sûreté de Fonctionnement et de la Sécurité

FOCAL. Un atelier de construction modulaire de logiciels Tentant de répondre aux besoins de la Sûreté de Fonctionnement et de la Sécurité FOCAL Un atelier de construction modulaire de logiciels Tentant de répondre aux besoins de la Sûreté de Fonctionnement et de la Sécurité 1 Groupe FOCAL M. Jaume, T. Hardin, R. Rioboo - SPI, LIP6 D. Delahaye,

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

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

Plus en détail

Construction formelle de logiciels

Construction formelle de logiciels Construction formelle de logiciels La méthode B J. Christian Attiogbé Novembre 2008, maj 11/2009, 10/2010 J. Christian Attiogbé (Novembre 2008, maj 11/2009, Construction 10/2010) formelle de logiciels

Plus en détail

La Certification de la Sécurité des Automatismes de METEOR

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

Une formalisation fonctionnelle des communications sur la puce

Une formalisation fonctionnelle des communications sur la puce Une formalisation fonctionnelle des communications sur la puce Julien Schmaltz Thèse dirigée par Dominique Borrione Laboratoire TIMA - Équipe VDS c 2006 Julien Schmaltz p.1/72 Le réseau ferré Réseau composé

Plus en détail

FSAB1402: Informatique 2. Algorithmes sur les Listes. Peter Van Roy. Département d Ingénierie Informatique, UCL. P. Van Roy, FSAB1402 1.

FSAB1402: Informatique 2. Algorithmes sur les Listes. Peter Van Roy. Département d Ingénierie Informatique, UCL. P. Van Roy, FSAB1402 1. FSAB1402: Informatique 2 Algorithmes sur les Listes Peter Van Roy Département d Ingénierie Informatique, UCL pvr@info.ucl.ac.be P. Van Roy, FSAB1402 1 Annonces P. Van Roy, FSAB1402 2 1 L interro Pour les

Plus en détail

Ingénerie du logiciel orienté objet. Les cas d utilisation

Ingénerie du logiciel orienté objet. Les cas d utilisation Ingénerie du logiciel orienté objet Répétition : Les cas d utilisation Cours d Ingénierie du Logiciel Orienté-Objet Examen écrit du mercredi 5 juin 2005 Livres fermés. Durée : 3 heures /2. Veuillez répondre

Plus en détail

Introduction Moteur de workflows Conclusions. École normale supérieure de Lyon. 11 mai 2006. Ordonnancement de workflows dans DIET

Introduction Moteur de workflows Conclusions. École normale supérieure de Lyon. 11 mai 2006. Ordonnancement de workflows dans DIET École normale supérieure de Lyon Groupe de travail GRAAL 11 mai 2006 Plan Introduction 1 Introduction Les Workflows Présentation de DIET Motivations et objectifs 2 3 Plan Introduction Les Workflows Présentation

Plus en détail

Python et la Programmation fonctionnelle. Programmation fonctionnelle 3. Programmation fonctionnelle pure 4. Matthieu Amiguet

Python et la Programmation fonctionnelle. Programmation fonctionnelle 3. Programmation fonctionnelle pure 4. Matthieu Amiguet Python et la Programmation fonctionnelle Matthieu Amiguet 2009 2010 1 Programmation fonctionnelle? 2 3 Lambda expressions 4 5 Programmation fonctionnelle? Programmation fonctionnelle 3 L expression programmation

Plus en détail

Initiation au logiciel LABVIEW Rappel et mise en œuvre des structures algorithmiques élémentaires

Initiation au logiciel LABVIEW Rappel et mise en œuvre des structures algorithmiques élémentaires 0 Objectif du TP1: Initiation au logiciel LABVIEW Rappel et mise en œuvre des structures algorithmiques élémentaires Sommaire : Partie1 : Le logiciel LABVIEW : pour quoi faire? Partie 2 : Organisation

Plus en détail

Méthodes de test. Mihaela Sighireanu

Méthodes de test. Mihaela Sighireanu UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/methtest/ Partie I 1 Propriétés 2 Un peu de génie logiciel de test 3 Eléments Problèmes Point

Plus en détail

THÈSE. présentée à. l Université Paris 7 Denis Diderot École doctorale Sciences Mathématiques de Paris Centre. pour obtenir le titre de

THÈSE. présentée à. l Université Paris 7 Denis Diderot École doctorale Sciences Mathématiques de Paris Centre. pour obtenir le titre de THÈSE présentée à l Université Paris 7 Denis Diderot École doctorale Sciences Mathématiques de Paris Centre pour obtenir le titre de Docteur en Informatique Auteur Zaynah Dargaye Vérification formelle

Plus en détail

Développement de logiciels par objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Développement de logiciels par objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I 1 Développement de logiciels par objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 842

Plus en détail

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

Plus en détail

Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de

Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre

Plus en détail

Analyse Statique de Programmes

Analyse Statique de Programmes Analyse statique et application. Typage. Analyse de flots de données. Exemples de transformations simples de programmes au niveau source. Prépa Agreg de Maths, option Info - ENS Cachan-Bretagne Thomas

Plus en détail

CH.1 INTRODUCTION. Traduction ch1 1

CH.1 INTRODUCTION. Traduction ch1 1 CH.1 INTRODUCTION 1.1 Les compilateurs 1.2 L'analyse de la source 1.3 Les phases d'un compilateur 1.4 Les cousins du compilateur 1.5 Le regroupement des phases 1.6 Les outils logiciels de compilation Traduction

Plus en détail

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position Plan du cours : Le problème : naviguer efficacement une structure de données Ce qui ne marche pas Ce qui marche : les de Huet Exemples Comment dériver des pour tout type de données Pour en savoir plus

Plus en détail

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

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

Plus en détail

SLPC 0809 : Devoir de maison. Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions

SLPC 0809 : Devoir de maison. Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions SLPC 0809 : Devoir de maison Exercice I : Sémantique opérationnelle : extension du langage while avec des exceptions On considère dans cet exercice la liaison dynamique pour les variables. Introduction

Plus en détail

Évaluation et implémentation des langages

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

Plus en détail

1 de 1. Algorithmique. Récursivité. Florent Hivert. Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert

1 de 1. Algorithmique. Récursivité. Florent Hivert. Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 1 de 1 Algorithmique Récursivité Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 1 Récursivité et Récurrence Deux notions très proche : mathématiques : récurrence

Plus en détail

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

Plus en détail

Supervision des réseaux et services pair à pair

Supervision des réseaux et services pair à pair Supervision des réseaux et services pair à pair Présentation des travaux de Thèse Guillaume Doyen LORIA - Université Henri Poincaré pour l obtention du Doctorat en Informatique de l université Henri Poincaré

Plus en détail

Métamodèle Ingénierie Système. Pour S-Miner 6.0 +

Métamodèle Ingénierie Système. Pour S-Miner 6.0 + Métamodèle Ingénierie Système Pour S-Miner 6.0 + 1 Introduction Le métamodèle «Ingénierie Système» (IS) est un métamodèle destiné à S-Miner 6.0+ permettant de produire un environnement intégré destiné

Plus en détail

Licence en Informatique à Horraire Décalé. Cours Gestion de projet informatique Première partie

Licence en Informatique à Horraire Décalé. Cours Gestion de projet informatique Première partie Licence en Informatique à Horraire Décalé Cours Gestion de projet informatique Première partie 1 PLAN Introduction 1. Les concepts de base en management de projet : 3-33 2 Les processus du management de

Plus en détail

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

Plus en détail

Avec vous, pour vos projets, à chaque instant. Utilisation des réseaux de Pétri avec GRIF

Avec vous, pour vos projets, à chaque instant. Utilisation des réseaux de Pétri avec GRIF Avec vous, pour vos projets, à chaque instant Utilisation des réseaux de Pétri avec GRIF 2010 Projets pour le grand accélérateur de particules GANIL CEA/CNRS Vérification des automatismes de gestion du

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Algorithmique et Analyse d Algorithmes

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

Plus en détail

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Mathématiques, informatique et industrie

Mathématiques, informatique et industrie Mathématiques, informatique et industrie Gérard Berry Directeur Scientifique Professeur au Collège de France Membre Académie des sciences, Académie des technologies, Academia Europaea Gerard.Berry@esterel-technologies.com

Plus en détail

Daisylab.fr POURQUOI

Daisylab.fr POURQUOI POURQUOI POURQUOI La porte du garage s ouvre-t-elle? L ouverture de la porte du garage est une illustration d un principe de base de l automatisme : INFORMATION ( CAPTEUR ) TRAITEMENT INFORMATION ( MICROCONTROLEUR)

Plus en détail

Bertrand Meyer. UConception et programmation orientées objet. T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t

Bertrand Meyer. UConception et programmation orientées objet. T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t UConception et programmation orientées objet Bertrand Meyer T r a d u i t d e l a n g l a i s p a r P i e r r e J o u v e l o t Groupe Eyrolles, 2000, pour le texte de la présente édition en langue française.

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

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

Projet Pratique de INF241 Parcours de Tableaux

Projet Pratique de INF241 Parcours de Tableaux Projet Pratique de INF241 Parcours de Tableaux L objectif de ce projet est de travailler sur les tableaux en langage d assemblage ARM. Vous devez réaliser votre projet en partie lors des séances encadrées

Plus en détail

Industrialisation du logiciel Temps Réel Critique

Industrialisation du logiciel Temps Réel Critique Industrialisation du logiciel Temps Réel Critique Sommaire Projets opérationnels Les outils du marché utilisés et les contraintes associées CS et les méthodes CS et la R&D Conclusion RdV de l'innovation

Plus en détail

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques... Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009

Plus en détail

Analyse de programme

Analyse de programme Analyse de programme À quoi ça sert? Comment ça marche? Bertrand Jeannet et Alain Girault INRIA Rhône-Alpes 25 janvier 2012 A. Girault et B. Jeannet (INRIA) Analyse de programme 25 janvier 2012 1 / 41

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

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

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 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

AVATAR. Un profil SysML temps réel outillé

AVATAR. Un profil SysML temps réel outillé AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr SysML France, 6 décembre 2010 Agenda De TURTLE à AVATAR Le langage

Plus en détail

Récupération automatique de la

Récupération automatique de la Récupération automatique de la mémoire 1 Plan 1. La gestion du tas. 2. Marquage et balayage. 3. Comptage de références. 4. Récupération par copie. 5. Compléments. 2 Problématique Le code exécutable généré

Plus en détail

Raisonnement symbolique et géométrique pour la robotique mobile

Raisonnement symbolique et géométrique pour la robotique mobile Introduction à la réunion finale Raisonnement symbolique et géométrique pour la robotique mobile J. Guitton, J.L. Farges Control Architectures of Robots - Bourges - 30 mai 2008 1 Plan Introduction Vers

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail