Todoo

Solo disponible en BuenasTareas
  • Páginas : 18 (4444 palabras )
  • Descarga(s) : 13
  • Publicado : 20 de junio de 2010
Leer documento completo
Vista previa del texto
Programación Orientada a Aspectos

Resumen //Asbract

La programación orientada a aspectos (POA) brinda un mayor grado de abstracción en el desarrollo de software, permitiendo realizar de una manera clara y eficiente la “separación de incumbencias”.

El siguiente trabajo busca hacer conocer el nuevo paradigma (POA) que aún está en vía de desarrollo, donde se incluye unaintroducción al tema, el concepto formal necesario, su implementación, su diseño y algunos lenguajes de POA como sus aplicaciones, ventajas y desventajas.

1. Introducción

La ingeniería del software, y en general, la informática es una disciplina que está en constante evolución. Cada día surgen nuevas técnicas y metodologías que intentan mejorar la calidad y la eficiencia de los productos software.La programación orientada a aspectos (POA) es un nuevo paradigma que aspira a soportar la separación de competencias para los aspectos. Es decir, que intenta separar los componentes y los aspectos unos de otros, proporcionando mecanismos que hagan posible abstraerlos y componerlos para formar todo el sistema. En definitiva, lo que se persigue es implementar una aplicación de forma eficiente yfácil de entender

POA es un desarrollo que sigue al paradigma de la orientación a objetos, y como tal, soporta la descomposición orientada a objetos, además de la procedimental y la descomposición funcional. Pero, a pesar de esto, POA no se puede considerar como una extensión de la POO, ya que puede utilizarse con los diferentes estilos de programación.

La programación orientada a aspectospromete que es capaz de conseguir lo que se pide sin tener que modificar ni una sola línea de código ya existente, y manteniendo claramente separadas ambas funcionalidades, a pesar de que una utilice la otra.

2. ¿Qué es un aspecto?

La definición formal de “Aspecto” ha evolucionado desde su concepción hasta el momento. Una definición inicial, aunque todavía no se manejaba el término“aspecto”, fue introducida por Karl Lieberherr en [1]. Adaptando la definición al término actual:

“Un aspecto es una unidad que se define en términos de información parcial de otras unidades”

Gregor Kiezales y su grupo brindan una primera definición de “aspecto” en [2]:

“Una propiedad que debe ser implementada es un componente, si puede ser claramente encapsulada dentro de unprocedimiento generalizado (por ejemplo, un objeto, un método, un procedimiento, una (API). Se entiende que un elemento es claramente encapsulado si está bien localizado, es fácilmente accesible y resulta sencillo componerlo...un aspecto, si no puede ser claramente encapsulado en un procedimiento generalizado. Los aspectos tienden a no ser unidades de la descomposición funcional del sistema, sino aser propiedades que afectan la performance o la semántica de los componentes en forma sistemática...”

La definición actual de aspecto, de Gregor Kiezales de mayo de 1999 es la siguiente:

“Un aspecto es una unidad modular que se disemina (“cross-cuts”) por la estructura de otras unidades funcionales.
Los aspectos existen tanto en la etapa de diseño como en la de implementación.
Unaspecto de diseño es una unidad modular del diseño que se entremezcla en la estructura de otras partes del diseño. Un aspecto de implementación es una unidad modular del programa que aparece en otras unidades modulares del programa”.

Se desprende de esta definición, que los aspectos de una aplicación son aquellos módulos que generan “incumbencias transversales”, es decir, los módulos que estándiseminados por el resto de las unidades funcionales. Identificando los aspectos, y aplicando las técnicas desarrolladas en la POA es posible, por lo tanto, realizar adecuadamente la “separación de incumbencias”.

Es de resaltar que la definición de aspecto no hace referencia al tipo de programación en la que se implemente (orientada a objetos o procedural), por lo que el concepto, como tal,...
tracking img