RolePlayers and Roles (was: PIE)

Gilles Vanwormhoudt vanwormhoudt at enic.fr
Tue Feb 26 09:51:52 UTC 2002


Hi, 


> It seemed to me that perspectives provided a good way of getting away from
> the problems of multiple inheritance. There is an Oopsla paper that makes a
> similar argument. ("The Point of View notion for Multiple Inheritance",
> 1990) 

> By the way, there has been a fair bit of work done on perspectives after
> PIE. The work on "roles" is also related, and of course, all that on
> subjects and aspects, too, sometimes it is more relevant, sometimes less.

> Henrik

>>It would be great if you could make some of the postPIE work 
>> available (like the paper you mention below).

>>P.S. Actually there is a way to make this work for every object ...

>> Cheers,

>> Alan

I put two papers about perspectives in object-oriented langages
including the one 
requested by Alan (http://www.lifl.fr/~vanwormh/povpapers/index.hmtl) :

- The Point of View notion for Multiple Inheritance 
Bernard Carré and Jean-Marc Geib
ECOOP/OOPSLA'90 
[This paper was written by my PHD supervisor. It introduces the "point
of view" notion 
provided by the ROME language which limits the lookup for an object to a
sub-graph of its
classes (where some classes describe perspectives on objects). During my
thesis, i pursued this work 
to apply and systematize the previous notion to a system of objects. It
gives the CROME extension (Context in ROME). The idea is to increment
modularly the description of a structured set of classes  according to
different contexts (where a context corresponds to a functional view
upon the system). The description of objects particuliar to a context is
defined by a new abstraction which preserve the identity and can be
written independly of other context (specially, homonymous instance
variables and methods are authorized). Then, objects created from the
augmented classes are able to behave and communicate according to each
context. In particular, it is possible to send the same message to an
object in different context and get different behavior from the
receiver.
 
Concerning the implementation of point of view and context, we did not
follow the PIE approach 
which consist in representing each perspective by a different object.
This is because we consider 
that perspectives should not introduce new identity of objects (or you
must preciously manage these identities) So, we adopt an approach based
upon new kind of links between objects and classes which is somewhat
similar to multiple inheritance but is more flexible (the instance-of
link between a object and its class is conserved). More generally, we
consider that representation of perspectives should be treated at the
meta-level (that's what I done when i implement context into the ROME
language which is based upon the ObjVlisp kernel)] 
 

- Representation of Complex Objects: Multiple Facets with Part-Whole
Hierarchies
Francis Wolinski and Jean François Perrot
ECOOP'91
[This paper is an attempt to apply the PIE approach to composite
objects. 
The system is implemented in Smalltalk].



I have a large bibliography about perspectives in object-oriented
languages 
(citing more recent papers such as those about subject-oriented
programming). Let me 
know if you are interested in. 

Cheers, 
Gilles.



More information about the Squeak-dev mailing list