ABSTRACT
In this paper we present Damon, a decentralized wide-area runtime aspect middleware built on top of a structured peer-to-peer (p2p) substrate and a dynamic Aspect Oriented Programming (AOP) framework. By using this methodology, we provide innovative benefits like aspect persistence and discovery, a high performance one-to-one/one-to-many messaging system, reflective skills, and a decentralized aspect container. Furthermore, new pointcut abstractions (anypointcut, manypointcut and multipointcut) are introduced, which allow development of shared aspect functionalities in a transparent way. We believe that such middleware is a novel solution for allowing decentralized crosscutting concerns like fault-tolerance or load-balancing for distributed systems. This paper describes these ideas and it presents a use case of our middleware implementation.
- E. Wohlstadter, S. Jackson, and P. Devanbu, DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous Systems. 25th International Conference on Software Engineering (ICSE'03), p. 174, 2003. Google ScholarDigital Library
- P. Greenwood and L. Blair. Using Dynamic AOP To Implement An Autonomic System. Dynamic Aspects Workshop (held with AOSD 2004). Technical Report No. 04.01. Research Institute for Advanced Computer Science. Pages 76--88. 2004.Google Scholar
- P. Greenwood and L. Blair. Policies for an AOP Based Auto-Adaptive Framework. NetObjectDays Conference, Erfurt, Germany, September. 2005.Google Scholar
- E. Putrycz, G. Bernard, Using Aspect Oriented Programming to Build a Portable Load Balancing Service. 22nd International Conference on Distributed Computing Systems Workshops (ICDCSW'02), p. 473, 2002. Google ScholarDigital Library
- R. Chitchyan and I. Sommerville. Comparing Dynamic AO Systems. In Proceedings of the 2004 Dynamic Aspects Workshop, Lancaster, England, 2004.Google Scholar
- S. Soares, E. Laureano, and P. Borba. Implementing distribution and persistence aspects with AspectJ. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'02), pages 174--190. ACM Press, 2002. Google ScholarDigital Library
- M. Nishizawa and S. Chiba. Jarcler: Aspect-Oriented Middleware for Distributed Software in Java. Dept. of Math. and Comp. Sciences Research Reports C-164, Tokyo Institute of Technology, December, 2002.Google Scholar
- M. Nishizawa and S. Chiba. Remote Pointcut --- A Language Construct for Distributed AOP. Proc. of the 3rd International Conference on Aspect-Oriented Software Development (AOSD '04), Lancaster, UK. pp. 7--16, 2004. Google ScholarDigital Library
- C. Pairot, P. García, and A. F. Gómez Skarmeta, Dermi: A New Distributed Hash Table-based Middleware Framework. IEEE Internet Computing. Vol 8, No. 3, pp. 74--84, May/June 2004. Google ScholarDigital Library
- A. Rowstron and P. Druschel, Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems. IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), pp. 329--350, November 2001. Google ScholarDigital Library
- M. Castro, P. Druschel, A. M. Kermarrec, and A. Rowstron, SCRIBE: A large-scale and decentralized application-level multicast infrastructure. IEEE Journal on Selected Areas in Communications, Vol. 20, No. 8, October 2002. Google ScholarDigital Library
- L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558--565, July 1978. Google ScholarDigital Library
- K. P. Birman. Building Secure and Reliable Network Applications. Manning, 1996. Google ScholarDigital Library
- A. Garcia, U. Kulesza, and C. Lucena. Aspectizing Multi-Agent Systems: From Architecture to Implementation. Software Engineering for Multi-Agent Systems III, LNCS 3390, Springer-Verlag, pp. 121--143, 2005. Google ScholarDigital Library
Index Terms
- Damon: a decentralized aspect middleware built on top of a peer-to-peer overlay network
Recommendations
Damon: A distributed AOP middleware for large-scale scenarios
Context: The development of distributed applications in large-scale environments has always been a complex task. In order to guarantee non-functional properties like scalability or availability, developers are usually faced with the same problems over ...
An Efficient Hybrid Peer-to-Peer System for Distributed Data Sharing
Peer-to-peer overlay networks are widely used in distributed systems. Based on whether a regular topology is maintained among peers, peer-to-peer networks can be divided into two categories: structured peer-to-peer networks in which peers are connected ...
Comments