ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
advertisementadvertisement
Parallel Computing
Volume 28, Issue 12, December 2002, Pages 1663-1683
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Article
Purchase PDF (226 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/S0167-8191(02)00190-4    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2002 Published by Elsevier Science B.V.

From patterns to frameworks to parallel programs

S. MacDonald, J. Anvik, S. Bromling, J. SchaefferCorresponding Author Contact Information, E-mail The Corresponding Author, D. Szafron and K. Tan

Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada

Received 4 March 2002; 
revised 17 May 2002; 
accepted 17 June 2002. 
Available online 13 November 2002.

Purchase the full-text article



References and further reading may be available for this article. To view references and further reading you must purchase this article.

Abstract

Object-oriented programming, design patterns, and frameworks are abstraction techniques that have been used to reduce the complexity of sequential programming. This paper describes our approach of applying these three techniques to the more difficult parallel programming domain. The Parallel Design Patterns (PDP) process, the basis of the CO2P3S parallel programming system, combines these techniques in a layered development model. The result is a new approach to parallel programming that addresses correctness and openness in a unique way. At the topmost development layer, a customized framework is generated from a design pattern specification of the parallel structure of the program. This framework encapsulates all of the structural details of the pattern, including communication and synchronization, to prevent programmer errors and ensure correctness. Lower layers are used only for performance tuning to make the code as efficient as necessary. This paper describes CO2P3S, based on the PDP process, and demonstrates it using an example application. We also provide results from a usability study of CO2P3S.

Author Keywords: Parallel programming systems; Design patterns; Object-oriented frameworks

Article Outline

1. Introduction
2. The PDP process for pattern-based parallel programming
2.1. Selecting a design pattern
2.2. From design patterns to pattern templates
2.3. From pattern templates to frameworks: the Patterns Layer
2.4. From frameworks to parallel programs: the lower layers
2.5. CO2P3S: the PDP process implemented
3. The usability of CO2P3S
3.1. The usability of Enterprise and Orca
3.2. A usability study of CO2P3S
3.3. Tools for CO2P3S extensibility
4. Related work
5. Conclusions
Acknowledgements
References




Parallel Computing
Volume 28, Issue 12, December 2002, Pages 1663-1683
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.