As distributed computing becomes more an more prevalent, distributed applications become larger and more complex. It is frequently the case that system components require varying models of computation and distribution. The applicability of various models in complex applications is not well understood. We propose an environment in which researchers and system designers can prototype their applications and investigate their behaviour from the point of view of object interaction.

In particular, we have designed and implemented the Tj distributed object model on top of the CodA meta-architecture. The resultant system supports the description of typical object behaviours (e.g., message sending and method execution) as well as a wide range of distributed object behaviours such as replication and migration.

We have developed a number of diverse distributed applications which exploit the environment's distributed processing capabilities. Our experience shows that this environment as a whole aids significantly in the understanding and design of distributed systems.

Tj is implemented in Smalltalk on top of the CodA object system. It currently runs in a distributed memory environments such as clusters of workstations (using MPI messaging) and the Fujitsu AP1000, a Sparc-based MPP machine with upto 1024 independent processors.

Several documents describing Tj and related projects are available on-line. Note that an overview of its design can be found in a paper on CodA (108KB) to appear in ECOOP '95.

|m 94.02.01