Programming language design and understanding has generally benefited from formal models of programming languages. Such models, of course, tend to focus on the essential features of the particular language, making it possible to highlighting design alternatives and compare them. Models for object based languages have already been developed in the 90's, but these models do not directly express imperative delegation.
We argue that no calculi so far developed fully express the essence of such languages. We give a simple intuitive calculus for imperative object based delegation. We start with delta-, an imperative object based calculus, and demonstrate its use through examples. delta- is similar to the first order imperative Abadi Cardelli calculus, though simpler in some sense. We prove a correspondence theorem. We then present delta, which extends delta- through explicit delegation; delta allows an object to specify explicitly to which objects it wants to delegate. We show key features of delta through examples