Spécification et Implémentation des Langages à Objets

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

Download "Spécification et Implémentation des Langages à Objets"

Transcription

1 Spécification et Implémentation des Langages à Objets Roland Ducournau LIRMM / INFO / DOC CNRS Université Montpellier II Journée LIRMM/INFO Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

2 Plan Plan 1 Contexte et Motivation 2 Deuxième Millénaire 3 Troisième Millénaire Problématique de l implémentation des objets Etude de quelques techniques particulières Schéma de compilation séparée avec optimisations globales Le langage PRM Perspectives sur le millénaire Bilan 4 Quatrième millénaire Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

3 Plan Contexte et Motivation 1 Contexte et Motivation 2 Deuxième Millénaire 3 Troisième Millénaire Problématique de l implémentation des objets Etude de quelques techniques particulières Schéma de compilation séparée avec optimisations globales Le langage PRM Perspectives sur le millénaire Bilan 4 Quatrième millénaire Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

4 Motivation Contexte et Motivation La plus grande réussite du dernier millénaire? Les objets (programmation, modélisation, etc.) Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

5 Motivation Contexte et Motivation La plus grande réussite du dernier millénaire? Les objets (programmation, modélisation, etc.) Le plus grand échec du dernier millénaire? C++! Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

6 Contexte et Motivation TRENTE Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

7 Plan Deuxième Millénaire 1 Contexte et Motivation 2 Deuxième Millénaire 3 Troisième Millénaire Problématique de l implémentation des objets Etude de quelques techniques particulières Schéma de compilation séparée avec optimisations globales Le langage PRM Perspectives sur le millénaire Bilan 4 Quatrième millénaire Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

8 Deuxième Millénaire Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

9 Deuxième Millénaire Les trois mousquetaires ( c A. Dumas) Michel Habib Marianne Huchard Marie-Laure Mugnier Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

10 Deuxième Millénaire Les trois mousquetaires ( c A. Dumas) Michel Habib Marianne Huchard Marie-Laure Mugnier Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

11 Deuxième Millénaire Spécification et implémentation... Héritage multiple Formalisation des techniques de linéarisation Utilisées par Clos, Dylan, Python, C++,... YAFOOL le plus beau langage objet du monde passé dans les poubelles de l histoire Contexte de typage dynamique LISP, CLOS, YAFOOL,... Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

12 Deuxième Millénaire avec Joël Quinqueton (le barde) Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

13 Plan Troisième Millénaire 1 Contexte et Motivation 2 Deuxième Millénaire 3 Troisième Millénaire Problématique de l implémentation des objets Etude de quelques techniques particulières Schéma de compilation séparée avec optimisations globales Le langage PRM Perspectives sur le millénaire Bilan 4 Quatrième millénaire Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

14 Troisième Millénaire Vingt ans après ( c A. Dumas) Jean Privat (soutenance en juillet 2006, post-doc Purdue U.) Floréal Morandat (thèse commencée en septembre 2006) stagiaires de DEA/M2R (JP, P. Takhedmit, N. Desnos, FM,...) étudiants (IUP2, maîtrise/m1) Implémentation efficace de l héritage multiple étude de techniques particulières simulation sur gros benchmarks schéma de compilation global/séparé spécification du langage Prm compilateur Prm autogène Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

15 Troisième Millénaire Passage au typage statique Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

16 Troisième Millénaire Implémentation des objets Problématique de l implémentation des objets 3 mécanismes originaux envoi de message (ou liaison tardive) le polymorphisme ne permet pas l appel statique accès aux attributs le polymorphisme ne garantit pas la position de l attribut test de sous-typage le typage n est pas si sûr que ça! (vieille spécialité du LIRMM : M. Habib, L. Nourine, E. Thierry, O. Raynaud) Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

17 Troisième Millénaire Problématique de l implémentation des objets Héritage simple, typage statique A A Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

18 Troisième Millénaire Problématique de l implémentation des objets Héritage simple, typage statique A A B A B Problème : héritage multiple impossible Invariants de référence et de position Espace linéaire dans la taille de la relation de spécialisation Implémentation idéale Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

19 Troisième Millénaire Problématique de l implémentation des objets Héritage simple, typage statique A A B A B C A B C Problème : héritage multiple impossible Invariants de référence et de position Espace linéaire dans la taille de la relation de spécialisation Implémentation idéale Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

