Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Building Secure and Reliable Network Applications
Building Secure and Reliable Network Applications
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
Using Aspect Oriented Programming to Build a Portable Load Balancing Service
ICDCSW '02 Proceedings of the 22nd International Conference on Distributed Computing Systems
DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems
Proceedings of the 25th International Conference on Software Engineering
Remote pointcut: a language construct for distributed AOP
Proceedings of the 3rd international conference on Aspect-oriented software development
Dermi: A New Distributed Hash Table-Based Middleware Framework
IEEE Internet Computing
Aspectizing multi-agent systems: from architecture to implementation
Software Engineering for Multi-Agent Systems III
Scribe: a large-scale and decentralized application-level multicast infrastructure
IEEE Journal on Selected Areas in Communications
Building a distributed AOP middleware for large scale systems
Proceedings of the 2008 workshop on Next generation aspect oriented middleware
Damon: A distributed AOP middleware for large-scale scenarios
Information and Software Technology
Hi-index | 0.00 |
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.