Method Shells: Avoiding Conflicts on Destructive Class Extensions by Implicit Context Switches

Abstract : We propose method shells, which is a module system for avoiding conflicts on customization by language mechanisms such as aspects in AspectJ and open classes in Ruby. These mechanisms allow programmers to customize a library without rewriting original source code but by only describing differences in a separate file. We call these mechanisms destructive class extensions. A problem with destructive class extensions is conflicts on customization. Different customizations may differently modify the same class. To address this problem, we propose a new module system named method shells. With this system, programmers can avoid conflicts since the module system automatically switches a set of customizations that has to be applied together according to the contexts declared by programmers. We present the idea of this module system and then its formal semantics. We also present an extension of Java that supports method shells.
Type de document :
Communication dans un congrès
Walter Binder; Eric Bodden; Welf Löwe. 12th International Conference on Software Composition (SC), Jun 2013, Budapest, Hungary. Springer, Lecture Notes in Computer Science, LNCS-8088, pp.49-64, 2013, Software Composition. 〈10.1007/978-3-642-39614-4_4〉
Liste complète des métadonnées

https://hal.inria.fr/hal-01492776
Contributeur : Hal Ifip <>
Soumis le : lundi 20 mars 2017 - 15:34:56
Dernière modification le : mardi 16 janvier 2018 - 15:43:54
Document(s) archivé(s) le : mercredi 21 juin 2017 - 13:10:45

Fichier

978-3-642-39614-4_4_Chapter.pd...
Fichiers produits par l'(les) auteur(s)

Licence


Distributed under a Creative Commons Paternité 4.0 International License

Identifiants

Citation

Wakana Takeshita, Shigeru Chiba. Method Shells: Avoiding Conflicts on Destructive Class Extensions by Implicit Context Switches. Walter Binder; Eric Bodden; Welf Löwe. 12th International Conference on Software Composition (SC), Jun 2013, Budapest, Hungary. Springer, Lecture Notes in Computer Science, LNCS-8088, pp.49-64, 2013, Software Composition. 〈10.1007/978-3-642-39614-4_4〉. 〈hal-01492776〉

Partager

Métriques

Consultations de la notice

12

Téléchargements de fichiers

7