1 / 45

Detección de Patrones de Diseño de Software con Modelos de Markov de Orden Variable

Detección de Patrones de Diseño de Software con Modelos de Markov de Orden Variable. Alumno: Juan Francisco Silva Logroño Director: Luis Sebastián Berdún Co-director: Marcelo Gabriel Armentano. Tesis de Grado de Ingeniería de Sistemas. Tandil, Marzo de 2012.-. Agenda. Introducción

ananda
Download Presentation

Detección de Patrones de Diseño de Software con Modelos de Markov de Orden Variable

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Detección de Patrones de Diseño de Software con Modelos de Markov de Orden Variable Alumno: Juan Francisco Silva Logroño Director: Luis Sebastián Berdún Co-director: Marcelo Gabriel Armentano Tesis de Grado de Ingeniería de Sistemas Tandil, Marzo de 2012.-

  2. Agenda • Introducción • Trabajos relacionados • Trabajo realizado • Marco Teórico • Modelos de Markov • Materialización • Experimentos • Conclusiones

  3. Introducción Agente Usuario/Lector Interacción inicial Mixta Observa e Imita Actuar en función del comportamiento del usuario Manipulación directa Aplicación de Diseño (CASE)

  4. Trabajos Relacionados • Dos enfoques predominantes • Ingeniería Reversa • Detección dinámica del Patrón objetivo

  5. Trabajo realizado • Detección temprana del Patrón de Diseño objetivo • Agente de Interfaz • Detección dinámica • Plan Recognition • Objetivo + Acciones + Dominio • Biblioteca de Planes: Modelos de Markov de Orden Variable (VOMM) • 3 enfoques • Generación computacional del Plan Corpus: Planning

  6. Agenda • Introducción • Trabajos relacionados • Trabajo realizado • Marco Teórico • Modelos de Markov • Materialización • Experimentos • Conclusiones

  7. Modelos de Markov • Una cadena de Markov es un proceso estocástico con la propiedad Markoviana

  8. Modelos de Markov (2) • Modelos de Markov de orden m (m-gramas) • P(|s),  and sm ,|s|=m • Unigramas, Bigramas, … • Problemas?

  9. Modelos de Markov de Orden Variable • El numero de variables aleatorias que condicionan la distribución de probabilidades depende del contexto bajo observación • Reducción en el numero de parámetros que condicionan al modelo • P(|s), , sm, |s|m • Probabilistic Suffix Automata (PSA) • Modela el conjunto mínimo de sub secuencias (de longitud variable) necesarias para modelar a la fuente de información estadística • Construcción mediante PBE o PBD

  10. Probabilistic Suffix Automata

  11. Probabilistic Suffix Automata • Para cada acción observada, cada PSA realizará la correspondiente transición de estado y calculara la probabilidad para la secuencia de acciones observada hasta el momento • Exponential Moving Average (EMA)

  12. Agenda • Introducción • Trabajos relacionados • Trabajo realizado • Marco Teórico • Modelos de Markov • Materialización • Experimentos • Conclusiones

  13. Enfoque I: VOMM no parametrizado • Definición del Alfabeto

  14. Enfoque I (2) • Patrón Composite • agregarClass;agregarClassAbs;defDependencia;agregarClass;defGeneralizacion;agregarClass;defGeneralizacion;defComposicion • agregarClass;agregarClassAbs;agregarClass;agregarClass;defGeneralizacion;defGeneralizacion;defComposicion;defDependencia • agregarClassAbs;agregarClass;defDependencia;agregarClass;defComposicion;defGeneralizacion;agregarClass;defGeneralizacion

  15. PSA para el Patrón Composite • s = agregarClass;agregarClassAbs;defDependencia;agregarClass; defGeneralizacion;agregarClass;defGeneralizacion;defComposicion Costo:

  16. Enfoque II: VOMM parametrizado • Definición del Alfabeto

  17. Enfoque II (2) • Patrón Composite agregarClass(Cliente); agregarClassAbs(Grafico); defDependencia(Cliente, Grafico); agregarClass(Sing); defGeneralizacion(Sing, Grafico); agregarClass(Comp); defGeneralizacion(Comp, Grafico); defComposicion(Comp, Grafico) • Que cambio? • Explosión del Universo de tareas • Símbolos únicos • Cantidad de posibles transiciones en cada nodo • Administración de parámetros

  18. Administración de parámetros

  19. Administración de parámetros (2) • Ejemplo: agregarClassAbs(FiltroAbstracto) • Costo:

  20. Enfoque III: VOMM con Ventana Deslizante • Se utiliza una Ventana Deslizable para restringir el numero de variables extraídas de las acciones del usuario • Evaluaciones del PSA (cantidad de ) • Filtrado de las Observaciones

  21. Agenda • Introducción • Trabajos relacionados • Trabajo realizado • Marco Teórico • Modelos de Markov • Materialización • Experimentos • Conclusiones

  22. Resultado Experimentales • Construcción del Data-Set

  23. Resultados Experimentales: Métricas • On Line Accuracy • Convergencia • Presicion

  24. Experimento I • Objetivo: Obtener el valor de 𝝀mas adecuado para cada enfoque • Metodología: • LeaveOneOut Cross Validation (LOOCV) • Promediado de las métricas

  25. Experimento I: Resultados Media Desviación Estándar

  26. Experimento I: Resultados (2)

  27. Experimento II • Objetivo: medir la cantidad de veces que un modelo se encuentra dentro de los n mejores resultados predichos • Metodología: • LOOCV • Umbral de confianza τ • Modificación sobre métrica:

  28. Experimento II: Resultados

  29. Experimento III • Objetivo: Medir la confusión entre los patrones estudiados • Metodología: • LOOCV • Métrica On Line Accuracy • Ejemplo: Composite 200 cadenas

  30. Experimento III: Resultados

  31. Experimento III: Resultados (2)

  32. Experimento IV • Objetivo: Evaluar el rendimiento de los enfoques en presencia de ruido • Metodología: • Construcción de Corpus Ruidoso: 20 y 40% • Experimento I – LeaveOneOut

  33. Experimento IV: Resultados

  34. Agenda • Introducción • Trabajos relacionados • Trabajo realizado • Marco Teórico • Modelos de Markov • Materialización • Experimentos • Conclusiones

  35. Conclusiones • Modelado de los Patrones de Diseño de Software con Modelos de Markov: 3 Enfoques • Sin parámetros • Con parámetros • Utilizando una ventana deslizante • Función de suavizado de datos estadísticos: EMA • Limitaciones: • El crecimiento del alfabeto perjudica a los VOMM • Aumento en los estados necesarios para representar a cada patrón • Complejidad poco practica del Enfoque II • Disminución en las observaciones a analizar en el Enfoque III

  36. Conclusiones • Trabajos futuros • Extensión del alfabeto utilizado por cada enfoque • Métodos y Variables • Diagramas de Secuencia • Detección de Anti-Patrones de Diseño

  37. Conclusiones • Publicaciones • SILVA LOGROÑO, J.F., L.S. BERDUN, M. G. ARMENTANO, y A.A. AMANDI. 2011. Discrete Sequences Analysis for Detecting Software Design Patterns. In: Proceedings of the 2nd International Conference on Advances in New Technologies, Interactive Interfaces and Communicability (ADNTIIC 2011). Huerta Grande, Córdoba: ALAIPO & AINCI, pp.243 - 253. • SILVA LOGROÑO, J.F., L.S. BERDUN, M. G. ARMENTANO, y A.A. AMANDI. 2011. Un enfoque para la generación de Plan Corpus con un Algoritmo de Planning. In: Proceedings del 12º Simposio Argentino de Inteligencia Artificial (ASAI 2011), 40º JAIIO.. Cordoba, Argentina • SILVA LOGROÑO, J.F., L.S. BERDUN, M. G. ARMENTANO, y A.A. AMANDI. 2010. Análisis de secuencias discretas para la detección de Patrones de Diseño de Software. In: 11º Simposio Argentino de Inteligencia Artificial (ASAI 2010), 39º JAIIO. Buenos Aires, Argentina

  38. Preguntas

  39. Generación del Plan Corpus • Generación Manual • Generación Automática • Algoritmo de Planning • «Permite obtener un conjunto de acciones, que cuando son ejecutadas en orden permiten alcanzar un objetivo»

  40. Algoritmo de Planning • Consiste de una 3-upla • : estado inicial • : estado final • : conjunto de acciones disponibles • Ejemplos de Acciones: • Agregar clase action (agrClass(C),[],[ clase(C), tipo(C,concreta),libre(C) ] ). • Agregar relación de dependencia action (defDependencia(A,B),[ distintas(A,B), clase(A),clase(B)],[ dependencia(A,B) ] ).

  41. Algoritmo de Planning (2) • Ejemplo de Estado Final:

  42. Patrones de Diseño de Software • «Conjunto de clases y objetos donde cada uno de sus elementos fue especificado con las características necesarias para solucionar un problema de diseño general en un contexto particular» • «Mediante ellos se busca abstraer soluciones a problemas comunes y lograr así repetirlas ante un problema similar las veces que sean necesarias» E. Gamma, R. Helm, R. Johnson y J. Vlissides, 1994

  43. Plan Recognition • «… inferir los objetivos de un sujeto basándose en las acciones que este haya realizado en un determinado dominio… » • Entrada: • Un conjunto de objetivos que el agente espera que el usuario intente realizar en el dominio bajo estudio • Un conjunto de modelos describiendo la forma en que el usuario puede alcanzar cada uno de los objetivos • Una acción observada por el agente • Salida: • Predecir el objetivo del usuario y determinar como la acción observada contribuye para lograrlo • Bibliotecas de Planes • Modelos de Markov

  44. Probabilistic Suffix Automata • La probabilidad empírica de una secuencia s con longitud l • Probabilidad empírica condicional de observar una acción σ luego de una secuencia s donde

More Related