ABSTRACT
The majority of aspect-oriented middlewares supporting dynamic aspect weaving fail to preserve important safety properties while weaving or unweaving a distributed aspect at runtime. This position paper looks in particular at the safety properties of structural integrity and global state consistency.
Preserving these two safety properties in the presence of dynamic change has already been extensively addressed in the space of dynamic reconfiguration of component-based distributed systems. As will be argued in this position paper, existing coordination protocols developed in this space can be largely reused for distributed aspect weaving provided that some small adaptations are made to account for the aspect-oriented composition mechanisms.
To demonstrate results and as a proof-of-concept, we describe how we have ported the NeCoMan dynamic reconfiguration support on top of the JBoss AOP framework. As a result, system-wide consistency can be preserved in JBoss when weaving or unweaving a distributed aspect at runtime.
- J. P. A. Almeida, M. Wegdam, M. van Sinderen, and L. J. M. Nieuwenhuis. Transparent Dynamic Reconfiguration for CORBA. In Proceedings of the 3rd International Symposium on Distributed Objects and Applications (DOA 2001), pages 197--207, Rome, Italy, September 2001. IEEE Computer Society. Google ScholarDigital Library
- G. R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49--90, 1991. Google ScholarDigital Library
- L. Fuentes, M. Pinto, and P. Sánchez. Dynamic weaving in cam/daop: An application architecture driven approach. In Proceedings of the Dynamic Aspect Workshop in conjunction with AOSD 2005, Mar. 2005.Google Scholar
- N. Janssens. Dynamic Software Reconfiguration in Programmable Networks. PhD thesis, Department of Computer Science, K. U. Leuven, Leuven, Belgium, December 2006.Google Scholar
- N. Janssens, W. Joosen, and P. Verbaeten. NeCoMan: Middleware for Safe Distributed-Service Adaptation in Programmable Networks. IEEE Distributed Systems Online, 6(7), July 2005. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. L., and J. Irwin. Aspect-Oriented Programming. In ECOOP'97---Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science. Springer, 1997.Google Scholar
- J. Kramer and J. Magee. The Evolving Philosophers Problem: Dynamic Change Management. IEEE Trans. Softw. Eng., 16(11):1293--1306, 1990. Google ScholarDigital Library
- B. Lagaisse and W. Joosen. True and Transparent Distributed Composition of Aspect-Components. In Proceedings Middleware'06, volume 4290 of Lecture Notes in Computer Science, 2006. Google ScholarDigital Library
- K. Moazami-Goudarzi. Consistency preserving dynamic reconfiguration of distributed systems. PhD thesis, Imperial College, London, March 1999.Google Scholar
- L. D. B. Navarro, M. Südholt, W. Vanderperren, B. D. Fraine, and D. Suvée. Explicitly distributed aop using awed. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 51--62. ACM Press, 2006. Google ScholarDigital Library
- A. Nicoara and G. Alonso. Dynamic aop with prose. In Proceedings of International Workshop on Adaptive and Self-Managing Enterprise Applications (ASMEA 2005), June 2005.Google Scholar
- R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. JAC: A flexible solution for aspect-oriented programming in Java. In Reflection 2001, volume 2192 of Lecture Notes in Computer Science, pages 1--24. Springer, 2001. Google ScholarDigital Library
- É. Tanter and R. Toledo. A versatile kernel for distributed aop. In Proceedings of the IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS 2006), volume 4025 of Lecture Notes on Computer Science, pages 316--331, Bologna, Italy. Springer-Verlag. Google ScholarDigital Library
- E. Truyen and W. Joosen. Run-time and atomic weaving of distributed aspects. Transactions on Aspect-Oriented Software Development II, pages 147--181, 2006. Google ScholarDigital Library
Index Terms
- Adding dynamic reconfiguration support to JBoss AOP
Recommendations
Run-Time and atomic weaving of distributed aspects
Transactions on Aspect-Oriented Software Development IIRun-time weaving of distributed aspects, if performed without any support for atomicity, endangers the global behavioral integrity of the application. Existing aspect-oriented middleware supports run-time weaving of distributed aspects, without ...
Pluggable AOP: designing aspect mechanisms for third-party composition
Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applicationsStudies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the ...
Pluggable AOP: designing aspect mechanisms for third-party composition
OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsStudies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the ...
Comments