Inheritance and synchronization with enabled-sets

We discuss several issues related to the integration of inheritance and concurrency in an object-oriented language to support fine-grain parallel algorithms. We present a reflective extension of the actor model to implement inheritance mechanisms within the actor model. We demonstrate that a particularly expressive and inheritable synchronization mechanism must support local reasoning, be composable, be first-class, and allow parameterization based on message content. We present such a mechanism based on the concept of enabled-sets, and illustrate each property. We have implemented enabled-sets in the Rosette prototyping testbed.

[1]  D. Caromel A general model for concurrent and distributed object-oriented programming , 1988, OOPSLA/ECOOP '88.

[2]  Akinori Yonezawa,et al.  Inheritance and Synchronization in Concurrent OOP , 1987, ECOOP.

[3]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[4]  Nicholas Carriero,et al.  Distributed data structures in Linda , 1986, POPL '86.

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

[6]  Andrew A. Chien,et al.  Architecture of a message-driven processor , 1987, ISCA '87.

[7]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA '88.

[8]  Ehud Shapiro,et al.  Concurrent PROLOG: Collected Papers , 1987 .

[9]  Russ Miller,et al.  Mesh Computer Algorithms for Computational Geometry , 1989, IEEE Trans. Computers.

[10]  F. André,et al.  Synchronization of Parallel Programs , 1985 .

[11]  Pierre America,et al.  Inheritance and Subtyping in a Parallel Object-Oriented Language , 1987, ECOOP.

[12]  Hartmut Schmeck,et al.  Systolic Sorting on a Mesh-Connected Network , 1985, IEEE Transactions on Computers.

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

[14]  W. C. Athas,et al.  Cantor: an actor programming system for scientific computing , 1988, OOPSLA/ECOOP '88.

[15]  Alan Snyder,et al.  Inheritance and the Development of Encapsulated Software Systems , 1987, Research Directions in Object-Oriented Programming.

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

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