skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Prototyping parallel and distributed programs in PROTEUS. Technical report

Technical Report ·
OSTI ID:5251410

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