Roles From an Aspect-Oriented Perspective

Roles and aspects have become more and more popular in the recent past. Although similarities as well as differences have been often discussed in literature, there is still no clear separation between both approaches, nor a convincing statement whether there is a difference at all. One reason for this confusion is caused by the fact that there is a variety of role systems as well as aspect-oriented systems which provide quite different sets of mechanisms for similar concepts. This paper provides a unified view on aspect-oriented systems based on design dimensions for aspect-oriented systems, and maps the notion of roles to such design dimensions. Based on this mapping, this paper argues that role systems can be seen as a special kind of aspect-oriented systems having particular characteristics.

[1]  Mira Mezini,et al.  Programming with Aspectual Components , 1999 .

[2]  Stefan Hanenberg,et al.  Roles and Aspects: Similarities, Differences, and Synergetic Potential , 2002, OOIS.

[3]  Friedrich Steimann Why most domain models are aspect free , 2004 .

[4]  Bent Bruun Kristensen Object-Oriented Modelling with Roles , 1995, OOIS.

[5]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[6]  Michael Schrefl,et al.  Extending object-oriented systems with roles , 1996, TOIS.

[7]  Stefan Hanenberg,et al.  Parametric introductions , 2003, AOSD '03.

[8]  Elizabeth A. Kendall,et al.  Role model designs and implementations with aspect-oriented programming , 1999, OOPSLA '99.

[9]  Kris Gybels,et al.  Arranging language features for more robust pattern-based crosscuts , 2003, AOSD '03.

[10]  Tzilla Elrad,et al.  Aspect-Oriented Software Development , 2004 .

[11]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[12]  Roles Conceptual Abstraction Theory Practical Language Issues , 1996 .

[13]  Mitchell Wand A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming , 2001, SAIG.

[14]  Robert Hirschfeld,et al.  AspectS - Aspect-Oriented Programming with Squeak , 2002, NetObjectDays.

[15]  Friedrich Steimann,et al.  On the representation of roles in object-oriented and conceptual modelling , 2000, Data Knowl. Eng..

[16]  Daniel Bardou Roles, Subjects and Aspects: How Do They Relate? , 1998, ECOOP Workshops.

[17]  Kasper Østerbye,et al.  Roles: Conceptual Abstraction Theory and Practical Language Issues , 1996, Theory and Practice of Object Systems.

[18]  Stefan Hanenberg,et al.  Eine Taxonomie für aspektorientierte Systeme , 2005, Software Engineering.