20 Troisième Millénaire Etude de quelques techniques particulières Alternatives pour l héritage multiple Coloration ( ) idéale mais incompatible avec le chargement dynamique Hachage parfait ( ) parfaitement incrémental mais efficacité moindre Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

21 Coloration A Troisième Millénaire Etude de quelques techniques particulières A B C A B A C D A B C D Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

22 Troisième Millénaire Etude de quelques techniques particulières Coloration A A B C A B A C D A B C D Problème : chargement dynamique impossible La coloration est une optimisation globale Invariants maintenus au prix de quelques trous Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

23 Troisième Millénaire Etude de quelques techniques particulières Coloration A A B C A B A C D A B C D Problème : chargement dynamique impossible La coloration est une optimisation globale Invariants maintenus au prix de quelques trous Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

24 Troisième Millénaire Etude de quelques techniques particulières Coloration A A B C A B A C D A B C D Problème : chargement dynamique impossible La coloration est une optimisation globale Invariants maintenus au prix de quelques trous Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

25 Troisième Millénaire Etude de quelques techniques particulières Coloration Quelques résultats Complexité (P. Takhedmit, Ch. Paul) problème de coloration de graphe, mais pas minimum NP-difficile dans la plupart des cas Heuristiques efficaces Simulation sur les benchmarks précités Schéma d utilisation en compilation séparée Synthèse sur la technique 3 inventeurs indépendants et complémentaires : Dixon 89, Pugh & Weddell 90, Ducournau 91, Vitek 97 Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

26 Hachage Parfait Troisième Millénaire Etude de quelques techniques particulières Sous-typage par table de hachage Soit une classe C et un objet o instance de D : o C id C est trouvé dans la table de o Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

27 Hachage Parfait Troisième Millénaire Etude de quelques techniques particulières Sous-typage par table de hachage Soit une classe C et un objet o instance de D : o C id C est trouvé dans la table de o Particularité Au chargement de la classe D, toutes ses super-classes sont connues. plus besoin d ajout, ni de retrait La table de D peut être optimisée statiquement Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

28 Hachage Parfait Troisième Millénaire Etude de quelques techniques particulières Sous-typage par table de hachage Soit une classe C et un objet o instance de D : o C id C est trouvé dans la table de o Particularité Au chargement de la classe D, toutes ses super-classes sont connues. plus besoin d ajout, ni de retrait La table de D peut être optimisée statiquement Solution : le hachage parfait [Sprugnoli 77] hachage sans collision temps constant, espace à déterminer par l expérience Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

29 Troisième Millénaire Etude de quelques techniques particulières Application à JAVA (1 pierre, 2 coups) table de hachage méthodes attributs de l instance Table bidirectionnelle de la classe C Partie positive pour les classes, comme en héritage simple Partie négative pour les interfaces, avec hachage parfait Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

30 Troisième Millénaire Etude de quelques techniques particulières Application à JAVA (1 pierre, 2 coups) H_C table de hachage méthodes h(d)=hash(id_d,h_c) attributs de l instance Table bidirectionnelle de la classe C Partie positive pour les classes, comme en héritage simple Partie négative pour les interfaces, avec hachage parfait Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

31 Troisième Millénaire Etude de quelques techniques particulières Application à JAVA (1 pierre, 2 coups) H_C id_d? méthodes h(d) h(d)=hash(id_d,h_c) attributs de l instance Table bidirectionnelle de la classe C Test de sous-typage pour interfaces D est une interface : o D? Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

32 Troisième Millénaire Etude de quelques techniques particulières Application à JAVA (1 pierre, 2 coups) H_C id_d? #foo méthodes de D h(d) h(d)=hash(id_d,h_c) attributs de l instance Table bidirectionnelle de la classe C Appel de méthode pour interfaces (invokeinterface) D x ; x.foo(arg) Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

33 Hachage Parfait Troisième Millénaire Etude de quelques techniques particulières Expérimentation avec des fonctions de hachage simples and et modulo complexité faible et algorithmes exacts simples Simulation sur les benchmarks précités Intrinsèquement incrémental Conclusions mitigées trop grande tables avec and la division entière est trop lente! Cherche fonction de hachage... 2 opérations à 1 cycle, garantissant des tables compactes. Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

