«Object-Oriented Multi-Methods in Cecil» Craig Chambers (Cours IFT6310, H08)



Similar documents
Langages Orientés Objet Java

Audit de sécurité avec Backtrack 5

Liste d'adresses URL

Introduction ToIP/Asterisk Quelques applications Trixbox/FOP Autres distributions Conclusion. Asterisk et la ToIP. Projet tuteuré

Thursday, February 7, DOM via PHP

NUNAVUT HOUSING CORPORATION - BOARD MEMBER RECRUITMENT

Reconstruction d un modèle géométrique à partir d un maillage 3D issu d un scanner surfacique

TP : Configuration de routeurs CISCO

Introduction au BIM. ESEB Seyssinet-Pariset Economie de la construction contact@eseb.fr

Introduction. GEAL Bibliothèque Java pour écrire des algorithmes évolutionnaires. Objectifs. Simplicité Evolution et coévolution Parallélisme

Guidance on Extended Producer Responsibility (EPR) Analysis of EPR schemes in the EU and development of guiding principles for their functioning

Les manuels de Toastmasters International, les outils pour réussir

Qu est-ce que le Cloud? Quels sont ses points forts? Pourquoi l'adopter? Hugues De Pra Data Center Lead Cisco Belgium & Luxemburg

Licence Informatique Année Exceptions

Assessment software development for distributed firewalls

Fondation Rennes 1. Atelier de l innovation. Fondation Rennes 1. Fondation Rennes 1 MANAGEMENT AGILE. Fondation Rennes 1 ET INNOVATION

Personnalisez votre intérieur avec les revêtements imprimés ALYOS design

Dental Insurance Claims Identification of Atypical Claims Activity

Remote Method Invocation

Introduction Les failles les plus courantes Les injections SQL. Failles Web. Maxime Arthaud. net7. Jeudi 03 avril 2014.

AgroMarketDay. Research Application Summary pp: Abstract

REQUEST FORM FORMULAIRE DE REQUÊTE

Advanced Software Engineering Agile Software Engineering. Version 1.0

REQUEST FORM FORMULAIRE DE REQUÊTE

VIREMENTS BANCAIRES INTERNATIONAUX

Interfaces de programmation pour les composants de la solution LiveCycle ES (juillet 2008)

Méthodes ensemblistes pour une localisation robuste de robots sous-marins

Calcul parallèle avec R

EPREUVE D EXPRESSION ORALE. SAVOIR et SAVOIR-FAIRE

The United Nations Convention against Corruption An Overview

Office of the Auditor General / Bureau du vérificateur général FOLLOW-UP TO THE 2010 AUDIT OF COMPRESSED WORK WEEK AGREEMENTS 2012 SUIVI DE LA

Note concernant votre accord de souscription au service «Trusted Certificate Service» (TCS)

Sun StorEdge A5000 Installation Guide

ESMA REGISTERS OJ/26/06/2012-PROC/2012/004. Questions/ Answers

N1 Grid Service Provisioning System 5.0 User s Guide for the Linux Plug-In

How To Become A Foreign Language Teacher

REQUEST FORM FORMULAIRE DE REQUETE

Vincent Rullier Technology specialist Microsoft Suisse Romande

Account Manager H/F - CDI - France

Optimizing and interfacing with Cython. Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) and Synchrotron Soleil (St Aubin)

DHI a.s. Na Vrsich 51490/5, , Prague 10, Czech Republic ( t.metelka@dhi.cz, z.svitak@dhi.cz )

POB-JAVA Documentation

FINAL DRAFT INTERNATIONAL STANDARD

CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH

System Requirements Orion

Sun Enterprise Optional Power Sequencer Installation Guide

Archived Content. Contenu archivé

THE DEVELOPMENT OF OFFICE SPACE AND ERGONOMICS STANDARDS AT THE CITY OF TORONTO: AN EXAMPLE OF SUCCESSFUL INCLUSION OF ERGONOMICS AT THE DESIGN STAGE

Optimizing Solaris Resources Through Load Balancing

Les fragments. Programmation Mobile Android Master CCI. Une application avec deux fragments. Premier layout : le formulaire

LLP ES-LEONARDO-LMP.

HEALTH CARE DIRECTIVES ACT

General Certificate of Education Advanced Level Examination June 2012

The SIST-GIRE Plate-form, an example of link between research and communication for the development

Product / Produit Description Duration /Days Total / Total

COLLABORATIVE LCA. Rachel Arnould and Thomas Albisser. Hop-Cube, France

PhD Program in Pharmaceutical Sciences From drug discovery to the patient Training the next generations of pharmaceutical scientists

Sun StorEdge RAID Manager Release Notes

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For

Comparing JavaServer Pages Technology and Microsoft Active Server Pages

Les Broadcast Receivers...

Upgrading the Solaris PC NetLink Software

The Register of the Domain of the State A Revolution in the Registration of Land Rights

Expérience appui ANR Zimbabwe (Medicines Control Authority of Zimbabwe -MCAZ) Corinne Pouget -AEDES

Sun Cluster 2.2 7/00 Data Services Update: Apache Web Server

Another way to look at the Project Une autre manière de regarder le projet. Montpellier 23 juin - 4 juillet 2008 Gourlot J.-P.

Sun Management Center 3.6 Version 5 Add-On Software Release Notes

Ghizlane El Boussaidi , boul. Lévesque Est Phone : (450)

RAPPORT FINANCIER ANNUEL PORTANT SUR LES COMPTES 2014

ITIL. Nicolas Richard (NRC) Inspiré d une présentation de Steve Mann (Opsys) à l ITSMF Belgium. Une évolution ou une révolution?

