This paper describes a Java-based distributed shared memory system (DSM) that simultaneously supports multiple coherence protocols. Coherence is enforced at the object level, and programmers can select the desired policy at object-creation time. Our work extends the Aleph Toolkit [1], a framework for distributed computing in Java. Since Aleph and our extensions are written in pure Java, the sys...