Abstract
This position paper describes the Grumps approach to the on-line upgrading of objects in a distributed system. This is supported by three main, well-known ideas: core code abstractions are defined in terms of Java interfaces and not classes; as many decisions as possible are delayed until run-time; and object containers are used to manage groups of objects at run-time. The advantage of the first idea is that it introduces a level of indirection in between what an object does (in terms of its interface) and how that is accomplished (in terms of its class). The advantage of the second idea is that it does not force the programmer to make decisions at compile-time that may be hard to change later; they can change their mind and easily alter the system?s behaviour at run-time. The use of the third idea allows objects to be grouped together and the container can act as a representative for or abstraction over the contained objects. The major Grumps abstractions are described, an example object upgrade is presented and the advantages and disadvantages of this approach are discussed.