Steve MacDonald, Kai Tan, Jonathan Schaeffer and Duane Szafron. Deferring Design Pattern Decisions and Automating Structural Pattern Changes using a Design-Pattern-Based Programming System, TOPLAS, to appear, 2007.
Adrian Driga, Paul Lu, Jonathan Schaeffer, Duane Szafron, Kevin Charter and Ian Parsons FastLSA: A Fast, Linear-Space, Parallel and Sequential Algorithm for Sequence Alignment, Algorithmica, 45(3), pp. 337-375, 2006.
Jonathan Borwein, Russell Boyd, Gilbert Brunet, Hugh Couchman, Martyn Guest, Ian Lancaster, Kerry Rowe and Jonathan Schaeffer. Engines of Discovery: The 21st Century Revolution. The Long Range Plan for High Performance Computing in Canada}, National Research Council, 2005.
John Anvik, Jonathan Schaeffer, and Duane Szafron. Asserting the Utility of CO2P3S. Journal of Parallel and Distributed Computing, 65:1542{1557, 2005.
John Anvik, Jonathan Schaeffer, Duane Szafron and Kai Tan. Asserting the utility of CO2P3S using the Cowichan Problem Set, Journal of Parallel and Distributed Computing, vol. 65, pp. 1542-1557, 2005.
Zhuang Guo, Jonathan Schaeffer, Duane Szafron and Patrick Earl. Using Generative Design Patterns to Develop Network Server Application, 10th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'2005), pp. 178 (full paper on CD), 2005.
Steve MacDonald, Duane Szafron and Jonathan Schaeffer. Rethinking the Pipeline as Object-Oriented States with Transformations, High-Level Parallel Programming Models and Supportive Environments, pp. 12-21, 2004
Adrian Driga, Paul Lu, Jonathan Schaeffer, Duane Szafron, Keven Charter and Ian Parsons. FastLSA: A Fast, Linear-Space, Parallel and Sequential Algorithm for Sequence Alignment, International Conference on Parallel Processing (ICPP).
Mark Goldenberg, Paul Lu, Christopher Pinchak and Jonathan Schaeffer. TrellisDAG: A System for Structured DAG Scheduling, 9th Workshop on Job Scheduling Strategies for Parallel Processing, pp. 21-34, 2003.
John Anvik, Jonathan Schaeffer, Duane Szafron, and Kai Tan. Why Not Use a Pattern-bases Parallel Programming System?, EuroPar, pp. 81-86, 2003. A longer version of this paper is available here.
Kai Tan, Duane Szafron, Jonathan Schaeffer, John Anvik, and Steve MacDonald. Using Generative Design Patterns to Generate Parallel Code for a Distributed Memory Environment, ACM Sigplan Symposium on Principles and Practice of Parallel Programming (PPoPP), pp. 203-215, 2003.
Christopher Pinchack, Paul Lu, Jonathan Schaeffer and Mark Goldenberg. The Canadian Internetworked Scientific Supercomputer, High Performance Computing Systems and Applications, D. Senechal (ed.), pp. 193-199, 2003.
Steve MacDonald, John Anvik, Steve Bromling, Jonathan Schaeffer, Duane Szafron, and Kai Tan. From Patterns to Frameworks to Parallel Programs, Parallel Computing, vol. 28, no. 12, pp. 1663-1683, 2002.
Steve MacDonald, Duane Szafron, Jonathan Schaeffer, John Anvik, Steve Bromling and Kai Tan. Generative Design Patterns, 17th IEEE International Conference on Automated Software Engineering (ASE), pp. 23-34, 2002.
Steve Bromling, Steve MacDonald, John Anvik, Jonathan Schaefer, Duane Szafron, and Kai Tan. Pattern-based Parallel Programming, International Conference on Parallel Programming (ICPP'2002), 257-265, 2002.
Steve Bromling, Duane Szafron, Jonathan Schaeffer, Steve MacDonald, and John Anvik. Parallel Programming and Meta-programming with COPS. In EuroPar Workshop on Parallel Programming Environments, 2002.
John Anvik, Steve MacDonald, Duane Szafron, Jonathan Schaeffer, Steve Bromling and Kai Tan. Generating Parallel Programs from the Wavefront Design Pattern, 7th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'2002), p. 104 (full paper on CD-ROM), 2002.
Akihiro Kishimoto and Jonathan Schaeffer. Distributed Game-Tree Search Using Transposition Table Driven Work Scheduling, International Conference on Parallel Processing (ICPP), pp. 323-330, 2002.
John Romein, Henri Bal, Jonathan Schaeffer, and Aske Plaat. A Performance Analysis of Transposition-Table-Driven Work Scheduling in Distributed Search, IEEE Transactions on Parallel and Distributed Systems, vol. 13, no. 5, pp. 447-459, 2002.
Steve MacDonald, Duane Szafron, Jonathan Schaeffer and Steve Bromling. Generating Parallel Program Frameworks from Parallel Design Patterns, EuroPar, pp. 95-104, 2000.
Steve MacDonald, Duane Szafron, Jonathan Schaeffer, and Steve Bromling. Generating Parallel Program Frameworks from Parallel Design Patterns. In EuroPar, pages 389{394. Springer Verlag, 2000. Lecture Notes in Computer Science #1900.
William Hui, Steve MacDonald, Jonathan Schaeffer and Duane Szafron, Visualizing Object and Method Granularity for Program Parallelization, Parallel and Distributed Computing and Systems, pp. 286-291, 2000.
Diego Novillo, Ron Unrau and Jonathan Schaeffer. Identifying and Validating Irregular Mutual Exclusion Synchronization in Explicitly Parallel Programs, EuroPar, pp. 389-394, 2000.
Diego Novillo, Ron Unrau and Jonathan Schaeffer. Optimizing Mutual Exclusion Synchronization in Explicitly Parallel Programs, Fifth Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers, 2000, to appear.
Mark Brockington and Jonathan Schaeffer. APHID: Asynchronous Parallel Game-Tree Search, Journal of Parallel and Distributed Computing, vol. 60, pp. 247-273, 2000.
John Romein, Aske Plaat, Henri Bal and Jonathan Schaeffer. Transposition Table Driven Work Scheduling in Distributed Search , AAAI, pp. 725-731, 1999.
Steve MacDonald, Duane Szafron and Jonathan Schaeffer. Object-Oriented Pattern-Based Parallel Programming with Automatically Generated Frameworks , USENIX Conference on Object-Oriented Tools and Systems (COOTS'99), pp. 29-43, 1999.
Jonathan Schaeffer. High Performance Computing Systems and Applications , Kluwer Academic Press, 1999.
Diego Novillo, Ron Unrau and Jonathan Schaeffer. Concurrent SSA Form in the Presence of Mutual Exclusion , International Conference on Parallel Processing (ICPP'98), pp. 356-364, 1998.
Ian Parsons, Jonathan Schaeffer, Duane Szafron and Ron Unrau. Using PI/OT to Support Complex Parallel I/O , 12th International Parallel Processing Symposium (IPPS 98), pp. 285-291, 1998.
Ajit Singh, Jonathan Schaeffer and Duane Szafron. Experience with Parallel Programming Using Code Templates , Concurrency: Practice and Experience, Vol. 10, No. 2, pp. 91-120.
Steve MacDonald, Jonathan Schaeffer and Duane Szafron. Pattern-based Object-Oriented Parallel Programming , Proceedings of the First International Conference on Scientific Computing in Object-Oriented Parallel Environments (ISCOPE 97), published in LNCS vol. 1343, Springer-Verlag, pp. 267-274, 1997.
Roel van der Goot, Jonathan Schaeffer and Greg Wilson. Safer Tuple Spaces , Coordination Languages and Models, David Garlan and Daniel Le Metayer (editors), Spinger-Verlag, pp. 289-301, 1997.
Ian Parsons, Ron, Unrau, Jonathan Schaeffer and Duane Szafron. PI/OT: Parallel I/O Templates , Parallel Computing, vol. 23, no. 4-5, pp. 543-570, 1997.
Mark Brockington and Jonathan Schaeffer. APHID Game-Tree Search , Advances in Computer Chess VIII, H.J. van den Herik and Jos Uiterwijk (editors), University of Maastricht, pp. 69-91, 1997.
Ajit Singh, Jonathan Schaeffer and Duane Szafron. Views on Template-Based Parallel Programming , CASCON '96 , paper on CDROM, 1996.
Mark Brockington and Jonathan Schaeffer. The APHID Parallel Alpha-Beta Search Algorithm , Eighth IEEE Symposium on Parallel and Distributed Processing, pp. 432-436, 1996.
Steve MacDonald, Duane Szafron and Jonathan Schaeffer, An Object-Oriented Run-time System for Parallel Applications , TOOLS USA '96.
Duane Szafron and Jonathan Schaeffer. An Experiment to Measure the Usability of Parallel Programming Systems , Concurrency: Practice and Experience, vol. 8, no. 2, pp. 147-166, 1996.
Paul Iglinski, Nicholas Kazouris, Steve MacDonald, Diego Novillo, Ian Parsons, Jonathan Schaeffer, Duane Szafron and David Woloschuk. Using a Template-Based Parallel Programming Environment to Eliminate Errors , High Performance Computing Symposium, Ottawa, June, 1996 (available on CD-ROM from Carleton University press).
Jonathan Schaeffer and Duane Szafron. Software Engineering Considerations in the Construction of Parallel Programs , in High Performance Computing: Technology and Applications, Jack Dongarra and L. Grandinetti and G. Joubert and Janus Kowalik (eds), Elsevier Science Publishers B.V., Netherlands, 1996.
David Woloschuk, Paul Iglinski, Steve MacDonald, Diego Novillo, Ian Parsons, Jonathan Schaeffer and Duane Szafron. Performance Debugging in the Enterprise Parallel Programming Environment , CASCON '95 , paper on CDROM, 1995
Duane Szafron, Jonathan Schaeffer, Paul Iglinksi, Ian Parsons, Randal Kornelson and Chris Morrow. Enterprise: Current Status and Future Directions , CASCON '94, paper on CD-ROM, 1994.
Duane Szafron and Jonathan Schaeffer. Experimentally Assessing the Usability of Parallel Programming Systems , Programming Environments for Massively Parallel Distributed Systems, Karsten Dekker and Rene Rehmann (editors), Birkhauser Verlag, Basel, Switzerland, pp. 195-201, 1994.
Paul Iglinski, Randal Kornelson, Chris Morrow, Ian Parsons, Jonathan Schaeffer, Carol Smith and Duane Szafron. Enterprise User's Manual, Version 2.2 , TR 94-04, Department of Computing Science, University of Alberta, 1994.
Jonathan Schaeffer. Reducing the Complexity of Parallel Software Development, Programming Environments for Massively Parallel Distributed Systems, Basel, Switzerland, 1994, pp. 409-410.
Jonathan Schaeffer, Duane Szafron, Greg Lobe and Ian Parsons. The Enterprise Model for Developing Distributed Applications , IEEE Parallel and Distributed Technology, vol. 1, no. 3, pp. 85-96; August 1993.
Xiaobo Li, Paul Lu, Jonathan Schaeffer, John Shillington, Pok Sze Wong and Hanmao Shi. On the Versatility of Parallel Sorting by Regular Sampling , Parallel Computing, vol. 19, pp. 1079-110, 1993.
Greg Lobe, Duane Szafron and Jonathan Schaeffer. The Enterprise User Interface , TOOLS 11 (Technology of Object-Oriented Languages and Systems), Englewood Cliffs, N.J., pp. 215-229, 1993.
Gregory V. Wilson, Jonathan Schaeffer and Duane Szafron. " Enterprise in Context: Assessing the Usability of Parallel Programming Environments , IBM CASCON '93, pp. 999-1010, 1993.
Hanmao Shi and Jonathan Schaeffer. Parallel Sorting by Regular Sampling , Journal of Parallel and Distributed Computing, vol. 14, no. 4, pp. 361-372, 1992.
Duane Szafron, Jonathan Schaeffer, Pok Sze Wong, Enoch Chan, Paul Lu and Carol Smith. The Enterprise Distributed Programming Model , Programming Environments for Parallel Computing, N. Topham, R. Ibbett and T. Bemmerl (editors), North Holland, The Netherlands, pp. 67-76, 1992.
Robert Gregorish, Xiaobo Li and Jonathan Schaeffer. Parallel Object Labeling in MIMD and Distributed Environments, in Pattern Recognition: Architectures, Algorithms and Applications, R. Plamondon and H.D. Cheng (ed.), World Science Publishing, pp. 55-74, 1991
Ajit Singh, Jonathan Schaeffer and Mark Green. A Template-Based Approach to the Generation of Distributed Applications Using a Network of Workstations, IEEE Transactions on Parallel and Distributed Computing, Vol. 2, No. 1, pp. 52-67, 1991.
Chris Shaw, Mark Green and Jonathan Schaeffer. A VLSI Architecture for Image Composition, in Advances in Computer Graphics Hardware III, A.A.M. Kuijk (ed.), Springer-Verlag, New York, pp. 183-199, 1991.
Robert Gregorish, Xiaobo Li and Jonathan Schaeffer. A Parallel MIMD Approach to Object Labeling, Vision Interface, pp. 1-8, 1990.
Jonathan Schaeffer. Distributed Game-Tree Searching, Journal of Parallel and Distributed Computing, Vol. 6, No. 2, pp. 90-114, 1989.
Ajit Singh, Jonathan Schaeffer and Mark Green. A Template-Based Tool for Building Applications in a Multicomputer Network Environment, in Parallel Computing 89, David Evans, Gerhard Joubert and Frans Peters (ed.), North-Holland, Amsterdam, pp. 461-466, 1989.
Ajit Singh, Jonathan Schaeffer and Mark Green. Structuring Distributed Algorithms in a Workstation Environment: The FrameWorks Approach, International Conference on Parallel Processing, pp. II89-II97, 1989.
Chris Shaw, Mark Green and Jonathan Schaeffer. Anti-Aliasing Issues in Image Composition, Graphics Interface '89, pp. 113-120, 1989.
Darrell Makarenko and Jonathan Schaeffer. A VLSI Multi-Precision Matrix Multiplier and Polynomial Evaluator, Journal of Parallel and Distributed Computing, Vol. 4, No. 6, pp. 619-628, 1987.
William W. Armstrong, T. Anthony Marsland, Marius Olafsson and Jonathan Schaeffer. Solving Equations of Motion on a Virtual Tree Machine, SIAM Journal of Scientific and Statistical Computing, Vol. 8, No. 1, pp. s59-s72, 1987.
Mark Green and Jonathan Schaeffer. Frameworks: A Distributed Computer Animation System, CIPS Edmonton, 1987, pp. 305-310.
Jonathan Schaeffer and Darrell Makarenko. Systolic Polynomial Evaluation and Matrix Multiplication with Multiple Precision, Computer Arithmetic Conference, pp. 110-117, 1985.
Jonathan Schaeffer. Virtual Data Paths, 2nd Canadian VLSI Conference, pp. 143-146, 1984.
Greg Bakker, Jonathan Schaeffer and Tom Schultz. Plato: A PLA/FSM Compiler, 1st Canadian VLSI Conference, pp. 137-140, 1983.
Jonathan Schaeffer, Patrick A.D. Powell and Jim Jonkman. A VLSI Chess Legal Move Generator, Third Caltech Conference on Very Large Scale Integration, pp. 331-349, 1983.