Dynamic trait replacement is a programming language feature for changing the objects' behavior at runtime by replacing some of the objects' methods. In previous work on dynamic trait replacement for JAVA-like languages, the object's methods that may be replaced must correspond exactly to a named trait used in the object's class definition. In this paper we propose the notion of replaceable: a programming language feature that decouples trait replacement operation code and class declaration code, thus making it possible refactoring classes and/or performing unanticipated trait replacement operations without invalidating existing code.
Titolo: | A Mechanisms for Flexible Dynamic Trait Replacement | |
Autori Riconosciuti: | ||
Autori: | Lorenzo Bettini; Sara Capecchi; Ferruccio Damiani | |
Data di pubblicazione: | 2009 | |
Abstract: | Dynamic trait replacement is a programming language feature for changing the objects' behavior at runtime by replacing some of the objects' methods. In previous work on dynamic trait replacement for JAVA-like languages, the object's methods that may be replaced must correspond exactly to a named trait used in the object's class definition. In this paper we propose the notion of replaceable: a programming language feature that decouples trait replacement operation code and class declaration code, thus making it possible refactoring classes and/or performing unanticipated trait replacement operations without invalidating existing code. | |
Editore: | ACM Press | |
Titolo del libro: | Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs | |
Pagina iniziale: | 9:1 | |
Pagina finale: | 9:7 | |
Nome del convegno: | 11th Workshop on Formal Techniques for Java-like Programs FTfJP 2009 | |
Luogo del convegno: | Genova, Italy | |
Anno del convegno: | July 6 | |
Digital Object Identifier (DOI): | 10.1145/1557898.1557907 | |
ISBN: | 9781605585406 | |
URL: | http://portal.acm.org/citation.cfm?id=1557898.1557907 | |
Appare nelle tipologie: | 04A-Conference paper in volume |