Towards a theory of parallel programming

The objectives for a theory of parallel programming are discussed. Programming constructs for parallelism, including means for expressing resource constraints and synchorinzation, are discussed and formally defined.