Distributed concurrent smalltalk: a language and system for the interpersonal environment
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
A synchronization mechanism for typed objects in a distributed system
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
Inheritance and synchronization with enabled-sets
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Viewing object as patterns of communicating agents
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
Process synchronization by counter variables
ACM SIGOPS Operating Systems Review
Hi-index | 0.00 |
Many synchronization mechanisms have been designed specifically for Concurrent Object-Oriented Programming as e.g. in Guide [Dec89], ACT++ [Kaf89], DCST [Nak89], and Rosette [Tom89]). In this paper we will give an adaption of "synchronization counters" to the requirements of Object-Oriented Programming. Synchronization counters were introduced independently by Gerber [Ger77] and Robert, Verjus [Rob77]. They are used in the synchronization concept of activation conditions of the COOPL Guide [Dec89]. Although they have some nice properties as e.g. a highly expressive power, they at least do not meet the requirement of an OOPL that classes should be redefinable and extendable with a minimal amount of code. We present the concept of activation conditions in section 2 and discuss the strengths and shortcomings of synchronization counters. We will then refine the concept of synchronization counters to the concept "behavior counters". Here the strong relation of a synchronization counter to its method is replaced by a flexible relation of a behavior counter to a (redefinable) set of methods. It adopts the principle of behavior abstractions presented by Kafura and Lee in the Concurrent OOPL ACT++ [Kaf89].