CLU reference manual
Experience with processes and monitors in Mesa
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Operating system principles
Resource management in a decentralized system
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
The problem of nested monitor calls
ACM SIGOPS Operating Systems Review
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
Models for visualization in parallel debuggers
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Distributed software engineering
ICSE '94 Proceedings of the 16th international conference on Software engineering
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
Mayflower: a distributed, object-oriented programming system
EW 2 Proceedings of the 2nd workshop on Making distributed systems work
Research: Designing a system infrastructure for distributed programs
Computer Communications
Hi-index | 0.00 |
Recent programming languages have attempted to provide support for concurrency and for modular programming based on abstract interfaces. Building on experience of adding monitors to CLU, a language oriented towards data abstraction, it is explained how these two goals conflict. In particular, the clash between conventional views on interface abstraction and the programming style required for avoiding monitor deadlock is discussed. It is argued that the best compromise between these goals is a combination of a fine-grain locking mechanism together with a method for explicitly defining concurrency properties for selected interfaces.