Dynamic Object Replacement and Implementation-Only Classes

Pascal Costanza · 2001

GILGUL is an extension of the Java programming language that allows for dynamic object replacement without consistency problems. This is possible in a semantically clean way because its model strictly separates the notions of reference and comparison that are usually subsumed in the concept of object identity. Since GILGUL's new operations respect Java's type system, objects can still be replaced only by instances of the same class or any subclasses thereof, but not by instances of any superclass. The concept of implementation-only classes is an extension of the type system that allows classes to be declared that must never be used as types. Consequently, instances of implementation-only classes can always be replaced by instances of their superclasses. This effectively widens the range of both anticipated and unanticipated adaptations.

Read the paper · More papers on PaperTik