Classboxes: Controlling Visibility of Class Extensions

Abstract : A class extension is a method that is defined in a module, but whose class is defined elsewhere. Class extensions offer a convenient way to incrementally modify existing classes when subclassing is inappropriate. Unfortunately existing approaches suffer from various limitations. Either class extensions have a global impact, with possibly negative effects for unexpected clients, or they have a purely local impact, with negative results for collaborating clients. Furthermore, conflicting class extensions are either disallowed, or resolved by linearization, with consequent negative effects. To solve these problems we present classboxes, a module system for object-oriented languages that provides for method addition and replacement. Moreover, the changes made by a classbox are only visible to that classbox (or classboxes that import it), a feature we call local rebinding. To validate the model we have implemented it in the Squeak Smalltalk environment, and performed benchmarks.
Type de document :
Article dans une revue
Computer Languages, Systems and Structures, Elsevier, 2005
Liste complète des métadonnées

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

https://hal.inria.fr/inria-00533458
Contributeur : Lse Lse <>
Soumis le : vendredi 14 janvier 2011 - 16:10:57
Dernière modification le : vendredi 14 janvier 2011 - 17:04:56
Document(s) archivé(s) le : mardi 6 novembre 2012 - 11:31:27

Fichier

Berg05a-CompLangESUG04-classbo...
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00533458, version 1

Citation

Alexandre Bergel, Stéphane Ducasse, Oscar Nierstrasz, Roel Wuyts. Classboxes: Controlling Visibility of Class Extensions. Computer Languages, Systems and Structures, Elsevier, 2005. 〈inria-00533458〉

Partager

Métriques

Consultations de la notice

78

Téléchargements de fichiers

178