34 Troisième Millénaire Schéma de compilation séparée avec optimisations globales Compilation séparée et optimisation globale Quadrature du cercle Compilation séparée : génération de code C, compilé séparément Optimisations globales à l édition de liens Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

35 Troisième Millénaire Schéma de compilation séparée avec optimisations globales Compilation séparée et optimisation globale Quadrature du cercle Compilation séparée : génération de code C, compilé séparément Optimisations globales à l édition de liens Optimisations Analyse de types Invocation de méthodes : Coloration pour les appels mégamorphes Arbres de décision binaires pour les appels oligomorphes Appel statique dans les cas monomorphes Elimination du code mort. Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

36 Troisième Millénaire Schéma de Compilation Schéma de compilation séparée avec optimisations globales phase locale Module source A compilation séparée schéma A externe schéma interne A code A analyse inter classes schéma global vivant phase globale phase locale Module source B compilation séparée schéma externe B schéma B interne code B coloration substitution de code édition de liens Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

37 Le langage PRM Troisième Millénaire Le langage PRM Un langage objet normal (donc unique!) statiquement typé avec héritage multiple basé sur un méta-modèle simple. Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

38 Le langage PRM Troisième Millénaire Le langage PRM Un langage objet normal (donc unique!) statiquement typé avec héritage multiple basé sur un méta-modèle simple. Une innovation majeure des modules avec du raffinement de classes Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

39 Le langage PRM Troisième Millénaire Le langage PRM Un langage objet normal (donc unique!) statiquement typé avec héritage multiple basé sur un méta-modèle simple. Une innovation majeure des modules avec du raffinement de classes Un compilateur modulaire, PRMc architecture basée sur les modules et le raffinement de classes Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

40 Benchmarks Troisième Millénaire Le langage PRM Size of the Exec. (kb) g++ SmartEiffel prmc w/ btd prmc w/ vft Number of Classes Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

41 Benchmarks Troisième Millénaire Le langage PRM Time (s) g++ SmartEiffel prmc w/ btd prmc w/ vft Size of the Concrete Type of the Reicever Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

42 Benchmarks Troisième Millénaire Le langage PRM Time (s) g++ SmartEiffel prmc Size of the Concrete Type of the Casted Expression Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

43 Benchmarks Troisième Millénaire Le langage PRM Time (s) g++ SmartEiffel prmc Size of the Concrete Type of Receiver Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

44 Perspectives Troisième Millénaire Perspectives sur le millénaire A court terme : Benchmarks sur PRMc autant de versions du compilateur que de techniques à tester ; autant de versions du compilateur que de versions du compilateur pour le compiler ; le vertige! Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

45 Perspectives Troisième Millénaire Perspectives sur le millénaire A court terme : Benchmarks sur PRMc autant de versions du compilateur que de techniques à tester ; autant de versions du compilateur que de versions du compilateur pour le compiler ; le vertige! A moyen terme : Machine virtuelle PRM la coloration n est pas incrémentale, le raffinement de classes non plus. Enfin un problème intéressant! Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

46 Troisième Millénaire Bilan Ne pas céder aux sirènes de la spécialisation! Besoin d étudiants très polyvalents programmation, de C à YAFOOL et PRM, impérative, fonctionnelle, objet algorithmique pointue analyse syntaxique, compilation, interprétation architecture des machines proba-stats un zest d Aristote et de Spinoza Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

47 Troisième Millénaire Bilan Ne pas céder aux sirènes de la spécialisation! Besoin d étudiants très polyvalents programmation, de C à YAFOOL et PRM, impérative, fonctionnelle, objet algorithmique pointue analyse syntaxique, compilation, interprétation architecture des machines proba-stats un zest d Aristote et de Spinoza Durée de thèse Sur un tel sujet, en partant de rien, 4 ans c est extrêmement court! Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

48 Troisième Millénaire Bilan Publications Difficile et long! 180 pages actuellement soumises : ACM Computing Surveys (soumis 2002, révisé 2005,...) ACM Trans. on Progr. Lang. Syst. (soumis 2005, révisé 2006) 4 refus successifs à ECOOP et OOPSLA! 1 workshop (conférence) ACM PASTE 1 workshop (workshop) à ECOOP 4 LMO (francophone) Commentaires revues : liberté de soumission mais délais et longueurs papier jamais assez autosuffisant ECOOP/OOPSLA : trop de sélection tue Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

