Rapid prototyping of distributed algorithms

Abstract Rapid prototyping is expected to be especially effective in designing, evaluating, and tuning new software whose real-time performance and quality of service are difficult to determine analytically. Distributed algorithms and protocols fall into this category of software. In this paper we present the design and implementation of a rapid prototyping system for distributed algorithms. The system provides a library of interprocess communication routines and supports dynamic reconfiguration of network topology, automatic process loading and performance monitoring of the prototyped algorithms. We discuss our experiences in developing the rapid prototyping system on a transputer network and describe examples of using the system.

[1]  D. Q. M. Fay,et al.  Hardware reconfiguration of transputer networks for distributed object-oriented programming , 1987 .

[2]  Andrew P. Sage,et al.  Software systems engineering , 1990 .

[3]  Ruben Prieto-Diaz,et al.  Domain analysis for reusability , 1988 .

[4]  Bertrand Meyer,et al.  Reusability: The Case for Object-Oriented Design , 1987, IEEE Software.

[5]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[6]  Jiannong Cao,et al.  Optimization in a hierarchical distributed performance monitoring system , 1995, Proceedings 1st International Conference on Algorithms and Architectures for Parallel Processing.

[7]  John C. Kunz,et al.  Object-Oriented Programming , 1989, IBM Syst. J..

[8]  Dieter Haban,et al.  A Hybrid Monitor for Behavior and Performance Analysis of Distributed Systems , 1990, IEEE Trans. Software Eng..

[9]  N. Natarajan,et al.  Communication and Synchronization Primitives for Distributed Programs , 1985, IEEE Transactions on Software Engineering.

[10]  Pankaj Jalote,et al.  Functional Refinement and Nested Objects for Object-Oriented Design , 1989, IEEE Trans. Software Eng..

[11]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

[12]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[13]  Daniel Gajski,et al.  A Programming Aid for Message-passing Systems , 1987, PPSC.

[14]  Selim G. Akl,et al.  Design and analysis of parallel algorithms , 1985 .

[15]  Jiannong Cao,et al.  On heuristics for optimal configuration of hierarchical distributed monitoring systems , 1998, J. Syst. Softw..

[16]  Luqi Software evolution through rapid prototyping , 1989, Computer.

[17]  Umberto Villano,et al.  The monitoring of inter-process communications in distributed systems , 1990, Future Gener. Comput. Syst..

[18]  Konrad Slind,et al.  Monitoring distributed systems , 1987, TOCS.

[19]  Barton P. Miller,et al.  A distributed programs monitor for berkeley UNIX , 1985, Softw. Pract. Exp..

[20]  Jan van Leeuwen,et al.  Interval Routing , 1987, Computer/law journal.

[21]  Sol M. Shatz,et al.  Communication Mechanisms for Programming Distributed Systems , 1984, Computer.

[22]  Larry D. Wittie,et al.  Multicast Communication on Network Computers , 1985, IEEE Software.

[23]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[24]  Paul Bassett,et al.  Frame-Based Software Engineering , 1987, IEEE Software.

[25]  Jake K. Aggarwal,et al.  A Mapping Strategy for Parallel Processing , 1987, IEEE Transactions on Computers.

[26]  Ernest J. H. Chang,et al.  An improved algorithm for decentralized extrema-finding in circular configurations of processes , 1979, CACM.

[27]  Valdis Berzins,et al.  Abstraction-based software development , 1986, CACM.