Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGabriela Conejo Modificado hace 10 años
1
Asistente para la Reutilización de Modelos - 1 Asistente para la Reutilización de Modelos de objeto An. Renato M. ROSSELLO An. Rosana E. FLOREZ Ing. Esteban PASTOR
2
Asistente para la Reutilización de Modelos - 2 Reusabilidad ]Reducción de costos de desarrollo y mantenimiento ]Aplicable al código y al diseño ]Gran difusión en OO ]Especificaciones de como deben ser los diseños para ser reusables (Patterns)
3
Asistente para la Reutilización de Modelos - 3 Reusabilidad Para reusar una solución, antes hay que encontrarla Si el tiempo para encontrar una clase reusable es mayor que el tiempo necesario para implementarla desde cero, la reusabilidad deja de ser una ventaja. - B.Meyer (1988)
4
Asistente para la Reutilización de Modelos - 4 ¿ Qué es ARM ? ]Una Estrategia de Reusabilidad tendiente a la recuperación de modelos de objeto previamente utilizados ]Una aplicación basada en esta Estrategia de Reusabilidad
5
Asistente para la Reutilización de Modelos - 5 Estrategia de Reusabilidad Apareo Modelo Global M odelo Recuperado Modelo a Buscar Reglas de Transformación Reglas de Recuperación Apareo por Atributos Apareo por Métodos Reglas de Ajuste Apareo por Herencia Apareo por Mensajes
6
Asistente para la Reutilización de Modelos - 6 Intersec/unión Apareo Herencia Apareo Mensajes Apareo Atri butos Apareo Métodos M. a Buscar M. Global M. Recuperado 2 M. Recuperado 1 Modelo Recuperado 12 Modelo Recuperado 3 M. Recuperado 4 M. Global 4 3 2 1 Reglas de Transformación: Aplicación
7
Asistente para la Reutilización de Modelos - 7 1 2 1º1º 23 124 1234 2 23 24 234 1 13 14 134 Reglas de Transformación Secuencia Recuperación por Atributos y/o Métodos Recuperación por Atributos Recuperación por Métodos
8
Asistente para la Reutilización de Modelos - 8 Estrategia de Reusabilidad Calidad de la Transformación Calidad de aceptación de Atributos y Métodos Clase de Smalltalk Clase a Buscar Modelo Global Modelo a Buscar Calidad de Apareo [0,1] Grado de semejanza entre el Modelo a Buscar y el Modelo Recuperado
9
Asistente para la Reutilización de Modelos - 9 Estructura del ARM Modelo Recuperado Modelo a Buscar Modelo Global 1234 Editor de Modelos Parámetros de Calidad de la Transformación Smalltalk Express Diccionario de Sinónimos
10
Asistente para la Reutilización de Modelos - 10 Modelo a Buscar Clase Herencia Mensaje Editor de Modelos
11
Asistente para la Reutilización de Modelos - 11 Modelo Global Variables de I Seleccionada Clase Seleccionada Definición de la Clase Seleccionada Variables de instancia o Clase Métodos de la Clase Seleccionada Jerarquía de Clases del Modelo Global Image de Smalltalk Express y Class Hierarchy Browser Especificación de Clases
12
Asistente para la Reutilización de Modelos - 12 Modelo Global Image de Smalltalk Express y Class Hierarchy Browser Definición de Métodos Declaración del Método Comentario Sentencias Selector del Método
13
Asistente para la Reutilización de Modelos - 13 Modelo Recuperado Atributos Apareados Métodos Apareados
14
Asistente para la Reutilización de Modelos - 14 Calidad del Modelo Recuperado ]Calidad Estructural del Apareo de pares de Clases ]Calidad de Apareo por Atributos ]Calidad de Apareo por Métodos ]Calidad de Apareo por Herencia ]Calidad de Apareo por Mensajes ]Calidad del Apareo del Modelo a Buscar con el Modelo Recuperado
15
Asistente para la Reutilización de Modelos - 15 Calidad Estructural
16
Asistente para la Reutilización de Modelos - 16 Calidad de Herencia
17
Asistente para la Reutilización de Modelos - 17 Calidad de Mensajes
18
Asistente para la Reutilización de Modelos - 18 Diccionario de Sinónimos Sinónimos de: Nombres de Clase Atributos Selectores de Métodos
19
Asistente para la Reutilización de Modelos - 19 Parámetros de calidad de la transformación Se clasifican en parámetros: de Apareo por Atributos de Apareo por Métodos de Apareo por Atributos y Métodos de Apareo por Herencia de Apareo por Mensajes generales del ARM de ubicación de archivos
20
Asistente para la Reutilización de Modelos - 20 Parámetros Generales del ARM Clases de Inicio - (ClaseInicio) Clases de Smalltalk tomadas como raíces del Modelo Global Tipo de Recuperación - (TipoRecuperación) (1,2,3) Criterio utilizado para la recuperación de clases: 1: recuperación por Atributos. 2: recuperación por Métodos. 3: recuperación por Atributos y/o Métodos. Intersección (0,1) 0: unión de clases recuperadas por Atributos y Métodos. 1: intersección de clases recuperadas por Atributos y Métodos.
21
Asistente para la Reutilización de Modelos - 21 Reglas de Transformación Modelo Global project Apareo por Atributos Modelo a Buscar Modelo Recuperado 1 sistema c mab c small Nom(c mab ) Atribs (c mab ) Atribs (c small ) EsVarDe(Atribs(c mab ) i, c small ) Atribs(c mab ) i sinónimos project proyecto
22
Asistente para la Reutilización de Modelos - 22 Parámetros de Apareo por Atributos Peso Nombre Clase ( PesoNomClase ) [0..1] importancia de coincidencia del nombre de clase. Mínima Calidad de Atributos Aceptada ( CalidadAceptAtributos ) [0..1] Calidad de Atributos mínima aceptada para una clase recuperada. Peso Coincidencia de Atributo Heredado ( PesoCoincidAtribHered ) [0..1] Importancia de un atributo heredado de una clase del Modelo a Buscar. Peso de Atributos (PesoAtributos) [0..1] Peso de la semejanza de atributos.
23
Asistente para la Reutilización de Modelos - 23 Parámetros de Apareo por Atributos y por Métodos Clases Ignoradas (ClasesIgnoradas) Clases de Smalltalk cuyas variables o métodos deben ignorarse. Porcentaje de Palabras para Raices (PorcRaizPal)[0..100] Porcentaje de la cadena que se conserva para obtener su raíz. Longitud Máxima Palabra (LongMaxPal) Longitud máxima de cadena para la cual no se extrae raíz. Comparación Exacta (CompExacta)(1,2,3) valor que define cuando dos cadenas son consideradas iguales. 1: coincidencia carácter a carácter. 2: inclusión de una cadena en la otra. 3: coincidencia de una cadena con prefijo de la otra. Peso de Coincidencia de un Sinónimo (PesoCoincidSinonim)[0..1] Peso de la coincidencia de un sinónimo. Peso de Estructura (PesoEstructura)[0..1] Peso de la semejanza estructural.
24
Asistente para la Reutilización de Modelos - 24 Usando Apareo por Atributos Modelo a Buscar
25
Asistente para la Reutilización de Modelos - 25 Usando Apareo por Atributos Modelo Recuperado
26
Asistente para la Reutilización de Modelos - 26 Reglas de Transformación Apareo por Métodos Modelo Global Modelo a Buscar Modelo Recuperado 2 c mab c small Métodos (c mab ) Método s (c small ) CoincidComp (comp jk,comp ik ) sinónimos posiciónaddNodePosaddNodePos comp ik comp (Selector j ) i j k k
27
Asistente para la Reutilización de Modelos - 27 Parámetros de Apareo por Métodos Mínima Calidad de Métodos Aceptada ( CalidadAceptMétodos ) [0..1] Calidad de Métodos mínima aceptada para una clase recuperada. Peso de Coincidencia de Métodos Heredados ( PesoCoincidMetodHered ) [0..1] Importancia de un método heredado de una clase del Modelo a Buscar. Mínima Calidad de un Método ( MinCalMetod )[0..1] Grado de semejanza mínimo para el cual se consideran dos selectores de métodos como semejantes.
28
Asistente para la Reutilización de Modelos - 28 Usando Apareo por Métodos Modelo Recuperado (Intersección)
29
Asistente para la Reutilización de Modelos - 29 Usando Apareo por Métodos Modelo Recuperado (Unión)
30
Asistente para la Reutilización de Modelos - 30 Reglas de Transformación Apareo por Herencia Modelo Global Modelo a Buscar Modelo Recuperado 3 h small-j Modelo Recuperado 12 Apareo Herencia (f h ) fhfh Herencia (MaB) h small-j CalidadHerencia (MaB, MR) Semejanza Estructural
31
Asistente para la Reutilización de Modelos - 31 Casos posibles en el análisis de herencia ]Entre clases Recuperadas y Coincidente en Orden ]Entre clases Recuperadas y No Coincidente en Orden ]Entre clases Recuperadas o No y Coincidente en Orden ]Entre clases Recuperadas o No y No Coincidente en Orden ]Sólo entre clases Recuperadas o No Apareo por Herencia
32
Asistente para la Reutilización de Modelos - 32 Entre clases Recuperadas y Coincidente en Orden
33
Asistente para la Reutilización de Modelos - 33 Entre clases Recuperadas y No Coincidente en Orden
34
Asistente para la Reutilización de Modelos - 34 Entre clases Recuperadas o No y Coincidente en Orden
35
Asistente para la Reutilización de Modelos - 35 Entre clases Recuperadas o No y No Coincidente en Orden
36
Asistente para la Reutilización de Modelos - 36 Sólo entre clases Recuperadas o No (Aporte Cualitativo)
37
Asistente para la Reutilización de Modelos - 37 Herencia de Orden Inverso ]las clases recuperadas no son realmente las que estamos buscando o sólo alguna de ellas es la que estamos buscando, ]las clases recuperadas son las que estamos buscando, pero existe un error de diseño en nuestro modelo, ]las clases recuperadas son las que estamos buscando, pero existe un error de diseño en el modelo previamente implementado o ]las clases recuperadas son las que estamos buscando, pero el problema que estamos analizando influye sobre la jerarquía de herencia de forma inversa al problema que se resolvió al implementar las clases recuperadas.
38
Asistente para la Reutilización de Modelos - 38 Parámetros de Apareo por Herencia UsaHerencia(0,1) 0: no se analiza la relación entre jerarquías de herencia. 1: se analiza la relación entre jerarquías de herencia. ClasesIntermedias (0,1) 0: no se usan clases intermedias. 1: se usan clases intermedias. Peso de las Clases Intermedias (PesoClasesIntermedias )[0..1] Peso de la incorporación de cada clase intermedia. Peso de Herencia (PesoHerencia) [0..1] Peso que tiene el Apareo por Herencia.
39
Asistente para la Reutilización de Modelos - 39 Usando Apareo por Herencia Modelo a Buscar
40
Asistente para la Reutilización de Modelos - 40 Usando Apareo por Herencia Modelo Recuperado sin Herencia
41
Asistente para la Reutilización de Modelos - 41 Usando Apareo por Herencia Modelo Recuperado con Herencia Clases Intermedias Recuperadas
42
Asistente para la Reutilización de Modelos - 42 Usando Apareo por Herencia Modelo a BuscarModelo Recuperado sin Herencia
43
Asistente para la Reutilización de Modelos - 43 Usando Apareo por Herencia Modelo Recuperado con Herencia Modelo Global
44
Asistente para la Reutilización de Modelos - 44 Reglas de Transformación Apareo por Mensajes Modelo Global Modelo a Buscar Modelo Recuperado 4 Modelo Recuperado 3 CalMensajes (MaB, MR) Semejanza Estructural mimi fsfs Mensajes (MaB) O mab D mab O small D small
45
Asistente para la Reutilización de Modelos - 45 1 2 3 9 7º7º 8º8º 6 4 5 Clases del Modelo Global Clase Semejante a Origen mab Clase Semejante a Destino mab A B C F E D Orden de Búsqueda de Mensajes
46
Asistente para la Reutilización de Modelos - 46 Parámetros de Apareo por Mensajes UsaMensajes (0,1) 0: no se analiza la relación entre mensajes. 1: se analiza la relación entre mensajes. Peso de Mensajes (PesoMensajes)[0..1] Peso que tiene el Apareo por Mensajes.
47
Asistente para la Reutilización de Modelos - 47 Usando Apareo por Mensajes Modelo a Buscar Modelo Recuperado sin Mensajes
48
Asistente para la Reutilización de Modelos - 48 Usando Apareo por Mensajes Modelo Recuperado con Mensajes Clases Añadidas por el Apareo por Mensajes
49
Asistente para la Reutilización de Modelos - 49 Calidad del Modelo
50
Asistente para la Reutilización de Modelos - 50 Algunas Características del ARM ]Flexibilidad ]Permite distintos niveles de abstracción en Modelo a Buscar y Modelo Recuperado (análisis y diseño) ]Permite distintos tipos de Modelo a Buscar y Modelo Recuperado (Parámetros de Ajuste) ]Modularidad ]Puede añadirse como asistente a otra herramienta de desarrollo (Arquitectura en capas)
51
Asistente para la Reutilización de Modelos - 51 Conclusiones ]Los atributos son más significativos para la recuperación ]El Apareo por Herencia sugiere mejoras en el diseño ]El Apareo por Mensajes sugiere nuevas funciones ]Existen valores recomendados para los parámetros según características del MaB y del M. R. ]El Ajuste de Parámetros mejora la recuperación.
52
Asistente para la Reutilización de Modelos - 52 A Futuro ]Implementación en C++ ]Ajuste inicial automático de los Parámetros de Configuración ]Incorporación del ARM a una herramienta CASE
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.