![Page 1: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/2.jpg)
Í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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/8.jpg)
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
![Page 9: Interactividad en el descubrimientoevolutivo de ...€¦ · 2. Trabajo relacionado • Descubrimiento evolutivo de arquitecturas software • Modelos interactivos en SBSE 3. Modelo](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.co/reader033/viewer/2022060501/5f1b993eab2bd57a231ec975/html5/thumbnails/14.jpg)
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.