Monitors and Concurrent Pascal: A Personal History
(1993)
This is a personal history of the early development of the monitor concept and its implementation in the programming language Concurrent Pascal. The paper explains how monitors evolved from the ideas of Dahl, Dijkstra, Hoare, and the author (1971–73). At Caltech the author and his students developed and implemented Concurrent Pascal and used it to write several model op- erating systems (1974–75). A portable implementation of Concurrent Pascal was widely distributed and used for system design (1976–90). The monitor paradigm was also disseminated in survey papers and text books. The au- thor ends the story by expressing his own mixed feelings about monitors and Concurrent Pascal.
1 A Programming Revolution
In the 1970s new programming languages were developed to express asyn- chronous, concurrent processes. These languages support the now familiar paradigms for process communication known as monitors, remote procedure calls, and synchronous communication. The most in uential early idea was the monitor concept and its implementation in the programming language Concurrent Pascal. This is a personal history of how monitors and Concurrent Pascal were invented. I have tried to write the history of an idea—how it arose and spread through the scienti c community. I have also described the struggles of the creative process, how you grope your way through obscurities and blind alleys until you nd an elegant way of expressing an idea.