Concepts of Concurrent Programming

Abstract

A concurrent program is one defining actions that may be performed simultaneously. This module discusses the nature of such programs and provides an overview of the means by which they may be constructed and executed. Emphasis is given to the terminology used in this field and the underlying concepts involved. This module is largely concerned with explicit concurrency, where concurrent behavior is specified by the program designer. Particular attention is paid to programs that can be considered inherently concurrent, that is, programs that are constructed to control or model physical systems that involve parallel activity. The module also includes a brief introduction to performance- oriented concurrency, where concurrency is used to improve program performance by taking advantage of hardware support for parallel processing. The module is divided into three sections. The first deals with basic concepts in concurrent programming, covering characteristic attributes, formal properties, standard design problems, and execution details. The second section discusses the steps in constructing concurrent programs for specification to coding. The final section briefly examines concurrency from the point of view of some common application areas. The module gives a foundation for a deeper study of specific topics in concurrent programming. It also provides the preparatory material for a study of the concurrent aspects of application areas such as real-time (embedded) systems, database systems, operating systems, and many simulation systems.

Open PDF

Document Details

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

Entities

People

  • David W. Bustard

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Autonomy
  • Cyber
  • Energy and Power Technologies
  • Engineered Resilient Systems

DTIC Thesaurus Topics

  • Abstracts
  • Classification
  • Computer Programming
  • Computer Science
  • Computers
  • Department Of Defense
  • Engineering
  • Local Area Networks
  • Operating Systems
  • Parallel Computing
  • Parallel Processing
  • Programming Languages
  • Resource Management
  • Software Design
  • Software Development
  • Software Metrics
  • Students

Fields of Study

  • Computer science

Readers

  • Business Analytics
  • Software Engineering.
  • Systems Analysis and Design