PDF de programación - Programación Orientada a Aspectos - Análisis del paradigma

Imágen de pdf Programación Orientada a Aspectos - Análisis del paradigma

Programación Orientada a Aspectos - Análisis del paradigmagráfica de visualizaciones

Publicado el 19 de Abril del 2018
532 visualizaciones desde el 19 de Abril del 2018
524,8 KB
130 paginas
Creado hace 21a (11/12/2002)
PROGRAMACIÓN ORIENTADA A ASPECTOS

Análisis del paradigma

Fernando Asteasuain

Bernardo Ezequiel Contreras



Tesis de Licenciatura

Departamento de Ciencias e Ingeniería de la Computación

UNIVERSIDAD NACIONAL DEL SUR



Octubre de 2002



Programación Orientada a Aspectos: Análisis del Paradigma Tesis de Licenciatura
Fernando Asteasuain – Bernardo Ezequiel Contreras

2

Este trabajo fue presentado como tesis de final de carrera en el Departamento
de Ciencias e Ingeniería de la Computación de la Universidad Nacional del Sur para
obtener el título de Licenciado en Ciencias de la Computación.


La dirección del trabajo estuvo a cargo de la Licenciada Elsa Estevez y el Dr.

Pablo Fillottrani y fue finalizado en octubre de 2002.



Departamento de Ciencias e Ingeniería de la Computación – Universidad Nacional del Sur
Bahía Blanca. Buenos Aires. Argentina



Programación Orientada a Aspectos: Análisis del Paradigma Tesis de Licenciatura
Fernando Asteasuain – Bernardo Ezequiel Contreras

3

ÍNDICE


1. Introducción................................................................................................................. 6
1.1 Reseña histórica .................................................................................................... 8
2. POA: Consideraciones generales.............................................................................. 10
2.1 ¿Qué es un aspecto?........................................................................................... 10
2.2 Comparación gráfica .......................................................................................... 11
2.3 Fundamentos de la POA..................................................................................... 14
2.3.1 Estructura general .......................................................................................... 14
2.3.2 Desarrollo orientado a aspectos ..................................................................... 16
2.4 Tejido estático versus dinámico......................................................................... 19
2.4.1 Guías de diseño.............................................................................................. 20
2.5 Lenguajes de aspectos específicos versus de propósito general...................... 21
2.6 El rol del lenguaje base....................................................................................... 23
2.7 Aspectos en lenguajes procedurales .................................................................. 25
2.8 Aproximaciones alternativas de aspectos ........................................................ 28
2.8.1 Meta-programación lógica de aspectos.......................................................... 28
2.8.2 Meta-programación funcional de aspectos .................................................... 31
3. Lenguajes orientados a aspectos ............................................................................... 33
3.1 JPAL .................................................................................................................... 33
3.2 D............................................................................................................................ 34
3.2.1 COOL............................................................................................................. 35
3.2.2 RIDL .............................................................................................................. 36
3.3 ASPECTC............................................................................................................ 38
3.4 ASPECTS ............................................................................................................ 38
3.5 ASPECTC++ ....................................................................................................... 40
3.6 MALAJ ................................................................................................................ 41
3.7 HYPERJ .............................................................................................................. 42
3.8 Tabla comparativa de las herramientas ........................................................... 44
3.9 AspectJ................................................................................................................ 46
3.9.1 Puntos de enlace............................................................................................. 47
3.9.2 Cortes............................................................................................................. 51
Cortes primitivos................................................................................................. 52
Cortes definidos por el programador .................................................................. 54
Composición de cortes........................................................................................ 55
Exposición de contexto....................................................................................... 57
Patrones............................................................................................................... 59
3.9.3 Avisos ............................................................................................................ 61
Modelo de comportamiento................................................................................ 64
Acceso reflexivo ................................................................................................. 65
3.9.4 Introducciones y declaraciones...................................................................... 65


Departamento de Ciencias e Ingeniería de la Computación – Universidad Nacional del Sur
Bahía Blanca. Buenos Aires. Argentina


Programación Orientada a Aspectos: Análisis del Paradigma Tesis de Licenciatura
Fernando Asteasuain – Bernardo Ezequiel Contreras

4

3.9.5 Aspectos......................................................................................................... 68
Extensión de aspectos ......................................................................................... 69
Privilegio de aspectos ......................................................................................... 70
Precedencia de aspectos...................................................................................... 70
BNF completa ..................................................................................................... 72
3.9.6 Evaluación ..................................................................................................... 73
4. Un ejemplo: implementación del protocolo TFTP ................................................... 74
4.1 El protocolo TFTP .............................................................................................. 74
4.1.1 Comportamiento general del protocolo TFTP:.............................................. 75
4.2 Implementación en Java..................................................................................... 76
4.2.1 Implementación del servidor TFTP ............................................................... 77
4.2.2 Código Java.................................................................................................... 78
4.3 Implementación en AspectJ .............................................................................. 78
4.3.1 El aspecto de logging..................................................................................... 79
4.3.2 Código en AspectJ ......................................................................................... 84
4.4 Conclusiones........................................................................................................ 84
4.4.1 Evaluación del caso de estudio ...................................................................... 85
4.4.2 Conclusiones de la evaluación....................................................................... 86
5. Conclusiones finales .................................................................................................. 88
5.1 Breve comparación entre POA y POO ............................................................. 88
5.2 Trabajos relacionados ........................................................................................ 89
5.3 POA: Ventajas y desventajas............................................................................. 91
5.3.1 Ventajas ......................................................................................................... 91
5.3.2 Desventajas .................................................................................................... 91
Apéndice A ..................................................................................................................... 93
Apéndice B ................................................................................................................... 110
Referencias................................................................................................................... 127



Departamento de Ciencias e Ingeniería de la Computación – Universidad Nacional del Sur
Bahía Blanca. Buenos Aires. Argentina



Programación Orientada a Aspectos: Análisis del Paradigma Tesis de Licenciatura
Fernando Asteasuain – Bernardo Ezequiel Contreras

5

ÍNDICE DE CÓDIGO

ÍNDICE DE FIGURAS



Código 1: Clase número complejo.................................................................................. 47
Código 2: Clase coordenada compleja............................................................................ 49
Código 3: Definición clase pila.
  • Links de descarga
http://lwp-l.com/pdf10483

Comentarios de: Programación Orientada a Aspectos - Análisis del paradigma (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad