In distributed object-oriented programming, the programming paradigm is interacting distributed objects rather than distributed data. We have established an object model for distributed, shared and persistent objects. The model introduces the distributed object context, which represents an object environment in which distributed objects are manipulated. Object activities and their states are also introduced in the model to describe the dynamic behaviours of distributed objects. the concept of orthogonal persistence is integrated in our model to support persistent object sharing.
Object protection is essential for object sharing. A security mechanism is designed for access control of shared distributed objects. This mechanism, called the private access channel, provides the same level of fine grained object-based security as the capability scheme.
A novel two-level garbage collection algorithm has also been designed and implemented to reclaim distributed garbage. It makes use of the local garbage collector (no matter what algorithm it uses) and deals with the distributed garbage efficiently.
This thesis presents an object model as a key to all the issues and ideas behind our research effort towards better distributed computing. A prototype of a distributed object-oriented programming system that conforms to our object model was implemented and is also described in the thesis. It is a distributed and persistent Smalltalk-80, called DPS system. The purposes of DPS system are to demonstrate the model, refine its details and provide an object-oriented platform for building applications that are intended to be used by a group of people who would like to use computers for communication and sharing information.