The purpose of concurrent Pascal
Per Brinch Hansen · 1975
This is the first of three papers that describe a new programming language for structured programming of computer operating systems [1, 2, 3]. It extends the sequential programming language Pascal with concurrent programming tools called processes and monitors. These concepts are explained informally by means of pictures that illustrate a hierarchical design of a simple spooling system. The main contribution of Concurrent Pascal is to extend the monitor concept with an explicit hierarchy of access rights to shared data structures that can be stated in the program text and checked by a compiler.