David Taylor’s Home Page

UW logo
I was a Professor in the David R. Cheriton School of Computer Science at the University of Waterloo for 38 years. I have now retired and hold the title of Professor Emeritus. I am also an Honorary Member of the University.

Research Areas

My Ph.D. thesis was in the area of fault tolerance, specifically looking at robust implementations of data structures. I continued to work in fault tolerance for my first years as a faculty member, focusing to a large extent on data-structure issues, but examining some other fault-tolerance issues as well.

Distributed-systems research had always been at least in the background. My Ph.D. supervisor was in the Computer Communications Networks Group and I joined that group as soon as I became a faculty member. Eventually, my research interests shifted so that distributed computing systems became the primary focus. In distributed systems, I concentrated on techniques and tools for debugging distributed applications. Our research group developed a good understanding of techniques for displaying execution histories of distributed (or parallel) applications and for applying abstraction to large histories so that currently irrelevant detail can be suppressed and relevant features more easily seen. Many of our theoretical ideas were implemented in a prototype tool known as POET (the Partial-Order Event Tracer). We also explored the application of our ideas concerning debugging to systems and application management in distributed systems.

Not long after I began doing significant work related to the debugging of distributed applications, the Director of the Centre for Advanced Studies (CAS) at the IBM Toronto Laboratory became interested in the work. That led to a sabbatical at CAS and a many-year collaboration with IBM. That collaboration provided research funding, opportunities for graduate students, and access to real-world problems. It also led to the inclusion of software developed in our research group in an IBM product (the Object-Level Trace facility in IBM Component Broker).

In retirement, I continue to participate as an observer in the Shoshin research group, now led by Prof. Bernard Wong. I am no longer doing my own research or supervising graduate students. My research activity is now limited to making occasional, I hope useful, comments on graduate-student presentations to the Shoshin group or the Systems and Networks group.

A close-to-complete list of my published papers can be found on DBLP. On recently taking a close look at my information in DBLP, I discovered that some (seven, I think) of my papers are not included in my entry, primarily because of the omission of my middle initial. DBLP has a mechanism for getting papers moved from a disambiguation page to their proper place, so I will try to get my DBLP entry tidied up.

I also hold one patent: David Taylor. Method and apparatus for constructing displays of partially ordered data. Canadian patent 2,129,190, issued August 17, 1999. (Also U. S. Patent 5,640,500, issued June 17, 1997, with title Computer program product for enabling a computer to construct displays of partially ordered data.) The patent application was funded by IBM and the patent was licensed to them.

The research described above took place in the Shoshin research group and received funding support from a variety of sources, principally the Natural Sciences and Engineering Research Council and IBM. My sabbatical at the University of Newcastle upon Tyne was partially funded by the Science and Engineering Research Council (now the Engineering and Physical Sciences Research Council).


I have resisted requests to do sessional teaching in retirement and during my time as Director of the School I had full teaching relief, so I have not taught courses for many years. I taught a significant variety of courses throughout my career, but for the latter years in which I was teaching, I primarily taught Operating Systems, Distributed Systems, and graduate-topics courses. If you teach for long enough, all sorts of oddities turn up in your detailed teaching record: I taught two entirely different courses labeled CS 350 (architecture and operating systems) and I taught operating systems under three different course numbers, all covering the same basic range of material (CS 350, CS 354, and CS 454).

Academic History

I obtained an Honours B.Sc. in mathematics from the University of Saskatchewan and M.Math. and Ph.D. degrees in computer science from the University of Waterloo. On completing my Ph.D., I took a one-year faculty position at the University of Waterloo, to wait out a hiring freeze at Bell-Northern Research. And, 38 years later, I retired from U of W. During my career, I had five sabbatical leaves: the University of Newcastle upon Tyne (1983-1984), the IBM Toronto Laboratory (1991-1992 and 2007-2008), the IBM T. J. Watson Research Center (1999-2000), and a final tidy-up-my-career sabbatical during which I remained at U of W. I was a CAS Visiting Science at the Toronto Lab during the period between my two sabbaticals there (with a formal gap of one year for my sabbatical at T. J. Watson).

Administrative service to U of W

I was Associate Chair (Undergraduate) in the then-Department of Computer Science for three years (1987-1990) and then filled in for another year, to cover a leave in 1998-1999. I was Associate Dean (Undergraduate Studies) in the Faculty of Mathematics for seven years (2001-2007). I was appointed to the position just in time to be involved in the transition from our former student system to what is now called Quest, a particularly trying time for those involved in the undergraduate program. I was Director of the David R. Cheriton School of Computer Science for four years (2010-2014).

In Computer Science, I served on numerous committees. The following list is far from complete (an asterisk means that at some point I chaired that committee): Curriculum Committee* (later called Undergraduate Academic Plans Committee), Recruiting Committee* (later called Departmental Advisory Committee on Appointments, then School Advisory Committee on Appointments), Tenure and Promotion Committee*, Ph.D. Comprehensive Examination Committee* (I first served on this committee as the graduate-student representative), Graduate Committee, Undergraduate Admissions Committee, Committee on Committees* (committee to reorganize the structure of the Department).

I also served on numerous committees at the Faculty Level, including Standings and Promotions Committee*, Medals Committee*, Undergraduate Affairs Committee*, Student-Faculty Liaison Committee, Executive Committee of Faculty Council (later called Administrative Committee), Co-Op Enhancement/Review Committee*, Faculty Committee on Student Appeals*, Undergraduate Admissions Committee.

Finally, I served on committees and similar bodies beyond the Faculty Level, including Senate, Senate Undergraduate Council, Senate Executive, Senate Library Committee, Senate Long Range Planning Committee, Board of Governors, Board of Governors Executive, Co-op Review Overview Committee, Academic Board for Independent Studies.

I have not entirely escaped serving on University committees in retirement; see below.

Service to the Research Community

I have had a variety of roles in conferences and journals. My major continuing activity was in the International Conference on Dependable Systems and Networks (Annual International Symposium on Fault-Tolerant Computing prior to 2000). I served as Publications Chair in 1991; Conference Coordinator in 2006 and 2010; Registration Chair in 2014, 2017, and 2019; and was a member of the Program Committee numerous times, beginning in 1988.

For the Symposium on Reliable Distributed Systems, I served as Program Chair in 1993, General Chair in 1996, and was a member of the Program Committee several times. I was a Program Vice-Chair for the International Conference on Distributed Computing Systems in 1995.

I was a member of the editorial board for IEEE Transactions on Knowledge and Data Engineering from 1997 to 2001. I was a member of the editorial board for IEEE Transactions on Dependable and Secure Computing from 2009 to 2013. From 1991 to 2002, I wrote reviews for Computing Reviews.

Community Service

In retirement I have had more time for volunteer activities unrelated to computer science. I am currently a member of the Board of the University of Waterloo Retirees Association (UWRA). My role on the Board is Pension and Benefits Committee Liaison, which means, among other responsibilities, that I am a voting member of the University Pension and Benefits Committee. I am on the Board of the Grand Philharmonic Choir and serve as treasurer of the Choir. I am also on the Board of Canadian Baptists of Ontario and Quebec and serve as Policy Officer,


My office address is

  David R. Cheriton School of Computer Science
  University of Waterloo
  Waterloo, Ontario, Canada N2L 3G1

Office: DC 3511

Phone: +1 (519) 888-4567, ext. 34432
E-mail: dtaylor@uwaterloo.ca
www: http://www.cs.uwaterloo.ca/~dtaylor

Fri 19 Aug 2022 02:00:08 PM EDT