Program Composition Notation
) is a specification notation for building up larger programs from smaller modules or programs (usually written in C
). 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.