ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tejido estático


Enviado por   •  11 de Abril de 2015  •  1.316 Palabras (6 Páginas)  •  122 Visitas

Página 1 de 6

TEJEDOR:

Es el que se encarga de crear un único programa con toda la funcionalidad, la básica más los aspectos.

se ha presentado una alternativa denominada “tejido en tiempo de despliegue” (deploytime weaving), que implica un postprocesamiento del código, pero en vez de modificar el código generado, se generan subclases a partir de las clases existentes, introduciendo las modificaciones pertinentes mediante redefinición de métodos. Si se utiliza como criterio el momento en el que se realiza el tejido se distinguen entre tejido estático y tejido dinámico. De las formas de tejido anteriormente mencionadas todas son estáticas, excepto el tejido en tiempo de carga y el tejido en tiempo de ejecución, que son dinámicas.

• Tejido estático

La mayoría de las actuales implementaciones de POA están basadas en el tejido estático,

que consiste enla modificación en tiempo de compilación del código fuente, insertando llamadas a las rutinas específicas de los aspectos. Los lugares donde estas llamadas se pueden insertar son los puntos de enlace (joinpoints), definidos por cada sistema.

En la figurar anterior se puede ver el proceso que se sigue en el tejido estático. Se parte del programa con la funcionalidad básica implementada en un lenguaje base (C++, Java, etc.) y además se tiene uno o varios aspectos, escritos en un lenguaje de aspectos que puede ser una extensión de algún lengua je normal, o uno específicamente definido con este fin.

El tejedor realiza la composición de código, insertando el proveniente de los aspectos en el

de la funcionalidad básica, siguiendo las instrucciones recibidas. El resultado es un nuevo código fuente que pasará a través de un compilador, el cual generará el programa ejecutable.

La principal ventaja que ofrecen estos sistemas es que se evita que el uso de la POA derive en una

penalización en el rendimiento, ya que antes de la compilación se dispone de la totalidad del código, pudiendo ser optimizado por el compilador.

Una desventaja muy importante que suelen presentar las herramientas que ofrecen tejido

estático (y las que ofrecen tejido dinámico) es que son dependientes del lenguaje, no pudiendo crear distintos

aspectos en distintos lenguajes. Por ejemplo, AspectJ sólo puede usarse con el lenguaje Java.

• Tejido dinámico

Usando un tejedor estático, el programa final se genera tejiendo el código de la funcionalidad básica y el de los aspectos seleccionados en la fase de compilación. Si se quiere enriquecer la

aplicación con un nuevo aspecto, o incluso eliminar uno de los aspectos actualmente tejidos, el sistema debe ser recompilado y reiniciado.

Aunque no todas las aplicaciones necesitan ser adaptadas mediante aspectos en tiempo

de ejecución, hay aspectos específicos que se benefician de un sistema con tejido dinámico; puede

haber aplicaciones que necesiten adaptar sus competencias específicas en respuesta a cambios en el entorno de ejecución, como la gestión de recursos y el equilibrio de carga en sistemas distribuidos, entre otros.

En la última figura se puede ver representado el proceso del tejido dinámico. En un primer paso,

Un programa escrito en un lenguaje “normal” pasa por el compilador y se genera un programa que se pone en ejecución y que no tiene por qué saber que va a ser adaptado. Cuando se necesita adaptar

(añadir o modificar funcionalidad) porque surgen nuevos requerimientos o en respuesta a cambios en el

entorno, sin detenerlo, se procesa el programa en ejecución (no el programa ejecutable, sino el que está en

memoria) junto a los aspectos que van a adaptarlo, y por medio del tejedor se le añade la

funcionalidad de estos, dando lugar a una nueva versión del programa que continúa la ejecución.

En

...

Descargar como (para miembros actualizados)  txt (7.9 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com