Millier Dickinson Blais

SCC / QUANTUM Kick Off 2015 Comment gérer efficacement des workflows et archives de données non structurées?

Java Dynamic Management Architecture for Intelligent Networks

FATMAS : A Methodology to Design Fault-tolerant Multi-agent Systems

I will explain to you in English why everything from now on will be in French

BUSINESS PROCESS OPTIMIZATION. OPTIMIZATION DES PROCESSUS D ENTERPRISE Comment d aborder la qualité en améliorant le processus

DIRECTIVE ON ACCOUNTABILITY IN CONTRACT MANAGEMENT FOR PUBLIC BODIES. An Act respecting contracting by public bodies (chapter C-65.1, a.

Etudes de cas en OCL avec l outil USE 2

Service Level Definitions and Interactions

Mise à jour du document Propriété intellectuelle Lignes directrices pour l application de la Loi

In-Home Caregivers Teleconference with Canadian Bar Association September 17, 2015

STAGE YOGA & RANDONNEES à MADERE

Unrealized Gains in Stocks from the Viewpoint of Investment Risk Management

Survey on Conference Services provided by the United Nations Office at Geneva

Introduction Présentation de scapy. Scapy. Easy Packet Handling. Etienne Maynier. Capitole du Libre 24 Novembre 2012

Evolution of Geomatics Curriculum : Adding new knowledge without lengthening studies

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2016 APPLICATION FORM

Need for and requirements of national monitoring for prisons and jails within a sovereign State

Inspection des engins de transport

Transcription:

«Object-Oriented Multi-Methods in Cecil» Craig Chambers (Cours IFT6310, H08) Mathieu Lemoine 2008/02/25 Craig Chambers : Professeur à l Université de Washington au département de Computer Science and Engineering, maintenant ingénieur chez Google à leur départemment de Seatle.

1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Introduction Contexte 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Introduction Contexte Vs Message Passing Syntaxes Message Passing + - Privilégier 1 argument Object Centred (lecture, détection de l object principale) Privilégier plusieurs arguments Pas de dispatche multiple (difficile)

Introduction Contexte «Design Patterns : Elements of Reusable Object-Oriented Software» de Gamma et al. «Design Pattern Visitor» (p 341 à 344) «issues that arise when you apply the Visitor Pattern : Double Dispatch» «Consequences : Breaking Encapsulation»

Introduction Contexte Vs Message Passing Syntaxes multi-méthodes + - Permet de privilégier plusieurs arguments. Pas Object Centred Ambiguïté, Conflits Encapsulation

Introduction Contexte «Structured Programming with go to Statements» de Donald E. Knuth «Multi-way branching is an important programming technique» (p. 290) «One of the nice properties of his syntax is that the word repeat occurs naturally» (p.279) Comparaison de la syntaxes des langages de prgrammation. «a way we rarely think about go to statements» (p. 275) (fonctionnalitées fourniees par l OO).

Introduction Contexte Cecil 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Introduction Contexte Cecil Le langage Développé à UWashington dès 1991, Projet Vortex Orienté Objet, non Object Centred Pas de classes mais des prototypes Héritage distinct pour interface et comportement Utilisé pour développer et tester de nouveaux concepts et paradigmes

Résolution des ambiguïtés 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Résolution des ambiguïtés Les règles de résolution des multi-méthodes Définition de la spécialisation Objets : A > B A hérite de B Arguments a d implémentations d une méthode m : m 1 > m 2 l objet attendu pour a dans m 1 > celui dans m 2 Implémentations d une méthode m : m 1 > m 2 argument de m, m 1 m 2 Appel de l implémentation la plus spécialisée Si ambiguïté erreur à la compilation

Résolution des ambiguïtés Exemple : Présentation des méthodes utilsées

Résolution des ambiguïtés Exemple : Présentation des résolutions des ambiuïtés

Encapsulation 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Encapsulation privilégiée dans tous les objets spécialisant Une Multi-Méthode a accès à l interne de ses objets spécialisants

Encapsulation privées déclarées privées par rapport à l ensemble de leurs objets spécialisants

Langage Object-Centred 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Langage Object-Centred Description d un environnement de programmation Cecil n est pas Object-Centred Présentation d un IDE avec une vue Object-Centred

Future Work 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Future Work Future Work Implémentation Amélioration des concepts proposés

Related Work 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Related Work Related Work Principalement CLOS et son prédécesseur CommonLoops C++, Haskell Kea, NOAL, RPDE 3 SELF

Conclusion 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Conclusion Conclusion L auteur propose une implémentation des multi-méthodes prennant en compte l encapsulation ainsi qu une notation Object-Centred pour l environnement de développement.

Discussion 1 Introduction Contexte Cecil 2 Résolution des ambiguïtés Encapsulation Langage Object-Centred Future Work Related Work Conclusion 3 Discussion 4 Bibliographie

Discussion Discussion + - Présentation d un nouveau concept permettant d utiliser les multi-méthodes dans un contexte Orienté Objet ou Object Centred Organisation un peu bancale Explications quelques fois obscures ou incomplètes Pas d implémentation

Bibliographie Bibliographie Gamma et al., 1995 : «Design Patterns : Elements of Reusable Object-Oriented Software» Addison-Wesley Publishing Company Donald E. Knuth, 1979 : «Structured programming with go to statements» ACM Comput. Surv. 6, 4 (Dec. 1974), 261-301. Projet Vortex : http ://www.cs.washington.edu/research /projects/cecil/www/vortex.html

The End! Merci de votre attention!