La Programación Orientada a Aspectos (AOP) presenta el principio de separación de preocupaciones , lo que permite una menor interdependencia y una mayor transparencia. Por lo tanto, un aspecto es un módulo que encapsula una preocupación transversal y está compuesto por puntos de corte y cuerpos de asesoramiento. La intercepción de un aspecto se realiza en un punto de unión (un punto en el flujo de ejecución) y se define dentro de un punto de corte (un conjunto de puntos de unión). Siempre que la ejecución de la aplicación alcanza un punto de corte, se ejecuta un asesoramiento (es decir, una devolución de llamada) asociado con él. Sin embargo, esta implementación no tiene en cuenta la separación de preocupaciones en entornos distribuidos. [1]
Por el contrario, la AOP distribuida es un paradigma que permite la interceptación distribuida. Define muchos conceptos nuevos como los puntos de corte remotos, que son similares a las llamadas a métodos remotos tradicionales, ya que la ejecución se realiza en un host remoto. Así, la AOP distribuida establece un contexto donde los aspectos se pueden implementar en un conjunto de hosts. En este sentido, la abstracción de puntos de corte remotos [2] se considera el punto de partida para la AOP distribuida. Después de eso, algunos trabajos [3] [4] [5] [6] han extendido esta idea de alguna manera, pero todos ellos comparten el concepto de punto de corte remoto.
Un aspecto distribuido se define [7] como un módulo de software transversal que puede operar en múltiples hosts remotos para interceptar y alterar todo el comportamiento de una aplicación distribuida . Esta entidad distribuida es capaz de modificar o adaptar el sistema distribuido aplicando funcionalidades adicionales (asesoramiento remoto) en varios puntos ubicados en diferentes hosts (puntos de unión) y activados a través de conexiones distribuidas (puntos de corte remotos).