SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
Puntos de Vista de la Programación Orientada a
 Aspectos (Gregor Kiczales, Nicolás Kicillof,
               Karl Lieberherr)
           Prof. Andrés Mauricio Martínez Hincapié. Universidad Cooperativa de Colombia


                                                         estructuras de clases como bloques
   Abstract— The constructions provided by the
languages of programming, which were created to
                                                         constructores de cortes. Cristina Lopes
help the models generated by the existing technologies
                                                         propuso la sincronización y la invocación
of design, reproduce the hierarchies. The concept of
                                                         remota como nuevos bloques.
programming orientated to aspects was introduced by
Gregor Kiczales and his group, though the equipment
Demeter had been using ideas orientated to aspects
                                                         No fue hasta 1995 cuando se publicó la
before even of that the end was coined. I weigh at
                                                         primera definición temprana del concepto
present many developments are had to support like
platform all the characteristics of the programming
                                                         de aspecto, realizada también por el grupo
orientated to.
                                                         Demeter, a la que se hace referencia en el
                                                         apartado siguiente. quot;Gracias a la
quot;Mi investigación se dirige en permitir a
                                                         colaboración de Cristina Lopes y Karl J.
programadores escribir los programas
                                                         Lieberherr con Gregor Kiczales y su
que, tanto cuanto sea posible, parecen su
                                                         grupo se introdujo el término de
diseño. Creo que los programas que
                                                         programación orientada a aspectosquot;.
expresan claramente la estructura del
diseño que ponen en ejecución son más
                                                         Entre los objetivos que se ha propuesto la
fáciles de mantener, porque las preguntas
                                                         programación orientada a aspectos están
sobre una qué parte del programa hace,
                                                         principalmente el de separar conceptos y el
porqué hace el, y qué otras partes del
                                                         de minimizar las dependencias entre ellos.
programa       dependen        de     ese
                                                         Con el primer objetivo se consigue que
comportamiento llegan a ser más fáciles
                                                         cada cosa esté en su sitio, es decir, que
contestarquot;. Gregor Kiczales
                                                         cada decisión se tome en un lugar
                                                         concreto, con el segundo se tiene una
El concepto de programación orientada a
                                                         pérdida del acoplamiento entre los
aspectos fue introducido por Gregor
                                                         distintos elementos.
Kiczales y su grupo, aunque el equipo
Demeter había estado utilizando ideas
                                                         El     principio    de    separación     de
orientadas a aspectos antes incluso de que
                                                         incumbencias fue identificado en la década
se acuñara el término.
                                                         de 1970(1), plantea que un problema dado
                                                         involucra varias incumbencias que deben
El trabajo del grupo Demeter estaba
                                                         ser identificadas y separadas. Las
centrado en la programación adaptativa,
                                                         incumbencias son los diferentes temas o
que no es más que una instancia temprana
                                                         asuntos de los que es necesario ocuparse
de la programación orientada a
                                                         para resolver el problema. Una de ellas es
aspectos. La programación adaptativa se
                                                         la función específica que debe realizar una
introdujo alrededor de 1991. Aquí los
                                                         aplicación, pero también surgen otras
programas se dividían en varios bloques de
                                                         como       por    ejemplo     distribución,
cortes. Inicialmente, se separaban la
                                                         persistencia, replicación, sincronización,
representación de los objetos del sistema
                                                         etc. Separando las incumbencias, se
de     cortes.  Luego     se     añadieron
                                                         disminuye la complejidad a la hora de
comportamientos     de    estructuras    y
tratarlas y se puede cumplir con               aspecto en un ajuste industrial.
requerimientos relacionados con la calidad
como      adaptabilidad,    mantenibilidad,    Peso en la actualidad se tienen muchos
extensibilidad y reusabilidad.                 desarrollos para soportar a manera de
                                               plataforma todas las características de la
