Object-oriented programming, design patterns, and frameworks are abstraction techniques that have been used to reduce the complexity of sequential programming. The CO2 P3 S parallel programming system provides a layered de-velopment process that applies these three techniques to the more difficult domain of parallel programming. The system generates correct frameworks from pattern template specifications at the highest layer and provides performance tuning op-portunities at lower layers. Each of these features is a solution to a major problem with current parallel programming systems. This paper describes CO2 P3 S and its highest level of abstraction using an example program to demonstrate the programming model and one of the supported pattern templates. Our results show that a programmer using the system can quickly generate a correct parallel struc-ture. Further, applications built using these structures provide good speedups for a small amount of development effort.