A Modular Approach to Object Initialization for Pharo

Marco Naddeo 1, 2
2 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Résumé : La modularité du code favorise la réutilisation. Les concepteurs de langages de programmation se sont principalement consacrés à la modularité des méthodes. À l’inverse, la modularité du code d’initialisation a souvent été négligé. Le code d’initialisation de beaucoup de langages orientés objets à classe est laborieux dans plusieurs cas: par exemple, quand quelques champs (i.e., variables d’instances) ont plusieurs options d’initialisation (e.g., un rectangle peut être initialisé avec des coordonnées Cartésiennes ou polaires), ont une initialisation optionnelle (e.g., un rectangle peut être positionné à une coordonnée fournie ou à l’origine (0,0) si aucune coordonnée n’est fournie) ou héritent d’une initialisation de la super classe (e.g., un rectangle coloré doit redéfinir tous les constructeurs de sa super classe pour ajouter la notion de couleur). Dans de telles circonstances, le nombre de constructeurs augmente exponentiellement avec les options d’initialisation car l’approche d’initialisation manque de modularité. Nous proposons une approche d’initialisation novatrice s’inspirant du langage prototypique Magda. Cette approche est basée sur des modules d’initialisation composables plus petits que les constructeurs classiques. De plus, le nombre de ces modules augmente linéairement avec les options d’initialisation. Nous appliquons cette approche à Pharo, un langage orienté objets dynamiquement typé inspiré de Smalltalk. L’adaptation à Pharo de l’approche d’initialisation de Magda implique la résolution de nouveaux défis issus du passage d’un contexte statiquement typé à un contexte dynamique.
Type de document :
Thèse
Programming Languages [cs.PL]. Dipartimento di Informatica, Università degli Studi di Torino; Inria Lille Nord Europe - Laboratoire CRIStAL - Université de Lille, 2017. English
Liste complète des métadonnées

Littérature citée [33 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/tel-01651738
Contributeur : Marco Naddeo <>
Soumis le : mercredi 29 novembre 2017 - 13:03:45
Dernière modification le : mercredi 25 avril 2018 - 15:42:59

Fichier

NaddeoPhDthesis_revised.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : tel-01651738, version 1

Collections

Citation

Marco Naddeo. A Modular Approach to Object Initialization for Pharo. Programming Languages [cs.PL]. Dipartimento di Informatica, Università degli Studi di Torino; Inria Lille Nord Europe - Laboratoire CRIStAL - Université de Lille, 2017. English. 〈tel-01651738〉

Partager

Métriques

Consultations de la notice

232

Téléchargements de fichiers

43