Jump to content

Distributed AOP

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Delusion23 (talk | contribs) at 18:41, 26 October 2011 (wikify tag). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


Aspect-Oriented Programming (AOP)) is a modern paradigm that presents the principle of the separation of concerns, allowing less interdependence, and more transparency. Thereby, an aspect is a module that encapsulates a crosscutting concern, and it is composed of pointcuts and advice bodies. The interception of an aspect is performed in a join point (a point in the execution flow), and defined inside a pointcut (a set of join points). Whenever the application execution reaches one pointcut, an advice (namely a call- back) associated with it is executed. However, this implementation does not take into account separation of concerns in distributed settings (1).

In contrast, distributed AOP is a promising paradigm that allows distributed interception. It defines many new concepts like remote pointcuts, which are similar to traditional remote method calls, since execution is performed on a remote host. Thus, distributed AOP establishes a context where aspects can be deployed in a set of hosts. In this sense, the remote pointcut abstraction (2) is considered the starting point for distributed AOP. After that, some works have extended this idea in some way, but all of them share the concept of remote pointcut.

A distributed aspect is defined (3) as a crosscutting software module that may operate in multiple remote hosts to intercept and alter the whole behaviour of a distributed application. This distributed entity is able to modify or adapt the distributed system by applying additional functionalities (remote advices) at various hooks located in different hosts (join points) and triggered via distributed connections (remote pointcuts).

(1) A.S. Tanenbaum and M. van Steen. Distributed Systems: Principles and Paradigms (2nd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006.

(2) M. Nishizawa, S. Chiba, and M. Tatsubori. Remote pointcut: a language construct for distributed aop. In AOSD ’04. New York, NY, USA, 2004.

(3) R. Mondéjar, P. García-Lopez, C. Pairot, and L. Pamies-Juarez. Damon: a Distributed AOP Middleware for Large-Scale Scenarios. Information and Software Technology (2011).