Distributed software via prototyping and simulation - JADE
Jade is an environment that supports the development of distributed software. Components may be written in any of a number of different languages, with a common inter-process communication protocol providing a uniform interface among the components. A window system allows the user to interact with many different processes at once. A hierarchical graphics system is provided for use with documentation and programming, and for support of monitoring. Monitoring in Jade is also supported by an extensible mechanism which allows for multiple views of the same process. The nondeterminism of distributed systems may be controlled in order to provide repeatability of executions and to aid in testing and debugging. Finally, the formal specification of inter-process events in Jade is supported by a communications protocol verifier, allowing run-time consistency checking. Together, these tools provide a powerful environment for software prototyping and simulation. This paper is a summary of work that has been described in [Unger 85], [Lomow 85] and [Joyce 87].