“…Distributed Environments A plethora of systems assist in the construction of distributed software. At one end of the spectrum, distributed operating systems [4,22,58,64,67,69,72,73,76,89] and programming languages [25,43,77,88] provide a significant amount of flexibility in the resulting application. However, they involve significant manual effort using the provided abstractions, which are strongly coupled with the underlying operating or runtime system.…”