Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience with processes and monitors in Mesa
Communications of the ACM
An alternative to event queues for synchronization in monitors
Communications of the ACM
Communications of the ACM
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Verifying Concurrent Processes Using Temporal Logic
Verifying Concurrent Processes Using Temporal Logic
Software Specification Techniques (International Computer Science Series)
Software Specification Techniques (International Computer Science Series)
The Temporal Semantics of Concurrent Programs
Proceedings of the International Sympoisum on Semantics of Concurrent Computation
Procedures and concurrency: A study in proof
Proceedings of the 5th Colloquium on International Symposium on Programming
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
The non-problem of nested monitor calls
ACM SIGOPS Operating Systems Review
Evaluating synchronization mechanisms
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Language features for process interaction
Proceedings of an ACM conference on Language design for reliable software
Hi-index | 0.00 |
A description is given of language constructs for specifying concurrency in CDL*. The main goals in designing the language have been: modular specification, data integrity, and expressiveness. The language constructs are presented, and it is shown through examples how the constructs mirror the goals. The major advantages of the constructs are as follows: (1) data integrity is achieved without resorting to mutual exclusion unnecessarily, (2) dynamic resource management is achieved safely guaranteeing the anonymity of the dynamically allocating resources, and (3) similar components can be packaged together without resorting to sequential access. Various features of the language are illustrated through examples. In short, the language provides a step towards integrating abstraction mechanisms and specification techniques. Some of the features in CDL* are compared to some of the features available in other languages, including distributed programming languages.