Spécification et Implémentation des Langages à Objets

Documents pareils
Classes et Objets en Ocaml.

Mémoire de stage de Master 2

Traduction des Langages : Le Compilateur Micro Java

Chapitre VI- La validation de la composition.

Cours de Programmation 2

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

Vérification formelle de la plate-forme Java Card

Machines virtuelles Cours 1 : Introduction

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

Entraînement au concours ACM-ICPC

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

Mesure et modélisation de l énergie logicielle

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

Bases Java - Eclipse / Netbeans

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

4.2 Unités d enseignement du M1

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

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

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

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

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

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

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

Programmation Objet Java Correction

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

TP1 : Initiation à Java et Eclipse

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

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

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

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

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

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

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

Remote Method Invocation en Java (RMI)

Analyse,, Conception des Systèmes Informatiques

La carte à puce. Jean-Philippe Babau

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Machines Virtuelles. et bazard autour. Rémi Forax

Cours de Master Recherche

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

Master Informatique Aix-Marseille Université

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

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

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

as Architecture des Systèmes d Information

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

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

OpenPaaS Le réseau social d'entreprise

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

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

Projet Active Object

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

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

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

Parcours en deuxième année

La virtualisation, si simple!

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

ALGORITHMIQUE ET PROGRAMMATION En C

Cours 1 : La compilation

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

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

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

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

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

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

DES METIERS POUR DEMAIN

F. Barthélemy. 17 mai 2005

Laboratoire 4 Développement d un système intelligent

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

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

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

Conception des systèmes répartis

RTDS G3. Emmanuel Gaudin

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

RMI le langage Java XII-1 JMF

INITIATION AU LANGAGE JAVA

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

CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

Représentation d un entier en base b

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

Chapitre 2 : Abstraction et Virtualisation

Java et les bases de données

OPEN DATA : CHALLENGES ET PERSPECTIVES D ENTREPOSAGE

Programmation en Java IUT GEII (MC-II1) 1

4 Exemples de problèmes MapReduce incrémentaux

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

Programmer en JAVA. par Tama

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

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

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

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

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

UE 8 Systèmes d information de gestion Le programme

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

Évaluation et implémentation des langages

Transcription:

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 2006 1 / 34

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 2006 2 / 34

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 2006 3 / 34

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 2006 4 / 34

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 2006 4 / 34

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

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 2006 6 / 34

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

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

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

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 2006 9 / 34

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

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 2006 11 / 34

Troisième Millénaire Vingt ans après ( c A. Dumas) 2001-2006 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 2006 12 / 34

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

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 2006 14 / 34

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 2006 15 / 34

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 2006 15 / 34

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 2006 15 / 34

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

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 2006 17 / 34

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 2006 17 / 34

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 2006 17 / 34

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 2006 17 / 34

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 2006 18 / 34

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 2006 19 / 34

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 2006 19 / 34

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 2006 19 / 34

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 2006 20 / 34

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 2006 20 / 34

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 2006 20 / 34

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 2006 20 / 34

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 2006 21 / 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 2006 22 / 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 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 2006 22 / 34

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 2006 23 / 34

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 2006 24 / 34

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 2006 24 / 34

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 2006 24 / 34

Benchmarks Troisième Millénaire Le langage PRM Size of the Exec. (kb) 120 100 80 60 40 20 0 g++ SmartEiffel prmc w/ btd prmc w/ vft 0 10 20 30 40 50 60 70 Number of Classes Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre 2006 25 / 34

Benchmarks Troisième Millénaire Le langage PRM Time (s) 14 12 10 8 6 4 2 0 g++ SmartEiffel prmc w/ btd prmc w/ vft 0 10 20 30 40 50 60 70 Size of the Concrete Type of the Reicever Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre 2006 26 / 34

Benchmarks Troisième Millénaire Le langage PRM Time (s) 35 30 25 20 15 10 5 0 g++ SmartEiffel prmc 0 10 20 30 40 50 60 70 Size of the Concrete Type of the Casted Expression Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre 2006 27 / 34

Benchmarks Troisième Millénaire Le langage PRM Time (s) 10 9 8 7 6 5 4 3 2 1 0 g++ SmartEiffel prmc 0 10 20 30 40 50 60 70 Size of the Concrete Type of Receiver Roland Ducournau (lirmm/info/doc) Implémentation des Langages Objets 16 novembre 2006 28 / 34

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 2006 29 / 34

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 2006 29 / 34

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 2006 30 / 34

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 2006 30 / 34

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 2006 31 / 34

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 2006 32 / 34

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 2006 33 / 34

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 2006 34 / 34

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 2006 34 / 34