1987•Unpublished venueRequires access

An environment for the design and performance analysis of distributed systems

Rajive L. Bagrodia

Open publisher page 7 citations

Abstract

Efficient distributed systems may be developed by incorporating performance evaluation as an integral part of the software development cycle. This research proposes a methodology to integrate the development of distributed systems with its testing and performance evaluation. A small language fragment is proposed to implement the methodology. The language fragment uses the basic notions of entities (or classes), messages and clock to construct distributed software or their message-based simulation models. The fragment may be implemented in any sequential programming language to yield an object-oriented environment for developing distributed software. The environment allows an analyst to express distributed programs at different levels of detail. At an intermediate level, the program may be executed in a simulation environment to study the expected performance of the system or to test it for correctness. The same program, with minor modifications may be executed on a distributed network to function as a distributed program. Programs at an intermediate level are refined using step-wise refinement. The refinements either include more detail in the representation of a module or replace simulation statements by programming code. The refinement process is repeated iteratively to eventually yield the distributed software with the desired performance. A tool-box approach to evaluating distributed systems is supported by providing library facilities for hardware modeling, report generation and statistics collection. In the area of distributed algorithms, the thesis describes a test-bed for the performance evaluation of distributed algorithms. The dissertation also proposes two new distributed algorithms. The first algorithm implements the generalized alternative command of CSP. We show that this algorithm uses fewer messages than existing algorithms for this problem. The second algorithm implements synchronous communication among an arbitrary number of asynchronous processes. This algorithm is used to illustrate the applicability of the methodology and the test-bed in the development and evaluation of distributed systems.

About this research paper

What this paper is about

Efficient distributed systems may be developed by incorporating performance evaluation as an integral part of the software development cycle. This research proposes a methodology to integrate the development of distributed systems with its testing and performance evaluation. A small language fragment is proposed to implement the methodology. The language fragment uses the basic notions of entities (or classes), messages and clock to construct distributed software or their message-based simulation models. The fragment may be implemented in any sequential programming language to yield an object-oriented environment for developing distributed software. The environment allows an analyst to express distributed programs at different levels of detail. At an intermediate level, the program may be executed in a simulation environment to study the expected performance of the system or to test it for correctness. The same program, with minor modifications may be executed on a distributed network to function as a distributed program. Programs at an intermediate level are refined using step-wise refinement. The refinements either include more detail in the representation of a module or replace simulation statements by programming code. The refinement process is repeated iteratively to eventually yield the distributed software with the desired performance. A tool-box approach to evaluating distributed systems is supported by providing library facilities for hardware modeling, report generation and statistics collection. In the area of distributed algorithms, the thesis describes a test-bed for the performance evaluation of distributed algorithms. The dissertation also proposes two new distributed algorithms. The first algorithm implements the generalized alternative command of CSP. We show that this algorithm uses fewer messages than existing algorithms for this problem. The second algorithm implements synchronous communication among an arbitrary number of asynchronous processes. This algorithm is used to illustrate the applicability of the methodology and the test-bed in the development and evaluation of distributed systems.

Why it matters

OpenAlex reports 7 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Efficient distributed systems may be developed by incorporating performance evaluation as an integral part of the software development cycle. This research proposes a methodology to integrate the development of distributed systems with its testing and performance evaluation. A small language fragment is proposed to implement the methodology. The language fragment uses the basic notions of entities (or classes), messages and clock to construct distributed software or their message-based simulation models. The fragment may be implemented in any sequential programming language to yield an object-oriented environment for developing distributed software. The environment allows an analyst to express distributed programs at different levels of detail. At an intermediate level, the program may be executed in a simulation environment to study the expected performance of the system or to test it for correctness. The same program, with minor modifications may be executed on a distributed network to function as a distributed program. Programs at an intermediate level are refined using step-wise refinement. The refinements either include more detail in the representation of a module or replace simulation statements by programming code. The refinement process is repeated iteratively to eventually yield the distributed software with the desired performance. A tool-box approach to evaluating distributed systems is supported by providing library facilities for hardware modeling, report generation and statistics collection. In the area of distributed algorithms, the thesis describes a test-bed for the performance evaluation of distributed algorithms. The dissertation also proposes two new distributed algorithms. The first algorithm implements the generalized alternative command of CSP. We show that this algorithm uses fewer messages than existing algorithms for this problem. The second algorithm implements synchronous communication among an arbitrary number of asynchronous processes. This algorithm is used to illustrate the applicability of the methodology and the test-bed in the development and evaluation of distributed systems.

Key concepts: Computer science, Correctness, Distributed design patterns, Distributed computing, Distributed Computing Environment, Distributed algorithm, Distributed object, Software

Related papers

Back to paper searchBrowse research topicsOriginal source
An environment for the design and performance analysis of distributed systems — Research Paper | ScholarLens