Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Operating system principles
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proving Failure-Free Properties of Concurrent Systems Using Temporal Logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience with processes and monitors in Mesa
Communications of the ACM
Toward a discipline of real-time programming
Communications of the ACM
Starving philosophers: experimentation with monitor synchronization
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Capsules: A Shared Memory Access Mechanism for Concurrent C/C++
IEEE Transactions on Parallel and Distributed Systems
Pragmatic Nonblocking Synchronization for Real-Time Systems
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Survey of recent operating systems research, designs and implementations
ACM SIGOPS Operating Systems Review
Specifying and proving properties of sentinel processes
ICSE '81 Proceedings of the 5th international conference on Software engineering
Evaluating synchronization mechanisms
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Reply to "on proof rules for monitors"
ACM SIGOPS Operating Systems Review
Monitors and Concurrent Pascal: a personal history
History of programming languages---II
ACM Transactions on Programming Languages and Systems (TOPLAS)
A survey of support for structured communication in concurrency control models
Journal of Parallel and Distributed Computing
Hi-index | 0.03 |
Monitors are a convenient and powerful tool for writing schedulers in concurrent programs. There are at least four conventions for handling their wait and signal operations: the signaling process may yield to the waiting one, continue and thus leave the signal pending, or return immediately from the monitor; or signals may be performed automatically. Formal proof schemas are presented for each of the signaling conventions. Such schemas not only support proof of monitors, they also display the conventions' properties precisely and allow them to be compared. It is shown that all of the conventions are equivalent except for immediate return, which is strictly weaker than the others. A modification of immediate return which corrects its weakness and retains its desirable features is proposed.