R. Weinreich, R. Plösch, Prototyping of Parallel and Distributed Object-Oriented Systems: The PDC Model and its Environment, Proceedings of the 28th Hawaii International Conference on System Sciences (HICSS), Wailea, Island of Maui, Hawaii, USA, January 3 - 6, 1995, IEEE Computer Society Press 1995.


From an abstract point of view, the main problems of software engineering for parallel and distributed systems are similar to systems where concurrency and distribution play no role. On the one hand, it is equally difficult to define the requirements for a system in such a complete, correct and concise form that we can separate requirement analysis activities from the implementation. As in other systems, requirements definitions often prove incomplete and inconsistent; when detected late in the implementation, this induces painful costs. Another reason for expensive software is the lack of quality of the implementation itself in terms of flexibility, extensibility and reusability.

As in other application domains, prototyping and object-oriented software technology provide a suitable means to address these problems in the area of distributed and parallel systems. Prototyping aims at a more complete and correct system specification and object-oriented programming supports the construction of more extensible and reusable software.

This paper is divided into two closely related parts. First we concentrate on the application of object-oriented programming in the area of parallel and distributed systems. We present different possibilities to combine processes and objects and concentrate on an approach to incorporate processes into (active) objects that we call PDC technique (Proxy/Dispatcher/Collocutor technique). The PDC technique is a simple mechanism that allows addressing of operating-system processes like local objects, i.e., by calling methods that can be dynamically bound. It supports not only concurrency but also distribution over machine boundaries and offers enough flexibility to address real-time requirements.

In the second part of the paper we describe a prototyping tool for distributed systems that is based on our realization of active objects with the PDC technique. We concentrate not only on the functionality of the tool, which allows configuration and simulation of a distributed system, but also show the benefits of a prototyping approach in the field of parallel and distributed systems.