Program Composition Notation

Program Composition Notation (PCN) is a specification notation for building up larger programs from smaller modules or programs (usually written in C or Fortran). Efficient parallel programming is at the heart of PCN. Larger composed programs are intended to execute efficiently on single-processor machines, multiprocessors with shared memory or distributed multicomputers.

PCN was developed at Argonne National Laboratory and the California Institute of Technology.

PCN includes the language for specifying concurrent algorithms and interfaces to C and Fortran. There is also a PCN toolkit for workstations that allows applications to be developed for supercomputers which includes debugging and performance analysis tools.

PCN is appropriate for applications benefiting from parallel computing such as fluid dynamics, and climate modelling.

Sources

edit
  • Chandy, K. Mani and Taylor, Stephen (1990), A Primer for Program Composition Notation. Technical Report. California Institute of Technology. [CaltechCSTR:1990.cs-tr-90-10]
  • Foster, Ian; Taylor, Stephen (May 1994). "A Compiler Approach to Scalable Concurrent-Program Design". ACM Transactions on Programming Languages and Systems. 16 (3). doi:10.1145/177492.177612.
  • Foster, Ian (May 1994). Strand and PCN: Two Generations of Composition Programming Languages (PDF) (Technical report). Rice University.
  • PCN article in the Free Online Dictionary of Computing