You are on page 1of 3

Introduccion a la POA.

La POA es una nueva metodologa de programacin que aspira a soportar la


separacin de las propiedades para los aspectos, permite a los programadores
escribir, ver y editar un aspecto diseminado por todo el sistema como una
entidad por separado, de una manera inteligente, eficiente e intuitiva
Consideraciones generales.
La idea central que persigue la POA es permitir que un programa sea
construido describiendo cada concepto separadamente.
El soporte para este nuevo paradigma se logra a travs de una clase especial
de lenguajes, llamados lenguajes orientados a aspectos (LOA), los LOA son
aquellos lenguajes que permiten separar la definicin de la funcionalidad pura
de la definicin de los diferentes aspectos.

Estructura general.
Una implementacin basada en POA consiste en:
El lenguaje base o componente para programar la funcionalidad bsica.
- Uno o ms lenguajes de aspectos para especificar los aspectos.
- Un tejedor de aspectos para la combinacin de los lenguajes
. - El programa escrito en el lenguaje componente que implementa los
componentes.
- Uno o ms programas de aspectos que implementan los aspectos.

Lenguajes orientados a aspectos.


JAPL.
La herramienta se llama JPAL que significa Junction Point Aspect Language, La
principal caracterstica de esta herramienta es que los puntos de enlace son
especificados independientemente del lenguaje base.
D.
Es un ambiente de lenguajes de aspectos para la programacin distribuida. Se
llama ambiente de lenguajes, en vez de solamente lenguaje, porque consiste
en realidad de dos lenguajes: COOL, para controlar la sincronizacin de hilos
(threads), y RIDL, para programar la interaccin entre componentes remotos.
COOL.

COOL (COOrdination aspect Language) es un lenguaje de aspectos de dominio


especfico para tratar con la exclusin mutua de hilos, sincronizacin,
suspensin y reactivacin de hilos.
Un programa COOL consiste de un conjunto de mdulos coordinadores. Los
mdulos coordinadores, o directamente coordinadores, se asocian con las
clases a travs del nombre

RIDL.
RIDL (Remote Interaction and Data transfers aspect Language) es un lenguaje
de aspectos de dominio especfico que maneja la transferencia de datos entre
diferentes espacios de ejecucin

ASPECTC.
Es un simple lenguaje de aspectos de propsito general que extiende C, es un
subconjunto de AspectJ sin ningn soporte para la programacin orientada a
objetos o mdulos explcitos.

ASPECTS.
ASPECTS extiende el ambiente Squeak/Smalltalk para permitir un sistema de
desarrollo orientado a aspectos. Squeak es una implementacin abierta y
portable de Smalltalk-80 cuya mquina virtual est completamente escrita en
Smalltalk.

ASPECTC++
Es un lenguaje de aspectos de propsito general que extiende el lenguaje C++
para soportar el manejo de aspectos

MALAJ
MALAJ es un lenguaje orientado a aspectos de dominio especfico,
concentrndose en dos aspectos: sincronizacin y relocacin. Puede verse
como un sucesor de los lenguajes COOL y RIDL

Breve comparacin entre POO y POA.


Tanto la POA como la POO crean implementaciones modularizadas y con
mnimo acoplamiento. La diferencia radica en qu mientras la POA se enfoca

en los conceptos que se entrecruzan, la POO se enfoca en los conceptos


comunes

Ventajas:

Ayuda a superar los problemas causados por el Cdigo Mezclado y


Cdigo Diseminado (citados previamente en este trabajo).
POA logra separar cada concepto con mnimo acoplamiento, resultando
en implementaciones modularizada an en la presencia de conceptos
que se entrecruzan
Mayor evolucionabilidad: La separacin de conceptos permite agregar
nuevos aspectos, modificar y / o remover aspectos existentes
fcilmente.
Mayor reusabilidad: Al ser implementados separadamente, tiene mayor
probabilidades de ser reusados en otros sistemas con requerimientos
similares

Desventajas.

posible choque entre el cdigo funcional y el cdigo de aspectos


posible choque entre los aspectos
posibles choques entre el cdigo de aspectos y los mecanismos del
lenguaje

Conclusiones.
La programacin orientada a aspectos es un nuevo paradigma que adolece de
madurez y formalidad, necesita ser desarrollada exhaustivamente aun para
consolidad sus conceptos