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

Description
«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,

Please download to get full document.

View again

of 28
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Software

Publish on:

Views: 15 | Pages: 28

Extension: PDF | Download: 0

Share
Transcript
«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), Projet Vortex : http ://www.cs.washington.edu/research /projects/cecil/www/vortex.html The End! Merci de votre attention!
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks