Support for distributed adaptations in aspect-oriented middleware

Many aspect-oriented middleware platforms support run-time aspect weaving, but do not support coordinating distributed changes to a set of aspects at run-time. A distributed change entails weaving or unweaving multiple inter-dependent aspects that are logically or physically distributed. Coordinating such multiple weavings inside the application layer is a complex and difficult task for the application developer, because global state consistency, structural integrity and other safety properties have to be preserved. In this paper, we present the DyReS framework that offers the required coordination support on top of existing aspect-oriented middleware platforms. The framework is customizable towards application-specific requirements to achieve improved performance and reconfiguration semantics. We have validated our approach by delivering and examining two implementations of the DyReS framework: one on top of JBoss AOP and a second one for Spring AOP.

[1]  Lidia Fuentes Dpto Dynamic Weaving in CAM / DAOP : An Application Architecture Driven Approach , 2005 .

[2]  Wouter Joosen,et al.  Run-Time and Atomic Weaving of Distributed Aspects , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[3]  John A. Zinky,et al.  Building adaptive distributed applications with middleware and aspects , 2004, AOSD '04.

[4]  Lynne Blair,et al.  A Framework for Policy Driven Auto-adaptive Systems Using Dynamic Framed Aspects , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[5]  Marten van Sinderen,et al.  Transparent dynamic reconfiguration for CORBA , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[6]  Shigeru Chiba,et al.  A Selective, Just-in-Time Aspect Weaver , 2003, GPCE.

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

[8]  Premkumar T. Devanbu,et al.  DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

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

[10]  Gordon S. Blair,et al.  A distributed architecture meta-model for self-managed middleware , 2006, ARM '06.

[11]  Mehdi Amirijoo,et al.  Transactions on Aspect-Oriented Software Development II , 2006, Trans. Aspect-Oriented Software Development II.

[12]  Bernd Freisleben,et al.  Supporting autonomic computing functionality via dynamic operating system kernel aspects , 2005, AOSD '05.

[13]  Gustavo Alonso,et al.  Dynamic AOP with PROSE , 2005, CAiSE Workshops.

[14]  Tzilla Elrad,et al.  Coupling Availability and Efficiency for Aspect Oriented Runtime Weaving Systems , 2005 .

[15]  Michael Haupt,et al.  Virtual machine support for dynamic join points , 2004, AOSD '04.

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

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

[18]  Gail E. Kaiser,et al.  A case study in software adaptation , 2002, WOSS '02.

[19]  Wouter Joosen,et al.  NeCoMan: Middleware for Safe Distributed-Service Adaptation in Programmable Networks , 2005, IEEE Distributed Syst. Online.

[20]  Thomas Fritz,et al.  An application of dynamic AOP to medical image generation , 2005 .

[21]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[22]  Premkumar T. Devanbu,et al.  GlueQoS: middleware to sweeten quality-of-service policy interactions , 2004, Proceedings. 26th International Conference on Software Engineering.

[23]  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.

[24]  Jörg Kienzle,et al.  AO challenge - implementing the ACID properties for transactional objects , 2006, AOSD.

[25]  Mario Südholt,et al.  An expressive aspect language for system applications with Arachne , 2005, AOSD '05.

[26]  Kaveh M. Moazami-Goudarzi,et al.  Consistency preserving dynamic reconfiguration of distributed systems , 1999 .

[27]  Wouter Joosen,et al.  Adding dynamic reconfiguration support to JBoss AOP , 2007, MAI '07.

[28]  Wouter Joosen,et al.  True and Transparent Distributed Composition of Aspect-Components , 2006, Middleware.

[29]  Éric Tanter,et al.  A Versatile Kernel for Distributed AOP , 2006, DAIS.

[30]  Jamie Hillman,et al.  An open framework for dynamic reconfiguration , 2002, Proceedings. 26th International Conference on Software Engineering.

[31]  Phil Greenwood,et al.  Augmenting reflective middleware with an aspect orientation support layer , 2007, ARM '07.

[32]  Andry Rakotonirainy,et al.  Context-oriented programming , 2003, MobiDe '03.

[33]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[34]  Oscar Nierstrasz,et al.  Context-oriented Programming , 2008, J. Object Technol..

[35]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

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

[37]  Thierry Coupaye,et al.  A Component Model Engineered with Components and Aspects , 2006, CBSE.