Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado •...

14
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.

Transcript of Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado •...

Page 1: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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.

Page 2: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

Í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.

Page 3: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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.

Page 4: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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.

Page 5: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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.

Page 6: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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.

Page 7: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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

Page 8: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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

Interacción

Seleccionar soluciones a

mostrar

Actualizar preferencias

arquitectónicas

Módulo de interacción

XMI

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

Page 9: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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 …

Page 10: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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

Page 11: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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…

Page 12: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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

Page 13: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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

Page 14: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo

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.