Norm Hutchinson

Associate Professor

Office Phone #

Academic Information

B.Sc., University of Calgary (1982); M.Sc., University of Washington (1985); Ph.D., University of Washington (1987); Visiting Assistant Professor, University of Arizona. (1987-1988); Assistant Professor, University of Arizona (1988-1990); Assistant Professor, University of British Columbia (1991 - 1998); Associate Professor, UBC (1998 - ).


My primary research interest is in the identification of abstractions that assist in the construction of concurrent and distributed programs. A distributed execution environment consisting of a (potentially large) number of independent computers communicating over a network offers the potential for supporting very large, very reliable applications. However, such an environment has hitherto been very complex to program. Some of the contributing factors include:

  • unreliable communication
  • no consistent notion of time
  • failure of a part of the system (one or more processors), while the rest of the system continues to execute.

Abstractions can be defined at a number of different levels to assist in the construction of such applications. Programming language abstractions include replicated objects, mobile objects, and exception mechanisms that allow the application to be aware of the changes in configuration of the underlying system. At the operating system level, similar mechanisms for replication, mobility, and configuration management can be defined. Communication protocols are the building blocks from which all these abstractions are implemented.

Selected Publications

Andrew P. Black, Norman C. Hutchinson, Eric Jul, and Henry M. Levy, "The development of the Emerald Programming Language", Proceedings of the Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III), San Diego, CA, June 2007.
Brendan Cully, Geoffrey Lefebvre, Dutch T. Meyer, Michael J. Feeley, Norman C. Hutchinson, and Andrew Warfield, "Remus: High Availability via Asynchronous Virtual Machine Replication", Proceedings of the Fifth USENIX Symposium on Networked Systems Design and Implementation (NSDI '08), pp. 161-174, San Francisco, CA, April 2008.
Dutch T. Meyer, Gitika Aggarwal, Brendan Cully, Geoffrey Lefebvre, Michael J. Feeley, Norman C. Hutchinson, and Andrew Warfield, "Parallax: Virtual Disks for Virtual Machines", Proceedings of the Third EuroSys Conference (EuroSys '08), pp. 41-54, Glasgow, Scotland, April 2008.

Research Interests


Research Groups

Systopia: Networks, Systems and Security Lab

Latest Courses

2020 Winter

CPSC 210 - Software Construction
CPSC 110 - Computation, Programs, and Programming

2019 Winter

CPSC 110 - Computation, Programs, and Programming
CPSC 210 - Software Construction

2017 Winter

CPSC 411 - Introduction to Compiler Construction

2016 Winter

CPSC 210 - Software Construction
CPSC 210 - Software Construction

2015 Winter

CPSC 210 - Software Construction