Synchronizing shared objects

This paper presents the integration of a concurrency control mechanism in class-based languages. Synchronization constraints are expressed as separate control clauses and are factorized for a class of objects. Interference of this mechanism with inheritance and transactions is examined and solutions are proposed. This paper addresses language and system issues: canonical examples of synchronized objects are provided and an implementation of the mechanism is outlined.

[1]  Walter H. Kohler,et al.  Concurrency Features for the Trellis/Owl Language , 1987, ECOOP.

[2]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[3]  C. Tomlinson,et al.  Inheritance and Synchronization with Enabled Sets , 1989, OOPSLA.

[4]  Colin Atkinson,et al.  Object oriented concurrency and distribution in dragoon , 1991 .

[5]  Roy H. Campbell,et al.  Synchronizing shared objects , 1995, Distributed Syst. Eng..

[6]  Jacques Mossière,et al.  Persistent shared object support in the Guide system: evaluation & related work , 1994, OOPSLA 1994.

[7]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[8]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[9]  Dennis G. Kafura,et al.  Inheritance in Actor Based Concurrent Object-Oriented Languages , 1989, Comput. J..

[10]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[11]  D. Decouchant,et al.  A synchronization mechanism for typed objects in a distributed system , 1988, OOPSLA/ECOOP '88.

[12]  Jean-Pierre Verjus,et al.  Toward Autonomous Descriptions of Synchronization Modules , 1977, IFIP Congress.

[13]  Vinny Cahill,et al.  The Comandos Distributed Application Platform , 1993, Comput. J..

[14]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[15]  Akinori Yonezawa,et al.  ABCL: an object-oriented concurrent system , 1990 .

[16]  Oscar Nierstrasz Active objects in hybrid , 1987, OOPSLA 1987.

[17]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[18]  Pierre America,et al.  Designing an Object-Oriented Programming Language with Behavioural Subtyping , 1990, REX Workshop.

[19]  Michel Riveill,et al.  The Guide Language , 1994, Comput. J..

[20]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[21]  Satoshi Matsuoka,et al.  Analysis of inheritance anomaly in object-oriented concurrent programming languages , 1993 .