Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Orientada a Aspectos
La verdad desnuda
Lic. Fernando Asteasuain
16 Septiembre 2005
Charla de borrachos
Rankings
101 de E!
10..6
10
5...4
5
Nmero 1
Evolucin del SW
Trabajo en grupo
Buen manejo de relaciones interpersonales.
Comunicacin
Grficamente
Antes
En la actualidad
De todas maneras.
Ejemplo 1
Clase Libro {
..
<todas las cosas de libro>
<manejo de errores>
}
Clase Socio {
..
<todas las cosas de socio>
<manejo de errores>
<controles de acceso>
}
Conceptos entrecruzados
* Errores
* Seguridad
Anlisis Ejemplo
Problemas
Baja correspondencia.
Menor Productividad.
Menor Reuso.
Baja calidad del cdigo.
Evolucin dificultosa.
Tirana de la descomposicin
dominante
Distintos Modelos
Jerarqua Color-Forma
Nos vemos obligados a elegir un modelo como principal. En este caso: color, y luego forma
POA
Conceptos POA
Estructura
Estructura Tradicional
Estructura POA
Ejemplo 2: biblioteca
Class Biblioteca {
private libro [] libros ;
private socio [] socios;
public Biblioteca() {
Control de acceso
Funcionalidad bsica
public void ingresarSocio(socio S){
if controlDeAccesoValido() then{
// cdigo del mtodo
}
else{
generarExcepcion();
}
}
// dems mtodos
}
Definicin de un aspecto
Aspecto Control {
Punto de enlace
operacionesSeguras = llamadas a Biblioteca.prestamo &
llamadas a Biblioteca.ingresarSocio& ...
antes de operacionesSeguras: {
if !=(controlDeAccesoValido()) then{
generarExcepcion();
}
}
Ejemplo TFTP
Clase A
Clase A1
Attb1
Clase A2
Attb 3
Attb2
Mtodo 1
Mtodo 1
Mtodo 2
De donde venimos?
Historia en Imgenes
Herramientas OA
Lenguajes para programar Aspectos:
AspectJ: Extensin a Java para aplicar
aspectos. La ms popular.
AspectC++,AspectS, CAESAR.
En .NET: Weave.NET, Source Weave.
SetPoint: Framework en .NET. Basado en
la semntica y no en la sintaxis.
por lo tanto:
Arquitectura OA
AOD: Aspect Oriented Design. Extensiones a UML para soportar el manejo de aspectos en la etapa de
diseo. Extensiones Generales y Especficas.
www.aosd.net
dependex.dc.uba.ar
dependex.dc.uba.ar/~ferto/
www.angelfire.com/ri2/aspectos
Comunidad de Aspectos
Diseo OA
Extensiones al metamodelo
Extensiones Especficas
Conclusiones
AORE
Arquitectura OA
Pequesimas aproximaciones y
Herramientas.
El rea ms tmida de desarrollo hoy da.
Mostr til y viable un lenguaje de
arquitectura OA.
Creciente consenso en la comunidad
para separar las vistas.
Diseo OA