Las construcciones provistas por los           programación orientada a aspectos, entre
lenguajes de programación, que fueron          las que se tiene por ejemplo a AspectJ que
creados para implementar los modelos           cuenta con extensiones al lenguaje para
generados por las técnicas de diseño           tratar las nuevas características de Java 5
existentes, reproducen las jerarquías y, por   que se derivan de un sistema simple de los
lo tanto, comparten el defecto explicado en    principios para ensamblan emparejar del
el párrafo anterior. En el paradigma de        punto.
programación          imperativa,         la
descomposición consiste en identificar         Los conceptos y tecnologías reunidos bajo
procedimientos que resuelvan parte del         el nombre quot;programación orientada a
problema, y la jerarquía se da en el árbol     aspectosquot; (AOP, por las siglas de Aspect-
de ejecución, según el cual los                Oriented Programming; o AOSD, por
procedimientos se invocan unos a otros.        Aspect-Oriented Software Development)
En el caso de la programación orientada a      buscan resolver un problema identificado
objetos, la jerarquía generada en la etapa     hace tiempo en el desarrollo de software.
de diseño suele plasmarse en las relaciones    Se trata del problema de la separación de
de herencia o de composición entre             asuntos (separation of concerns). AOP no
objetos. Por ejemplo, algunos patrones de      es el único intento por solucionar este
diseño de uso habitual como observador         problema, del que voy a hablar a
(observer), visitante (visitor) y mediador     continuación: hay varias propuestas,
(mediator)(2) exhiben estos problemas, ya      muchas de las cuales se agrupan (junto con
que para aplicarlos es necesario adaptar a     AOP) en el campo de estudio denominado
ellos más de una clase.                        ASoC (Advanced Separation of Concerns).

Entre los objetivos que se ha propuesto la
POA están, principalmente, el de separar
                                               AUTORES REFERENCIADOS
conceptos y (2) el de minimizar las
dependencias entre ellos. Con el primer
                                               Nicolás Kicillof Profesor Adjunto del
objetivo se persigue que cada decisión se
                                               Departamento de Computación de la
tome en un lugar concreto y no diseminada
                                               Facultad de Ciencias Exactas y Naturales,
por la aplicación. Con el segundo, se
                                               Universidad de Buenos Aires.
pretende    desacoplar     los    distintos
elementos que intervienen en un programa.
                                               Gregor Kiczales Profesor, El software
                                               practica el laboratorio, Departamento de la
Las técnicas y las herramientas de AOSD,
                                               informática, Universidad de Colombia
aplicadas en todas las etapas del ciclo de
                                               británico
vida del software, están cambiando la
                                               201-2366 alameda principal, Vancouver,
manera que el software se desarrolla en
                                               B.C., Canadá V6T 1Z4
