interactividad en el descubrimientoevolutivo de ...€¦ · 2. trabajo relacionado •...
TRANSCRIPT
Interactividad en el Interactividad en el descubrimiento evolutivo de
arquitecturas software
Aurora Ramírez, José Raúl Romero y Sebastián Ventura
Dpto. de Informática y Análisis Numérico. Universidad de Córdoba.Dpto. de Informática y Análisis Numérico. Universidad de Córdoba.
XX Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2015). Santander (España). 15-17 de septiembre de 2015.
Índice de contenido
1. Introducción
2. Trabajo relacionado
• Descubrimiento evolutivo de arquitecturas software
• Modelos interactivos en SBSE
3. Modelo interactivo propuesto
• Visión general del modelo
• Búsqueda guiada por preferencias arquitectónicas
4. Temas en curso…
5. Conclusiones y trabajo futuro
[1/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
Introducción
� Análisis arquitectónico del software
o Proceso continuo de toma de decisiones
o Herramientas basadas en Inteligencia Artificial
� Ingeniería del software basada en búsqueda (SBSE)
o Optimización de arquitecturas softwareo Optimización de arquitecturas software
o Descubrimiento evolutivo de arquitecturas
[2/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
Introducción
� Computación evolutiva interactiva (IEC)
o Incorporación del experto en el proceso de evaluación
o Aspectos a considerar: visión global, fatiga…
� Modelo interactivo propuesto
o Análisis de las características específicas del problemao Análisis de las características específicas del problema
o Primer modelo interactivo en el ámbito arquitectónico
o Problemática asociada a su desarrollo experimental
[3/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
Trabajo relacionadoDescubrimiento evolutivo de arquitecturas software
� Abstracción de la arquitectura subyacente
o Facilitar el análisis o mejora del sistema
� Arquitecturas basadas en componentes
o Capacidad de adaptación a distintos dominios
� Aplicación de técnicas evolutivas
o Búsqueda de alternativas de diseñoo Búsqueda de alternativas de diseño
o Perspectiva mono-objetivo y multi-objetivo
o Función de fitness basada en medidas de calidad
[4/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
Trabajo relacionadoModelos interactivos en SBSE
� Modularización de software
o Inclusión de la opinión del experto sobre transformaciones
� Refactorización de modelos o de código
o Evaluación de un subconjunto de soluciones
o Evaluación de soluciones antes de búsqueda local
� Diseño temprano de software orientado a objetos
o Guardar soluciones más interesantes (“portfolio”)
o Evaluación de la elegancia de las soluciones
o Congelar partes de las soluciones mostradas
[5/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
Modelo interactivo propuestoVisión general del modelo
Rol del ingeniero
� Evaluación de soluciones completas vs. parciales� Evaluación de soluciones completas vs. parciales
� Almacenar soluciones más interesantes (archivo)
� Congelar partes de soluciones (componentes)
Evaluación de soluciones
� Valoración cuantitativa vs. cualitativa
� Consistencia del criterio de evaluación
[6/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
� Combinación con medidas software (multi-objetivo)
Conjunto de soluciones a mostrar
� Número de soluciones
� Selección de soluciones representativas
Módulo de optimización
Modelo interactivo propuestoVisión general del modelo
Módulo de interacción
Seleccionar padres
Mutar individuos
¿Finalizar?
No
¿Interactuar?
Crear población
Devolver archivo
Sí
Interacción
Seleccionar soluciones a
mostrar
Actualizar preferencias
arquitectónicas
Módulo de interacción
XMI
Sí
Preferenciasarquitectónicas
Módulo de visualización
Actualizar archivo
Reemplazar población
Evaluar población
No
[7/12]Interactividad en el descubrimiento evolutivo de arquitecturas. SBSE@JISBD’15.
Archivo de soluciones
Modelo interactivo propuestoBúsqueda guiada por preferencias arquitectónicas
� Evaluación de preferencias arquitectónicas
o El experto opina sobre una parte de la solución
o El algoritmo evalúa el grado de cumplimiento/similitud
� Catálogo de preferencias (extensible)
o Similitud/disimilitud con un componente (clases)
o Similitud/disimilitud con una interfaz (operaciones)
[8/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
o Similitud/disimilitud con una interfaz (operaciones)
o Medidas software delimitadas en rango
o …
Modelo interactivo propuestoBúsqueda guiada por preferencias arquitectónicas
� Ejemplo: Similitud con componente “ideal”
o El algoritmo obtiene el coeficiente de similitud de Jaccard
*
*
#
#*),(
CC
CC
clases
clasesCCsimilitud
∪
∩
=
[9/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
C ∩ C* C* C SIM
C1 3 4 3 0,750
C2 3 4 6 0,429
Temas en curso…
� Preferencias arquitectónicas
o Elementos de las soluciones a evaluar
o Mecanismo “de olvido”
� Definición de medidas a optimizar
o Selección del conjunto de medidas (multi, many)
� Selección de las soluciones para la interacción
[10/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
� Selección de las soluciones para la interacción
o Estudio de alternativas de IEC, clustering…
Temas en curso…
� Influencia de la presentación de soluciones
o Visualización (disposición, colores)
o Partes de la solución que deben mostrarse
� Fatiga del arquitecto
o Número de iteraciones, parametrización del algoritmo
o Frecuencia de interacción y número de soluciones
[11/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
� Evaluación experimental
o Casos de estudio con participantes reales
o Integración en una herramienta software
Conclusiones y trabajo futuro
� Conclusiones
o Inclusión de interactividad en diseño automático
o Necesidad de combinar criterios de evaluación objetivos y subjetivos
� Retos
o Definición de la función de fitness
o Incorporación y manejo de las preferencias
[12/12]Interactividad en el descubrimiento evolutivo de arquitecturas software. SBSE@JISBD’15.
o Incorporación y manejo de las preferencias
o Métodos de selección basados en clustering
� Trabajo futuro
o Estudio experimental: eficiencia y utilidad
Interactividad en el Interactividad en el descubrimiento evolutivo de
arquitecturas software
Aurora Ramírez, José Raúl Romero y Sebastián Ventura
Dpto. de Informática y Análisis Numérico. Universidad de Córdoba.Dpto. de Informática y Análisis Numérico. Universidad de Córdoba.
XX Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2015). Santander (España). 15-17 de septiembre de 2015.