Join Point Designation Diagrams: a Graphical Representation of Join Point Selections

The specification of join point selections (also known as "pointcuts") is a major design issue in Aspect-Oriented Software Development. Aspect-oriented systems generally provide specific language constructs (subsumed by the term "pointcut language") for specifying such a join point selection. Pointcut languages differ widely with respect to their syntax and semantics. Consequently, developers familiar with one specific language can hardly benefit from this knowledge when designing and implementing pointcuts in another language. This implies that developers working with different aspect-oriented languages can hardly communicate their design to each other, and knowledge about aspect-oriented design can hardly be transferred among developers developing in different languages. In order to overcome this problem, we present novel specification means based on the UML to represent diverse ways of join point selections — without relying on language-specific syntax and semantics. Instead, the proposed language constructs are able to express join point selections in a variety of different aspect-oriented programming languages.

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

[2]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[3]  Ruzanna Chitchyan,et al.  Persistence as an aspect , 2003, AOSD '03.

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

[5]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[6]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable aspects , 2001, ICSE 2001.

[7]  Gabriele Taentzer,et al.  The AGG approach: language and environment , 1999 .

[8]  Stefan Hanenberg,et al.  AspectJ Idioms for Aspect-Oriented Software Construction , 2003, EuroPLoP.

[9]  M. Cibrán,et al.  Aspect-Oriented Programming for Connecting Business Rules , 2003 .

[10]  Stefan Hanenberg,et al.  On Relationships Between Query Models , 2005, ECMDA-FA.

[11]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[12]  Hidehiko Masuhara,et al.  A Compilation and Optimization Model for Aspect-Oriented Programs , 2003, CC.

[13]  Gregor Kiczales,et al.  Back to the future: a retroactive study of aspect evolution in operating system code , 2003, AOSD '03.

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

[15]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[16]  Gregor Kiczales,et al.  Design pattern implementation in Java and aspectJ , 2002, OOPSLA '02.

[17]  Gregor Kiczales,et al.  Discussing Aspects of Aspect-Oriented Programming , 2001 .

[18]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[19]  Stefan Hanenberg,et al.  A Graphical Notation to Specify Model Queries for MDA Transformations on UML Models , 2004, MDAFA.

[20]  Andreas Ludwig,et al.  Aspect Weaving with Graph Rewriting , 1999, GCSE.

[21]  Shmuel Katz,et al.  Architectural views of aspects , 2003, AOSD '03.

[22]  Hans-Arno Jacobsen,et al.  Quantifying aspects in middleware platforms , 2003, AOSD '03.

[23]  Audris Kalnins,et al.  Model Transformation Language MOLA , 2003, MDAFA.