Language Support for Parallel Computation

Abstract

This final technical report summarizes the research accomplished under the Expert Science and Engineering (ES&E) program by the University of California at Berkeley through Syracuse University. The research effort, entitled 'Parallel Extensions for Object Oriented Programming', examined communication aspects leading to language support for parallel computation. The work undertaken in this effort has extended concurrent programming languages in their communication primitives. Although many abstraction mechanisms have been used in programming languages, including control abstraction mechanisms (such as procedures) and data abstraction mechanisms (such as data types), communication abstraction mechanisms have been found to be the most useful for parallel/ concurrent programming paradigms. Work accomplished in this effort has extended those mechanisms, concentrating on inter-process communication. A formal model for concurrent systems, called the Synchronous Token-based Communicating State (STOCS) model, has been used to model and analyze concurrent systems. Since present concurrent languages do not support any form of analysis of the communication structure of programs, two new constructs based on STOCS formalism have been developed to support high level specification - handshake and unit. A fair and efficient algorithm for execution of multi-process shared events is also presented.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1990
Accession Number
ADA223072

Entities

People

  • C. V. Ramamoorthy

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Automata
  • Command And Control
  • Computations
  • Computer Languages
  • Computer Networks
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Engineering
  • High Level Languages
  • Language
  • Local Area Networks
  • Network Protocols
  • Parallel Computing
  • Programming Languages
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Computer Networking
  • Software Engineering.