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

Post on 04-Jul-2020

0 views 0 download

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

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

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

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.