Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!apple!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!mcsun!cernvax!chx400!chx400!ugun2b!cui!oscar From: oscar@cui.unige.ch (Oscar Nierstrasz) Newsgroups: comp.object Subject: Re: Concurrency vs Inheritence Message-ID: <5345@cui.unige.ch> Date: 5 Apr 91 08:15:33 GMT References: <908@antares.Concordia.CA> Organization: University of Geneva, Switzerland Lines: 88 bcheung@omicron.cs.concordia.ca (CHEUNG yik-chi) writes: >I just begin working on concurrency vs inheritence. >Is there some people also working on the same thing. >If yes, may we open this issue for infomation change? and ...etc. >You can email to me, or post it on this group. The basic reference is: %A D.G. Kafura %A K.H. Lee %T Inheritance in Actor Based Concurrent Object-Oriented Languages %J Proceedings of the Third European Conference on Object-oriented Programming %C Nottingham %I Cambridge University Press %D July 10-14, 1989 %P 131-145 The essence of the problem is that (1) synchronization code embedded in superclasses is hard to reuse by subclasses that must cooperate with the inherited code, and (2) superclass code has limited reusability since it has no way of knowing what additional synchronisation policies the subclasses wish to introduce. The problem arises because there is no abstraction of synchronisation available at the interface level visible to inheriting subclasses. Kafura and Lee proposed "behaviour abstraction" (abstract states corresponding to services available at different times -- e.g., full, ampty and partially full abstract states for a bounded buffer during which different combinations of put and get operations are available). A related proposal by Tomlinson and Singh made these abstract states first class values as "enabled sets" (i.e., indicating which operations are "enabled"). Neither proposal solves the problem of local delays due to message contents (e.g., get(N) elements from a buffer may be delayed if there are less than N elements available). %A C. Tomlinson %A V. Singh %T Inheritance and Synchronization with Enabled Sets %J ACM SIGPLAN Notices, Proceedings OOPSLA '89 %V 24 %N 10 %P 103-112 %D Oct 1989 Very promising are recent attempts to "unbundle" inheritance to provide finer control over the way new classes are defined from old. %A G. Bracha %A Wm. Cook %T Mixin-based Inheritance %J ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90 %V 25 %N 10 %P 303-311 %D Oct 1990 %A A.V. Hense %T Denotational Semantics of an Object Oriented Programming Language with Explicit Wrappers %R Technical report A11/90 %I FB 14, Universit\:at des Saarlandes %D Nov. 5, 1990 %O submitted for publication So far no one has really used unbundled inheritance to deal with concurrent objects, but I think this is the way to go. We give some hints in this direction in a paper in last year's OOPSLA. %A O.M. Nierstrasz %A M. Papathomas %T Viewing Objects as Patterns of Communicating Agents %J ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90 %V 25 %N 10 %P 38-43 %D Oct 1990 Oscar Nierstrasz ------------------------------------------------------------------- Dr. O.M. Nierstrasz | Tel: 41 (22) 787.65.80 University of Geneva | Fax: 735.39.05 Centre Universitaire d'Informatique | Home: 733.95.68 12 rue du Lac, CH-1207 Geneva | E-mail: oscar@cui.unige.ch SWITZERLAND | oscar@cgeuge51.bitnet -------------------------------------------------------------------