una amplia gama de los dominios del uso,
extendiéndose de la empresa quot;ÉLquot; a los
                                               Karl Lieberherr (http://www.aosd.net/)
sistemas encajados. AOSD 2007 recibirá
                                               Demeter/sabores, Demeter/C++, DemeterJ,
una pista emocionante de la industria que
                                               DJ y XAspects.
reúna a los expertos, a los reveladores y a
encargados de la industria que están
practicando activamente tecnología del

Más contenido relacionado

Similar a Programacionorientadaaaspectos

U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...
U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...
U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...Luis Eduardo Pelaez Valencia
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesTensor
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptxGonzaloMartinezSilve
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesGary Araujo Viscarra
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 
Qué es programación modular
Qué es programación modularQué es programación modular
Qué es programación modularAnitaBlen
 
Rap reutilización apropiada para programadores
Rap reutilización apropiada para programadoresRap reutilización apropiada para programadores
Rap reutilización apropiada para programadoresaxtreme
 
Programación orientada a objetos - Replica Montufar
Programación orientada a objetos - Replica MontufarProgramación orientada a objetos - Replica Montufar
Programación orientada a objetos - Replica MontufarLuis Fuertes
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 

Similar a Programacionorientadaaaspectos (20)

U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...
U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...
U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 e...
 
Poovb
PoovbPoovb
Poovb
 
Curso Aop01
Curso Aop01Curso Aop01
Curso Aop01
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Guia Yahveh
Guia YahvehGuia Yahveh
Guia Yahveh
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentes
 
Software
SoftwareSoftware
Software
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
Po ovs pe
Po ovs pePo ovs pe
Po ovs pe
 
Qué es programación modular
Qué es programación modularQué es programación modular
Qué es programación modular
 
Principios de Ingenieria
Principios de IngenieriaPrincipios de Ingenieria
Principios de Ingenieria
 
Xp Metodologia
Xp MetodologiaXp Metodologia
Xp Metodologia
 
Rap reutilización apropiada para programadores
Rap reutilización apropiada para programadoresRap reutilización apropiada para programadores
Rap reutilización apropiada para programadores
 
Programación orientada a objetos - Replica Montufar
Programación orientada a objetos - Replica MontufarProgramación orientada a objetos - Replica Montufar
Programación orientada a objetos - Replica Montufar
 
Ha2 nv50 rodriguez montiel moises-xp
Ha2 nv50 rodriguez montiel moises-xpHa2 nv50 rodriguez montiel moises-xp
Ha2 nv50 rodriguez montiel moises-xp
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel OrtegaConferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
 
Contexto de la Programación
Contexto de la Programación Contexto de la Programación
Contexto de la Programación
 

Más de AmistadLealtad

Más de AmistadLealtad (7)

Proyecto De Tecnica De Programacioin I I
Proyecto De Tecnica De Programacioin  I IProyecto De Tecnica De Programacioin  I I
Proyecto De Tecnica De Programacioin I I
 
Poa 01
Poa 01Poa 01
Poa 01
 
Poa Borrador
Poa BorradorPoa Borrador
Poa Borrador
 
Wp Aspect J
Wp Aspect JWp Aspect J
Wp Aspect J
 
Poa
PoaPoa
Poa
 
Curso Aop
Curso AopCurso Aop
Curso Aop
 
Charla 2005 09 16
Charla 2005 09 16Charla 2005 09 16
Charla 2005 09 16
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 

Programacionorientadaaaspectos

  • 1. Puntos de Vista de la Programación Orientada a Aspectos (Gregor Kiczales, Nicolás Kicillof, Karl Lieberherr) Prof. Andrés Mauricio Martínez Hincapié. Universidad Cooperativa de Colombia estructuras de clases como bloques Abstract— The constructions provided by the languages of programming, which were created to constructores de cortes. Cristina Lopes help the models generated by the existing technologies propuso la sincronización y la invocación of design, reproduce the hierarchies. The concept of remota como nuevos bloques. programming orientated to aspects was introduced by Gregor Kiczales and his group, though the equipment Demeter had been using ideas orientated to aspects No fue hasta 1995 cuando se publicó la before even of that the end was coined. I weigh at primera definición temprana del concepto present many developments are had to support like platform all the characteristics of the programming de aspecto, realizada también por el grupo orientated to. Demeter, a la que se hace referencia en el apartado siguiente. quot;Gracias a la quot;Mi investigación se dirige en permitir a colaboración de Cristina Lopes y Karl J. programadores escribir los programas Lieberherr con Gregor Kiczales y su que, tanto cuanto sea posible, parecen su grupo se introdujo el término de diseño. Creo que los programas que programación orientada a aspectosquot;. expresan claramente la estructura del diseño que ponen en ejecución son más Entre los objetivos que se ha propuesto la fáciles de mantener, porque las preguntas programación orientada a aspectos están sobre una qué parte del programa hace, principalmente el de separar conceptos y el porqué hace el, y qué otras partes del de minimizar las dependencias entre ellos. programa dependen de ese Con el primer objetivo se consigue que comportamiento llegan a ser más fáciles cada cosa esté en su sitio, es decir, que contestarquot;. Gregor Kiczales cada decisión se tome en un lugar concreto, con el segundo se tiene una El concepto de programación orientada a pérdida del acoplamiento entre los aspectos fue introducido por Gregor distintos elementos. Kiczales y su grupo, aunque el equipo Demeter había estado utilizando ideas El principio de separación de orientadas a aspectos antes incluso de que incumbencias fue identificado en la década se acuñara el término. de 1970(1), plantea que un problema dado involucra varias incumbencias que deben El trabajo del grupo Demeter estaba ser identificadas y separadas. Las centrado en la programación adaptativa, incumbencias son los diferentes temas o que no es más que una instancia temprana asuntos de los que es necesario ocuparse de la programación orientada a para resolver el problema. Una de ellas es aspectos. La programación adaptativa se la función específica que debe realizar una introdujo alrededor de 1991. Aquí los aplicación, pero también surgen otras programas se dividían en varios bloques de como por ejemplo distribución, cortes. Inicialmente, se separaban la persistencia, replicación, sincronización, representación de los objetos del sistema etc. Separando las incumbencias, se de cortes. Luego se añadieron disminuye la complejidad a la hora de comportamientos de estructuras y
  • 2. tratarlas y se puede cumplir con aspecto en un ajuste industrial. requerimientos relacionados con la calidad como adaptabilidad, mantenibilidad, Peso en la actualidad se tienen muchos extensibilidad y reusabilidad. desarrollos para soportar a manera de plataforma todas las características de la Las construcciones provistas por los programación orientada a aspectos, entre lenguajes de programación, que fueron las que se tiene por ejemplo a AspectJ que creados para implementar los modelos cuenta con extensiones al lenguaje para generados por las técnicas de diseño tratar las nuevas características de Java 5 existentes, reproducen las jerarquías y, por que se derivan de un sistema simple de los lo tanto, comparten el defecto explicado en principios para ensamblan emparejar del el párrafo anterior. En el paradigma de punto. programación imperativa, la descomposición consiste en identificar Los conceptos y tecnologías reunidos bajo procedimientos que resuelvan parte del el nombre quot;programación orientada a problema, y la jerarquía se da en el árbol aspectosquot; (AOP, por las siglas de Aspect- de ejecución, según el cual los Oriented Programming; o AOSD, por procedimientos se invocan unos a otros. Aspect-Oriented Software Development) En el caso de la programación orientada a buscan resolver un problema identificado objetos, la jerarquía generada en la etapa hace tiempo en el desarrollo de software. de diseño suele plasmarse en las relaciones Se trata del problema de la separación de de herencia o de composición entre asuntos (separation of concerns). AOP no objetos. Por ejemplo, algunos patrones de es el único intento por solucionar este diseño de uso habitual como observador problema, del que voy a hablar a (observer), visitante (visitor) y mediador continuación: hay varias propuestas, (mediator)(2) exhiben estos problemas, ya muchas de las cuales se agrupan (junto con que para aplicarlos es necesario adaptar a AOP) en el campo de estudio denominado ellos más de una clase. ASoC (Advanced Separation of Concerns). Entre los objetivos que se ha propuesto la POA están, principalmente, el de separar AUTORES REFERENCIADOS conceptos y (2) el de minimizar las dependencias entre ellos. Con el primer Nicolás Kicillof Profesor Adjunto del objetivo se persigue que cada decisión se Departamento de Computación de la tome en un lugar concreto y no diseminada Facultad de Ciencias Exactas y Naturales, por la aplicación. Con el segundo, se Universidad de Buenos Aires. pretende desacoplar los distintos elementos que intervienen en un programa. Gregor Kiczales Profesor, El software practica el laboratorio, Departamento de la Las técnicas y las herramientas de AOSD, informática, Universidad de Colombia aplicadas en todas las etapas del ciclo de británico vida del software, están cambiando la 201-2366 alameda principal, Vancouver, manera que el software se desarrolla en B.C., Canadá V6T 1Z4 una amplia gama de los dominios del uso, extendiéndose de la empresa quot;ÉLquot; a los Karl Lieberherr (http://www.aosd.net/) sistemas encajados. AOSD 2007 recibirá Demeter/sabores, Demeter/C++, DemeterJ, una pista emocionante de la industria que DJ y XAspects. reúna a los expertos, a los reveladores y a encargados de la industria que están practicando activamente tecnología del