Certifying an Automated Code Generator Using Formal Tools
|
|
- Pauline Beaudin
- il y a 8 ans
- Total affichages :
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
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étailThéorie de la Programmation
Théorie de la Programmation http://perso.ens-lyon.fr/daniel.hirschkoff/thpr hop Programmation, Théorie de la programmation Langages de programmation I il existe de nombreux langages de programmation I
Plus en détailVé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étail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailLa Certification de la Sécurité des Automatismes de METEOR
1 La Certification de la Sécurité des Automatismes de METEOR 2 un mot sur METEOR 3 Le projet METEOR, c'est... un système automatique complexe fortement intégré matériel roulant, équipements électriques,
Plus en détailRTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com
RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailÉ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étailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailCours 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étailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailThème 3 Conception et vérification d architectures de systèmes sur puce
Thème 3 Conception et vérification d architectures de systèmes sur puce Conception et simulation Frédéric Pétrot Vérification Laurence Pierre Conception et vérification d architectures de systèmes sur
Plus en détailCompilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Plus en détailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailOutils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP
Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Christophe Joubert Séminaire VASY 2002 30 Octobre 2002 Aix les Bains Contexte du projet
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailFormula 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étailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailConditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.
Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide
Plus en détailUne introduction rapide à Coq
Une introduction rapide à Coq Yves Bertot Janvier 2009 1 Démarrer le système Pour utiliser Coq on dispose de trois commandes, une commande qui sert à compiler des fichiers (coqc), une commande qui fournit
Plus en détailOrdonnancement temps réel
Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailLogiciel Libre Cours 2 Fondements: Programmation
Logiciel Libre Cours 2 Fondements: Programmation Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailMaster4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre
DSF-M4L-Rev2.0-04/12 Master4Light Equipement 2-en-1 : source de courant et spectrophotomètre Interface graphique logicielle, connexion USB Configuration personnalisable : laboratoire et in-situ http://www.majantys.com
Plus en détailMachines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
Plus en détailProgrammation. fonctionnelle, impérative, logique et orientée objet
Programmation fonctionnelle, impérative, logique et orientée objet Introduction Les langages de programmation permettent de décrire des calculs de façon plus abstraite qu'un programme machine. Les programmes
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailIntroduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr
Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans
Plus en détailPlan 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//////////////////////////////////////////////////////////////////// Administration bases de données
////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailPrincipes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Plus en détailS10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational
Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014 13 et 14 mai 2014 IBM Client Center Paris, Bois-Colombes S10 - Automatisez la compilation et le
Plus en détailCertification de l assemblage de composants dans le développement de logiciels critiques
Certification de l assemblage de composants dans le développement de logiciels critiques Philippe Baufreton 1, Emmanuel Chailloux 2, Jean-Louis Dufour 1, Grégoire Henry 3, Pascal Manoury 3, Etienne Millon
Plus en détailUtilisation des tableaux sémantiques dans les logiques de description
Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca
Plus en détailPrincipes des langages de programmation INF 321. Eric Goubault
Principes des langages de programmation INF 321 Eric Goubault 24 mars 2014 2 Table des matières 1 Introduction 7 2 Programmation impérative 11 2.1 Variables et types........................... 11 2.2 Codage
Plus en détailLes diagrammes de modélisation
L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse
Plus en détailFTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières
FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE Table des matières Principes de FTPS... 2 Généralités... 2 FTPS en mode implicite... 2 FTPS en mode explicite... 3 Certificats SSL / TLS... 3 Atelier de tests
Plus en détailCalculabilité 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étailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailCurriculum Vitae 1 er février 2008
Curriculum Vitae 1 er février 2008 Informations générales Cédric MEUTER Nationalité belge Né à La Louvière, le 16 novembre 1979 Adresse personnelle : Adresse professionnelle : Ave Général Bernheim, 57
Plus en détailMEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE
République Tunisienne Ministère de l Enseignement Supérieur, De la Recherche Scientifique et de la Technologie Université de Sfax École Nationale d Ingénieurs de Sfax Ecole Doctorale Sciences et Technologies
Plus en détailAssurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007
1 Cours de génie logiciel (d'après A.-M. Hugues) Assurance Qualité Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 23/04/2007 2 Les deux facettes de la qualité Conformité avec la définition
Plus en détailUne bibliothèque de templates pour CUDA
Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailProcédure d installation d AMESim 4.3.0
Procédure d installation d AMESim 4.3.0 B2i Automotive Yahia BOUZID 18/07/2006 SOMMAIRE SOMMAIRE... 2 LISTE DES FIGURES... 3 HISTORIQUE DES MODIFICATIONS... 4 1. INTRODUCTION... 5 1.1. OBJET DU DOCUMENT...
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailSélection du contrôleur
Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du
Plus en détailArgument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
Plus en détailRéalisabilité et extraction de programmes
Mercredi 9 mars 2005 Extraction de programme: qu'est-ce que c'est? Extraire à partir d'une preuve un entier x N tel que A(x). π x N A(x) (un témoin) (En fait, on n'extrait pas un entier, mais un programme
Plus en détailCNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.
CNAM - CRA Nancy 2000/2001 Génie Logiciel Jacques Lonchamp DEUXIEME PARTIE Les techniques de spécification. 1. Introduction Tout produit complexe à construire doit être spécifié ; par exemple un pont de
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailResolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Plus en détailLe développement d'applications informatiques
Le développement d'applications informatiques Des bibliothèques de fonctions aux "design patterns" Copyright 2011-2015 Yves Marcoux 1 Sources bibliographiques Ramon, Jorge. "Preface". Ext JS 3.0 Cookbook:
Plus en détailUne 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étailMachines virtuelles fonctionnelles (suite) Compilation ML Java
Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles
Plus en détailCHAPITRE 9. Codes source. 9.1 Insertion brute
CHAPITRE 9 s source Dans ce chapitre, on va voir comment faire pour insérer du texte brut dans un document. On utilise notamment cela pour insérer des codes source, des sorties de programme, ou toute autre
Plus en détailSuivant 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étailSSTIC 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étailObject Constraint Language (OCL)
Object Constraint Language (OCL) Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr 1 Plan 1. Pourquoi OCL? Introduction par l'exemple
Plus en détailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Plus en détailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailSpécification et certification d implantation chaînée avec des orbites : les hypercartes combinatoires
Spécification et certification d implantation chaînée avec des orbites : les hypercartes combinatoires Jean-François Dufourd ICUBE, Université de Strasbourg - CNRS, France Journée GDR-LTP 2013, Bordeaux,
Plus en détailVérification formelle de la plate-forme Java Card
UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS École Doctorale STIC UFR Sciences THÈSE pour obtenir le titre de Docteur en Sciences de l Université de Nice - Sophia Antipolis Spécialité : Informatique présentée
Plus en détaillength : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2
1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle
Plus en détailCours A7 : Temps Réel
Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailProposition de sujet de thèse CIFRE EUROCOPTER / LGI2P
EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine
Plus en détailI Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...
TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................
Plus en détailFICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique
NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non
Plus en détailM2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013
Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :
Plus en détailDevoir Surveillé de Sécurité des Réseaux
Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La
Plus en détailProblématiques de recherche. Figure Research Agenda for service-oriented computing
Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements
Plus en détailGestion de Projet pour Microsoft Dynamics AX Solution pour les Sociétés de Services et d Ingénierie
Gestion de Projet pour Microsoft Dynamics AX Solution pour les Sociétés de Services et d Ingénierie Positionnement et Ciblage Métiers Fort de son expérience sur Microsoft Dynamics AX et particulièrement
Plus en détailIntroduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Plus en détailM06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS
IB INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1 DIPLOMA PROGRAMME PROGRAMME DU DIPLÔME DU BI PROGRAMA DEL DIPLOMA DEL BI M06/5/COMSC/SP1/FRE/TZ0/XX 22067017 Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailGénération de code binaire pour application multimedia : une approche au vol
Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation
Plus en détailVérification et Validation
Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailIntroduction au temps réel
Introduction au temps réel Laurent.Pautet@enst.fr Version 2.0 Définition d un système temps réel Un système temps réel se compose d'un ou plusieurs sous-systèmes devant répondre en un temps fini et spécifié
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailDispositif sur budget fédéral
w w w. c n f e t p. c o m R é f o r m e B T S S I O Services Informatiques aux Organisations Dispositif sur budget fédéral 31 rue des Naudières 44400 REZE Tél. 02 40 32 88 00 Fax 02 40 84 12 95 contact@cnfetp-nantes.com
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailDécisionnel. SI Virtualisé. Performant. Cloud. SAP BusinessObjects. Dashboards. Expertise. Succès. Service Reporting. Finance. SaaS. Web 2.0.
Performant Expertise SAP BusinessObjects BI Finance SaaS Formation Cloud Dashboards Web 2.0 Service Reporting Audit Diffusion Internet SI Virtualisé CATALOGUE FORMATION Succès Optimisation Ad-hoc Conseil
Plus en détailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailGénération de code à partir d une spécification B : Application aux bases de données
Génération de code à partir d une spécification B : Application aux bases de données Amel Mammar * Régine Laleau ** Université du Luxembourg, LACL, Université Paris 12 SE2C, 6 rue Richard Courdenhove-Kalergi
Plus en détailDESCRIPTION DU CONCOURS QUÉBÉCOIS 2014 39 INFORMATIQUE (GESTION DE RÉSEAUX)
DESCRIPTION DU CONCOURS QUÉBÉCOIS 2014 39 INFORMATIQUE (GESTION DE RÉSEAUX) 1. DESCRIPTION DU CONCOURS 1.1. But de l épreuve La compétition permet aux étudiants 1 de mettre à l épreuve leurs connaissances
Plus en détailTutoriel LabVIEW Des fonctions simples à l acquisition de données
UFR Sciences et Technologies Tutoriel LabVIEW Des fonctions simples à l acquisition de données J. BRUNET Initiation à l environnement LabVIEW 1 Considérations générales sur LabVIEW Qu est-ce que LabVIEW?
Plus en détailINF 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étailProblèmes liés à la concurrence
ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailModel checking temporisé
Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier
Plus en détailSécurité GNU/Linux. Iptables : passerelle
Sécurité GNU/Linux Iptables : passerelle By sharevb Sommaire I.Rappels...1 a)les différents types de filtrages : les tables...1 b)fonctionnement de base : les chaînes et les règles...1 II.La table nat
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur
Plus en détail