Prototyping parallel and distributed programs in PROTEUS. Technical report
Prototyping is an important technique in software development for early exploration and validation of requirements. When prototyping concurrent behavior, the authors must be able to embrace a wide spectrum of models used to construct parallel programs, reflecting a variety of underlying system architectures. In this paper we present Proteus, a language, suitable for prototyping parallel and distributed programs. Proteus starts with the high-level set-theoretic notations of SETL and REFINE. They then extend this base with the barrier-merge parallel construct, which partitions the variables used for communication in its shared memory model into shared and private sets. Each parallel process receives an independent copy of the private variables. These private copies are independently updated, and may be merged into the global state at specifiable barrier synchronization points: at these points a portion of the merged state may be reflected back into each private state. They envision a layered language structure to express the various programming models, such as communicating sequential processes and data-level parallelism, in terms of this common foundation. A common foundation also facilitates the prototyping of heterogeneous systems whose concurrent parts are programmed following different models.
- Research Organization:
- North Carolina Univ., Chapel Hill, NC (United States). Dept. of Computer Science
- OSTI ID:
- 5251410
- Report Number(s):
- AD-A-236597/1/XAB; TR-90-041; CNN: N00014-90-K-0004
- Country of Publication:
- United States
- Language:
- English
Similar Records
Actors: a model of concurrent computation in distributed systems
Editorial: Neuroscience, computing, performance, and benchmarks: Why it matters to neuroscience how fast we can compute
Related Subjects
DISTRIBUTED DATA PROCESSING
MATHEMATICAL MODELS
PARALLEL PROCESSING
BEHAVIOR
COMMUNICATIONS
COMPUTER ARCHITECTURE
DISTRIBUTION
LAYERS
MEMORY DEVICES
PROGRAMMING
PROGRAMMING LANGUAGES
REFLECTION
SPECIFICATIONS
SPECTRA
VALIDATION
DATA PROCESSING
PROCESSING
TESTING
990200* - Mathematics & Computers