Distributed AOP

Distributed AOP

Aspect-Oriented Programming (AOP) 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 callback) 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 [3] [4] [5] [6] have extended this idea in some way, but all of them share the concept of remote pointcut.

A distributed aspect is defined [7] 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).

References

  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. ^ Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., and Martelli, L. 2004. JAC: an aspect-based distributed dynamic framework. Softw. Pract. Exper. 34, 12 (Oct. 2004), 1119-1148.
  4. ^ Benavides Navarro, L. D., Südholt, M., Vanderperren, W., De Fraine, B., Suvée, D.: Ex-plicitly distributed AOP using AWED. In Proceedings of the 5th Int. ACM Conf. on Aspect-Oriented Software Development (AOSD'06), March 2006. ACM Press.
  5. ^ Eric Tanter and Rodolfo Toledo, A Versatile Kernel for Distributed AOP, Lecture Notes in Computer Science 4025, pp. 316-331, 2006.
  6. ^ B. Lagaisse and W. Joosen. True and Transparent Distributed Com-position of Aspect-Components. In Proceedings Middleware'06, vo-lume 4290 of Lecture Notes in Computer Science, 2006.
  7. ^ 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).

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Damon Middleware — Damon Initial release 2011 Development status beta Written in Java Type …   Wikipedia

  • CloudSNAP — Initial release 2011 Development status beta Written in Java …   Wikipedia

  • Cross-Cutting Concern — (CCC) ist ein Begriff der Informatik, der im Kontext des Teile und Herrsche Prinzips so genannte querschnittliche Belange einer Software bezeichnet, die deshalb nicht einfach modularisiert werden können, weil herkömmliche Modularisierungsansätze… …   Deutsch Wikipedia

  • Pointcut — In aspect oriented computer programming, a pointcut is a set of join points. Whenever the program execution reaches one of the join points described in the pointcut, a piece of code associated with the pointcut (called advice) is executed. This… …   Wikipedia

  • Aspect-oriented software development — (AOSD) is an emerging software development technology that seeks new modularizations of software systems. AOSD allows multiple concerns to be expressed separately and automatically unified into working systems.Traditional software development has …   Wikipedia

  • de Finetti's theorem — In probability theory, de Finetti s theorem explains why exchangeable observations are conditionally independent given some latent variable to which an epistemic probability distribution would then be assigned. It is named in honor of Bruno de… …   Wikipedia

  • Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste der Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste von Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. Inhaltsverzeichnis A B C D E F G H I J K L M N O P Q R S T U V W X Y Z siehe auch: Liste von Dateiendu …   Deutsch Wikipedia

  • Enterprise JavaBean — Simple EJB2 Architecture Enterprise JavaBeans (EJB) is a managed, server side component architecture for modular construction of enterprise applications. The EJB specification is one of several Java APIs in the Java EE specification. EJB is a… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”