Problem oriented programming languages
Problem oriented programming languages
CLU reference manual
Operating systems: structures and mechanisms
Operating systems: structures and mechanisms
Synchronization of parallel programs
Synchronization of parallel programs
Data abstraction in programming languages
Data abstraction in programming languages
Real-time Euclid: a language for reliable real-time systems
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
Programming language concepts (2nd ed.)
Programming language concepts (2nd ed.)
About the semantic nested monitor calls
ACM SIGPLAN Notices
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Parallel programming
Concurrent programming for software engineers
Concurrent programming for software engineers
Device management in TURNING PLUS
ACM SIGOPS Operating Systems Review
Pascal-FC: a language for teaching concurrent programming
ACM SIGPLAN Notices
Operating systems: concepts, policies, and mechanisms
Operating systems: concepts, policies, and mechanisms
Concurrent program structures
Principles of operating systems
Principles of operating systems
Concurrent programming
Concepts of programming languages
Concepts of programming languages
Essays in computing science
Software—Practice & Experience
A multiprocessor implementation of Joyce
Software—Practice & Experience
Programming languages: a grand tour
Programming languages: a grand tour
Real time languages: design and development
Real time languages: design and development
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
Parallel processing: principles and practice
Parallel processing: principles and practice
Synchronization and control of distributed systems and programs
Synchronization and control of distributed systems and programs
Concurrent programming: principles and practice
Concurrent programming: principles and practice
Centralized and distributed operating systems
Centralized and distributed operating systems
Modern operating systems
Programming models for parallel systems
Programming models for parallel systems
Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Experience with processes and monitors in Mesa
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Distributed processes: a concurrent programming concept
Communications of the ACM
An alternative to event queues for synchronization in monitors
Communications of the ACM
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Communications of the ACM
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Fundamentals of Programming Languages
Fundamentals of Programming Languages
Principles of Programming Languages
Principles of Programming Languages
Programming Methodology: A Collection of Articles by Members of IFIP WG 2.3
Programming Methodology: A Collection of Articles by Members of IFIP WG 2.3
The architecture of concurrent programs
The architecture of concurrent programs
Operating system principles
Concurrent Pascal Compiler for Minicomputers
Concurrent Pascal Compiler for Minicomputers
Principles of Concurrent Programming
Principles of Concurrent Programming
Structured System Programming
On the Construction of Programs
On the Construction of Programs
Portable Programs for Parallel Processors
Portable Programs for Parallel Processors
The non-problem of nested monitor calls
ACM SIGOPS Operating Systems Review
The problem of nested monitor calls revisited
ACM SIGOPS Operating Systems Review
Writing device drivers in Concurrent Pascal
ACM SIGOPS Operating Systems Review
Short-term scheduling in multiprogramming systems
SOSP '71 Proceedings of the third ACM symposium on Operating systems principles
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Programming languages for operating systems.
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Proceedings of an ACM conference on Language design for reliable software
The purpose of concurrent Pascal
Proceedings of the international conference on Reliable software
The problem of nested monitor calls
ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Specification, verification, and implementation of concurrent programs.
Specification, verification, and implementation of concurrent programs.
Distributed processes: experience and architectures
Distributed processes: experience and architectures
Applications of abstract data types: the trio operating system
Applications of abstract data types: the trio operating system
A short introduction to Concurrent Euclid
ACM SIGPLAN Notices
A comparative survey of concurrent programming languages
ACM SIGPLAN Notices
Processor management in a concurrent Pascal kernel
ACM SIGOPS Operating Systems Review
Operating systems
Structured programming
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
Scheduling-independent threads and exceptions in SHIM
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Synchronization cannot be implemented as a library
Proceedings of the 2012 ACM conference on High integrity language technology
Lock-free protected types for real-time ada
ACM SIGAda Ada Letters
Hi-index | 0.00 |
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--1973). At Caltech the author and his students developed and implemented Concurrent Pascal and used it to write several model operating systems (1974--1975). A portable implementation of Concurrent Pascal was widely distributed and used for system design (1976--1990). The monitor paradigm was also disseminated in survey papers and textbooks. The author ends the story by expressing his own mixed feelings about monitors and Concurrent Pascal.