Synchronisation, Concurrent Object-Oriented Programming and the Inheritance Anomaly

There have been a number of models proposed for integrating concurrency and object-oriented programming. Unfortunately, there have been few criteria proposed for evaluating them. In focusing on issues of inheritance, designers of new concurrent object-oriented programming languages appear to have forgotten the experiences learned from over two decades of concurrent programming. In this paper we review Bloom's criteria for evaluating the expressive power of synchronisation primitives, and apply it in an object-oriented framework. We show that most of the available concurrent object-oriented programming languages lack expressive power, and that this contributes to the so-called inheritance anomaly. We then propose a new model which does address all of Bloom's criteria.

[1]  Bertrand Meyer,et al.  Systematic concurrent object-oriented programming , 1993, CACM.

[2]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[3]  Gregory R. Andrews,et al.  Concepts and Notations for Concurrent Programming , 1983, CSUR.

[4]  Gul Agha,et al.  Research directions in concurrent object-oriented programming , 1993 .

[5]  Akinori Yonezawa,et al.  Object-oriented concurrent programming ABCL/1 , 1986, OOPLSA '86.

[6]  Szabolcs Ferenczi,et al.  Guarded methods vs. inheritance anomaly: inheritance anomaly solved by nested guarded method calls , 1995, SIGP.

[7]  Pierre America,et al.  Pool-T: a parallel object-oriented language , 1987 .

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

[9]  Gul Agha An overview of actor languages , 1986 .

[10]  C. Tomlinson,et al.  Rosette: An object-oriented concurrent systems architecture , 1988, OOPSLA/ECOOP '88.

[11]  Akinori Yonezawa,et al.  Object-oriented concurrent programming ABCL/1 , 1986, OOPLSA '86.

[12]  Toby Bloom,et al.  Evaluating synchronization mechanisms , 1979, SOSP '79.

[13]  Mario Tokoro,et al.  Experience and evolution of concurrent Smalltalk , 1987, OOPSLA 1987.

[14]  Mario Tokoro,et al.  Object-oriented concurrent programming , 1987 .

[15]  Mario Tokoro,et al.  The design and implementation of Concurrent Smalltalk , 1986, OOPLSA '86.

[16]  Colin Atkinson Object-oriented reuse, concurrency and distribution - an Ada-based approach , 1991 .

[17]  Mario Tokoro,et al.  Concurrent programming in concurrent Smalltalk , 1987 .