| ![]() |
A Comparison of Graphical Design Techniques for
Parallel, Disributed Software
Mark POLMAN and Maarten VAN STEEN
Erasmus University, Department of Computer Science
P.O. Box 1738, 3000 DR, Rotterdam, {polman,steen}@cs.few.eur.nl
Abstract
We have compared three graphical design techniques, OMT, ADL, and PARSE, on their suitability for the development of parallel/distributed applications. Our method has been to use all three of them in modeling one, existing, application: a backup facility running within the Andrew File System as described in [2]. We compare and analyze the outcomes on a number of important design aspects. Based on this, we draw conclusions on each individualtechnique and on graphical design techniques for parallel/distributed software in general.
1 Introduction
With the increasing availability of hardware platforms, suitable to run parallel, distributed software, we can expect to observe an increase in the production of this kind of software. One obstacle to this is, that its development is found to be much more complex than that of `conventional' software: sharing of resources, replication, communication in absence of shared memory, etc. all add to the complexity of (the dynamic behavior of) software components. Graphical design techniques, having proved their value in the development of conventional software, seem to be an answer.
A well-known one is the Object Modeling Technique (OMT) by Rumbaugh et al. [8]. Because this method is object-oriented, it could be argued that, through the natural concurrency of objects, it would be fit for parallel, distributed software as well. However, it is the question how well OMT deals with the communication and synchronizationissues that are so important in parallel, distributedapplication: perhaps OMT needs some adaptations here.
Our approach to see if this is the case, is a very pragmatic one. We take an existing problem, we consider a number of graphical modeling techniques (among which OMT), and apply all of them to this problem. After that, we analyze the differences between the outcomes, and see if we can pinpoint some of the methods' weaknesses or strong points with regard to parallelism and distributed-ness.
Of course, we want the testcase to be a good discriminator, i.e. it must be complex enough to highlight the differences in the examined methods. On the other hand, it should be simple enough to render three models that are somehow comparable. One application that seems to have these properties is a backup facility in the Andrew File System (AFS), which has been described and implemented by Gorlen et al. [2]. In the next two sections, we will describe the essential features of the AFS and of this backup