49 Plan Quatrième millénaire 1 Contexte et Motivation 2 Deuxième Millénaire 3 Troisième Millénaire Problématique de l implémentation des objets Etude de quelques techniques particulières Schéma de compilation séparée avec optimisations globales Le langage PRM Perspectives sur le millénaire Bilan 4 Quatrième millénaire Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

50 Quatrième millénaire Le vicomte de Bragelonne ( c A. Dumas) Le règne de PRM tout le monde programme en Prm la hot-line sonne sans arrêt l âge de la retraite est repoussé tous les siècles on s ennuie... Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

51 Quatrième millénaire import string import file println("that s all folks") d après A. Dumas, dessins F murr. Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

52 Quatrième millénaire import string import file println("that s all folks") d après A. Dumas, dessins F murr. Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre / 34

Classes et Objets en Ocaml.

Classes 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

Mémoire de stage de Master 2

Mémoire de stage de Master 2 Académie de Montpellier Sciences et Techniques du Languedoc Mémoire de stage de Master 2 effectué au Laboratoire d Informatique de Robotique et de Micro-électronique de Montpellier Spécialité : AIGLE Étude

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

Chapitre VI- La validation de la composition.

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

Cours de Programmation 2

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

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

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

Machines virtuelles Cours 1 : Introduction

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

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Entraînement au concours ACM-ICPC

Entraînement au concours ACM-ICPC Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Mesure et modélisation de l énergie logicielle

Mesure et modélisation de l énergie logicielle Mesure et modélisation de l énergie logicielle Adel Noureddine, Romain Rouvoy, Lionel Seinturier Green Days @ Lille 29 novembre 2013 Plan Contexte! Problèmes et limitations! Mesure énergétique des logiciels

Plus en détail

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Pluquet Frédéric July, 3rd 2012 Etude de techniques efficaces de versionnement d objets pour les langages orientés

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

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

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

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel

Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel Nicolas Berthier Stage de Magistère M encadré par Christophe Rippert et Guillaume Salagnac Laboratoire Vérimag Septembre 007 Résumé

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation Perspectives pour l entreprise Desktop Cloud JC Devos IBM IT Architect jdevos@fr.ibm.com Principe technique Disposer d un poste de travail virtuel accessible par la plupart des terminaux disponibles Ce

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Les Clusters Les Mainframes Les Terminal Services Server La virtualisation De point de vue naturelle, c est le fait de regrouper

Plus en détail

Contributions à l expérimentation sur les systèmes distribués de grande taille

Contributions à l expérimentation sur les systèmes distribués de grande taille Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau Performances PHP Julien Pauli Cyril Pierre de Geyer Guillaume Plessis Préface d Armel Fauveau Groupe Eyrolles, 2012, ISBN : 978-2-212-12800-0 Table des matières Avant-propos... 1 Pourquoi ce livre?.....................................................

Plus en détail

Conception et contrôle des SMA tolérants aux fautes

Conception et contrôle des SMA tolérants aux fautes Conception et contrôle des SMA tolérants aux fautes Une plate-forme multiagents tolérante aux fautes à base de réplication Nora FACI Contexte SMA large échelle Nombre important d agents Ressources éloignées

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

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

Analyse,, Conception des Systèmes Informatiques

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

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

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

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR MASTER SCIENCES, TECHNOLOGIES, SANTE/STAPS MATHEMATIQUES ET SCIENCES POUR L INGENIEUR Informatique www.univ-littoral.fr OBJECTIFS DE LA FORMATION Le master Informatique se compose de deux parcours et se

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

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

Cours de Master Recherche

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

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

Master Informatique Aix-Marseille Université

Master Informatique Aix-Marseille Université Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes

Plus en détail

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets Mengxuan Zhao, Gilles Privat, Orange Labs, Grenoble, France Eric Rutten, INRIA, Grenoble, France Hassane

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

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

MEAD : temps réel et tolérance aux pannes pour CORBA

MEAD : temps réel et tolérance aux pannes pour CORBA MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC)

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC) Pour les entreprises de taille moyenne Descriptif Produit Oracle Real Application Clusters (RAC) POURQUOI VOTRE ENTREPRISE A BESOIN DE CLUSTERISER LES SERVEURS La continuité opérationnelle est cruciale

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Diagrammes de Package, de déploiement et de composants UML

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique WebObjects : des applications dynamiques pour Internet et Intranet Approche technologique Apple Entreprise Software & Services Juin 1998 Sommaire Synthèse 4 WebObjects, des besoins aux solutions 6 Cahier

