Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Relaxed MultiJava: balancing extensibility and modular typechecking
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Classbox/J: controlling the scope of change in Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Mostly modular compilation of crosscutting concerns by contextual predicate dispatch
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
We propose Method Shells, which is a module system for switching a set of destructive class extensions at runtime. Destructive class extensions are getting popular and supported by a number of languages. By using destructive class extensions, you can add new methods to existing classes and redefine existing methods without rewriting the original source code by only writing differences in a separate file. For this reason, destructive class extensons are suitable for reusing an entire program, such as libraries. However, difference destructive class extensions redefining the same method in the same class may conflict. Our module system can switch sets of destructive class extensions activated and deactivated at runtime. Futhermore, we defined the formal semantics of our module system and proposed a way to impliment methodshells without runtime overheads.