Aspect-Oriented Programming for Role Models
Elizabeth A. Kendall · 1999
ject. The methods of the role can be defined in terms of the methods of the object, but not vice versa. . Dynamicity: a role can be added or removed during the lifetime of an object. This occurs at the instance level. . Identity: the role and the object have the same identity. The object and its roles are seen and can be manipulated as one entity. . Inheritance: a role for a class is also a role for any subclass, and a super-role is a role for a class if its sub-role is a role for the class. However, an alternative criteria [1] states that a role should be able to be assigned to any class. . Locality: a role only has meaning in a role model E. A. Kendall, Role Models in Aspect Oriented Programming 2 . Multiplicity: several instances of a role may exist for a given object at one time. An object may play several roles at once, including multiple instances of the sa