Plus en détail

Laboratoire d informatique Gaspard-Monge UMR 8049. Journée Labex Bézout- ANSES

Laboratoire d informatique Gaspard-Monge UMR 8049. Journée Labex Bézout- ANSES Laboratoire d informatique Gaspard-Monge UMR 8049 Journée Labex Bézout- ANSES Présentation du laboratoire 150 membres, 71 chercheurs et enseignants-chercheurs, 60 doctorants 4 tutelles : CNRS, École des

Plus en détail

Parcours en deuxième année

Parcours en deuxième année Parcours en deuxième année Unités d Enseignement (UE) ECTS Ingénierie des réseaux haut 4 débit Sécurité des réseaux et 4 télécoms Réseaux mobiles et sans fil 4 Réseaux télécoms et 4 convergence IP Infrastructure

Plus en détail

La virtualisation, si simple!

La virtualisation, si simple! La virtualisation, si simple! par Michel Guy Paiement Les mardi 15 juin 2010 & jeudi 17 juin 2010 Securecom Services Conseils inc. 507, Place D Armes, bureau 1160 Montréal, Québec H2Y 2W8 Tél: 514 544-0442

Plus en détail

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe), Laboratoire

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

Cours 1 : La compilation

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

Plus en détail

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie. INTRODUCTION Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie. Le programme d examens de chaque domaine se divise en deux catégories

Plus en détail

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1 SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de

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

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre

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

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

DES METIERS POUR DEMAIN

DES METIERS POUR DEMAIN DES METIERS POUR DEMAIN Atelier «Offrir une mission globale» Pôle LES MISSIONS DE DEMAIN www.experts comptables.fr/65 DES METIERS POUR DEMAIN SOMMAIRE 1. Service de domiciliation, gestion administrative

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

Plus en détail

Laboratoire 4 Développement d un système intelligent

Laboratoire 4 Développement d un système intelligent DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG770 - SYSTÈMES INTELLIGENTS ÉTÉ 2012 Laboratoire 4 Développement d un système intelligent 1 Introduction Ce quatrième et dernier laboratoire porte sur le développement

Plus en détail

Conception de réseaux de télécommunications : optimisation et expérimentations

Conception de réseaux de télécommunications : optimisation et expérimentations Conception de réseaux de télécommunications : optimisation et expérimentations Jean-François Lalande Directeurs de thèse: Jean-Claude Bermond - Michel Syska Université de Nice-Sophia Antipolis Mascotte,

Plus en détail

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

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

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

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

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

CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON

CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON Version du 3 mai 2007 PREAMBULE ARMINES via le Centre de Morphologie Mathématiques commun à ARMINES et l Ecole des Mines

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

CMS Open Source : état de l'art et méthodologie de choix

CMS Open Source : état de l'art et méthodologie de choix CMS Open Source : état de l'art et méthodologie de choix Définition d'un CMS (wikipedia) Les CMS sont une famille de logiciel de conception et de mise à jour dynamique de sites web partageant les fonctionnalités

Plus en détail

CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

CAHIER DES CHARGES DE REALISATION DE SITE INTERNET CAHIER DES CHARGES DE REALISATION DE SITE INTERNET Nom de l entreprise : Adresse : Tel : Fax : Email : Personne à contacter dans l entreprise : 1 SOMMAIRE 1 PRESENTATION DE L ENTREPRISE...3 2 PRESENTATION

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

OPEN DATA : CHALLENGES ET PERSPECTIVES D ENTREPOSAGE

OPEN DATA : CHALLENGES ET PERSPECTIVES D ENTREPOSAGE OPEN DATA : CHALLENGES ET PERSPECTIVES D ENTREPOSAGE «Journée Open Data» 5 Novembre 2013 Présenté par : Imen Megdiche Directeur de thèse : Pr. Olivier Teste (SIG-IRIT) Co-directeur de thèse : Mr. Alain

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

4 Exemples de problèmes MapReduce incrémentaux

4 Exemples de problèmes MapReduce incrémentaux 4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

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

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 UFR d Informatique FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 Objectif L UFR d informatique propose au niveau du master, deux spécialités sous la mention informatique

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud

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