Support for cooperative distributed applications is an important direction of computer systems research involving developments in operating systems, programming languages and databases. One emerging model for the support of cooperative distributed applications is that of a distributed shared universe organized as a set of objects shared by concurrent activities.
While many experimental distributed object-oriented systems have been designed and implemented (Gothic [Banâtre91], Clouds [Dasgupta90], Emerald [Hutchinson87], Argus [Liskov85]), few have addressed the development of protected applications in such an environment (Melampus [Luniewski91], Birlix [Kowalski90]).
In the Guide project, we have designed and implemented a distributed system that not only intends to support the above model, but also provides mechanisms for the development of protected cooperative applications. The advantages of the provided mechanisms are that they allow the cooperation of mutually suspicious users, that protection does not rely on the safety of the code produced by the compilers and that their implementation does not severely degrade object addressing performance. Protection in the Guide system is based on access lists and visibility restrictions on objects.
A prototype version of the system has been implemented using the Mach 3.0 micro-kernel as a base. Some simple applications have also been developed. More elaborate tools that allow the configuration of protected applications are to be implemented.