True and Transparent Distributed Composition of Aspect-Components

Next-generation middleware must support complex compositions that involve dependencies between multiple components residing in different contexts and locations in the network. In this paper we present DyMAC, an aspect-oriented middleware platform that offers an aspect-component model to support such complex distributed compositions by means of advanced remote pointcuts, transparent remote advice and distributed instantiation scopes for aspects. The remote pointcuts can evaluate on calls and executions of remote method invocations and can also evaluate on the distributed context. The remote advice can be executed transparently in a remote environment while still respecting the full semantics of existing types of advice, including around advice. The component model unifies aspects and components into one entity with one interaction standard. To our knowledge, DyMAC middleware is the first AO middleware platform that distributes the concepts of aspect-oriented composition completely and transparently.

[1]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

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

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

[5]  Laurence Duchien,et al.  JAC: A Flexible Solution for Aspect-Oriented Programming in Java , 2001, Reflection.

[6]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[7]  Wouter Joosen,et al.  A Dynamic Customization Model for Distributed Component-Based Applications , 2001, ICDCS 2001.

[8]  Wouter Joosen,et al.  Dynamic and selective combination of extensions in component-based applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[9]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[10]  Satoshi Matsuoka,et al.  Metalevel Architectures and Separation of Crosscutting Concerns , 2001, Lecture Notes in Computer Science.

[11]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

[12]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[13]  Lidia Fuentes,et al.  Separation of coordination in a dynamic aspect oriented framework , 2002, AOSD '02.

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

[15]  Mira Mezini,et al.  Conquering aspects with Caesar , 2003, AOSD '03.

[16]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.

[17]  Francisco Reverbel,et al.  The JBoss Extensible Server , 2003, Middleware.

[18]  Arvinder Kaur,et al.  Component Based Software Engineering , 2010 .

[19]  Joseph Gil,et al.  AspectJ2EE = AOP + J2EE , 2004, ECOOP.

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

[21]  Martin Odersky ECOOP 2004 – Object-Oriented Programming , 2004, Lecture Notes in Computer Science.

[22]  Joseph Gil,et al.  AspectJ2EE = AOP + J2EE: Towards an aspect based, programmable and extensible middleware framework , 2004 .

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

[24]  Wouter Joosen,et al.  Component-Based open middleware supporting aspect-oriented software composition , 2005, CBSE'05.

[25]  Wim Vanderperren,et al.  There are no Aspects , 2004, SC.

[26]  Mónica Pinto,et al.  A Dynamic Component and Aspect-Oriented Platform , 2005, Comput. J..

[27]  Luis Daniel Benavides Navarro,et al.  Explicitly distributed AOP using AWED , 2006, AOSD '06.