Expressing different conceptual models of join point selections in aspect-oriented design

When specifying pointcuts, i.e. join point selections, in Aspect-Oriented Software Development, developers have in different situations different conceptual models in mind. Aspect-oriented programming languages are usually capable to support only a small subset of them, but not all. In order to communicate aspect-oriented design among developers, though, it is inevitable that the underlying conceptual model used in its join point selections remains unchanged. As a solution to this dilemma, we detail three different conceptual models in this paper that are frequently used in aspect-oriented applications. These models are illustrated using sample implementations from existing literature. Then, we introduce corresponding modeling notations based on Join Point Designation Diagrams (JPDDs) which are capable to express join point selections complying to those models. Finally, we discuss the suitability of these notations to express a desired join point selection.

[1]  S. Chiba,et al.  Remote pointcut: a language construct for distributed AOP , 2004, AOSD '04.

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

[3]  Nape rvile Using Aspects to Abstract and Modularize Statecharts , 2004 .

[4]  Hidehiko Masuhara,et al.  Dataflow Pointcut in Aspect-Oriented Programming , 2003, APLAS.

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

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

[7]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[8]  Ivar Jacobson,et al.  Aspect-oriented software development with use cases , 2005, Addison Wesley object technology series.

[9]  Thomas Ledoux,et al.  Aspect-Oriented Software Development , 2003 .

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

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

[12]  Siobhán Clarke,et al.  Aspect-oriented analysis and design - the theme approach , 2005, Addison Wesley object technology series.

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

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

[15]  Moshé M. Zloof Query-by-Example: A Data Base Language , 1977, IBM Syst. J..

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

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

[18]  Stefan Hanenberg,et al.  Query Models , 2004, UML.

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

[20]  Elisa Baniassad,et al.  Aspect-Oriented Analysis and Design , 2005 .

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

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

[23]  Sérgio Soares,et al.  Implementing distribution and persistence aspects with aspectJ , 2002, OOPSLA '02.

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

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

[26]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[27]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[28]  Rémi Douence,et al.  Composition, reuse and interaction analysis of stateful aspects , 2004, AOSD '04.

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

[30]  Mira Mezini,et al.  Expressive Pointcuts for Increased Modularity , 2005, ECOOP.

[31]  Tony Clark,et al.  Revised submission for MOF 2.0 query / views /transformations RFP. , 2003 .

[32]  Lodewijk Bergmans,et al.  The Composition-Filters Object Model* , 1998 .

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

[34]  Wim Vanderperren,et al.  Jumping Aspects Revisited , 2005 .