Click here to load reader

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

  • Upload
    ananda

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Anlisis de secuencias discretas para la deteccin de Patrones de Diseo de Software

Alumno: Juan Francisco Silva Logroo

Director: Luis Sebastin BerdnCo-director: Marcelo Gabriel Armentano

Deteccin de Patrones de Diseo de Software con Modelos de Markov de Orden Variable

Tesis de Grado de Ingeniera de SistemasTandil, Marzo de 2012.-

1AgendaIntroduccinTrabajos relacionadosTrabajo realizadoMarco TericoModelos de MarkovMaterializacinExperimentosConclusiones

2Introduccin

Actuar en funcin del comportamientodel usuarioUsuario/LectorAgenteAplicacin de Diseo (CASE)Interaccin inicial MixtaObserva e ImitaManipulacin directa

3Trabajos RelacionadosDos enfoques predominantesIngeniera ReversaDeteccin dinmica del Patrn objetivo

Trabajo realizadoDeteccin temprana del Patrn de Diseo objetivoAgente de Interfaz Deteccin dinmica Plan RecognitionObjetivo + Acciones + DominioBiblioteca de Planes: Modelos de Markov de Orden Variable (VOMM)3 enfoquesGeneracin computacional del Plan Corpus: Planning

Actividades realizadas a lo largo del trabajo5AgendaIntroduccinTrabajos relacionadosTrabajo realizadoMarco TericoModelos de MarkovMaterializacinExperimentosConclusiones

6Modelos de MarkovUna cadena de Markov es un proceso estocstico con la propiedad Markoviana

Modelos de Markov (2)Modelos de Markov de orden m (m-gramas)

P(|s), and sm ,|s|=m Unigramas, Bigramas, Problemas?

Modelos de Markov de Orden VariableEl numero de variables aleatorias que condicionan la distribucin de probabilidades depende del contexto bajo observacinReduccin en el numero de parmetros que condicionan al modeloP(|s), , sm, |s|mProbabilistic Suffix Automata (PSA)Modela el conjunto mnimo de sub secuencias (de longitud variable) necesarias para modelar a la fuente de informacin estadsticaConstruccin mediante PBE o PBD

Probabilistic Suffix Automata

Probabilistic Suffix AutomataPara cada accin observada, cada PSA realizar la correspondiente transicin de estado y calculara la probabilidad para la secuencia de acciones observada hasta el momento

Exponential Moving Average (EMA)

11AgendaIntroduccinTrabajos relacionadosTrabajo realizadoMarco TericoModelos de MarkovMaterializacinExperimentosConclusiones

12Enfoque I: VOMM no parametrizadoDefinicin del Alfabeto

OperacinDescripcinClasesagregarInterfazAgrega una Interfaz al diagramaagregarClassAbsAgrega una Clase abstracta al diagramaagregarClassAgrega una clase concreta al diagramaRelacionesdefAgregacionEstablece una relacin de agregacindefComposicionEstablece una relacin de composicindefGeneralizacionEstablece una relacin de generalizacindefAsociacionEstablece una relacin de asociacindefDependenciaEstablece una relacin de dependenciadefImplementacionEstablece una relacin de implementacin

Enfoque I (2)Patrn Composite

agregarClass;agregarClassAbs;defDependencia;agregarClass;defGeneralizacion;agregarClass;defGeneralizacion;defComposicionagregarClass;agregarClassAbs;agregarClass;agregarClass;defGeneralizacion;defGeneralizacion;defComposicion;defDependenciaagregarClassAbs;agregarClass;defDependencia;agregarClass;defComposicion;defGeneralizacion;agregarClass;defGeneralizacion

PSA para el Patrn Composite s = agregarClass;agregarClassAbs;defDependencia;agregarClass;defGeneralizacion;agregarClass;defGeneralizacion;defComposicion

Enfoque II: VOMM parametrizadoDefinicin del Alfabeto

Alfabeto para el Enfoque IParmetros que se incorporan para el Enfoque IIClasesagregarInterfaz ([nombre_interfaz])agregarClassAbs([nombre_Clase_Abstracta])agregarClass([nombre_Clase])RelacionesdefAgregacion([nombre_C_CA_I(1) ], [nombre_C_CA_I (2)])defComposicion([nombre_C_CA_I(1) ], [nombre_C_CA_I (2)])defGeneralizacion([nombre_C_CA_I(1) ], [nombre_C_CA_I (2)])defAsociacion([nombre_C_CA_I(1) ], [nombre_C_CA_I (2)])defDependencia([nombre_C_CA_I(1) ], [nombre_C_CA_I (2)])defImplementacion([nombre_C_CA_I], [nombre _Interfaz])

Enfoque II (2)Patrn CompositeagregarClass(Cliente); agregarClassAbs(Grafico); defDependencia(Cliente, Grafico); agregarClass(Sing); defGeneralizacion(Sing, Grafico); agregarClass(Comp); defGeneralizacion(Comp, Grafico); defComposicion(Comp, Grafico)Que cambio?Explosin del Universo de tareas Smbolos nicosCantidad de posibles transiciones en cada nodoAdministracin de parmetros

Administracin de parmetros

TamaoSubconjuntos1 (4){Cliente}; {Grafico}; {Sing}; {Comp}2 (12){Cliente, Grafico}; {Cliente, Sing}; {Cliente, Comp};{Grafico,Cliente}; {Grafico, Sing}; {Grafico, Comp};{Sing, Cliente}; ;{Comp, Grafico}; {Comp, Sing}3 (12){Cliente, Grafico, Sing}; {Cliente, Grafico, Comp}; {Cliente, Sing, Grafico}; ;{Grafico, Sing, Comp}; {Grafico,Comp, Cliente}; {Grafico, Comp, Sing};4 (){Cliente, Grafico, Sing, Comp}; {Cliente, Sing, Grafico, Comp}; {Cliente, Sing, Comp, Grafico}; ... ; {Comp, Sing, Grafico, Cliente}

Administracin de parmetros (2)

Enfoque III: VOMM con Ventana Deslizante

AgendaIntroduccinTrabajos relacionadosTrabajo realizadoMarco TericoModelos de MarkovMaterializacinExperimentosConclusiones

21Resultado ExperimentalesConstruccin del Data-SetCategoraPatrnCantidad de Acciones por SecuenciaCantidad de Acciones distintasCantidad de Clases (concretas, abstractas e interfaces)Planes GeneradosE II y E IIIE ICreacionalesFactory Method (FM)1337852211Prototype (Prot)74419385EstructuralesAdapter (Adap)644192118Bridge (Brid)114617021Composite (Comp)844837382Decorator (Deco)1246857338ComportamentalesCommand (Comm)1477880664Iterator (Ite)1557842323Mediator (Med)112486815Observer (Obs)115417865

Resultados Experimentales: MtricasOn Line Accuracy

Convergencia

Presicion Experimento IObjetivo: Obtener el valor de mas adecuado para cada enfoqueMetodologa:Leave One Out Cross Validation (LOOCV)Promediado de las mtricas Experimento I: Resultados

MediaDesviacin EstndarExperimento I: Resultados (2)

Experimento IIObjetivo: medir la cantidad de veces que un modelo se encuentra dentro de los n mejores resultados predichosMetodologa:LOOCVUmbral de confianza Modificacin sobre mtrica:

Experimento II: Resultados

Experimento IIIObjetivo: Medir la confusin entre los patrones estudiadosMetodologa:LOOCVMtrica On Line AccuracyEjemplo: Composite 200 cadenasAdapBridCommCompDecoFMIteMedObsProtComposite1616365004224358AdapBridCommCompDecoFMIteMedObsProtComposite881825021121,52,54Experimento III: ResultadosAdapBridCommCompDecoFMIteMedObsProtAdapter67,807,6316,952,544,240,85Bridge85,7114,29Command100,00Composite1,050,7922,2523,0447,384,451,05Decorator98,521,48F. Method100,00Iterator4,0295,670,31Mediator100,00Observer100,00Prototype17,652,3520,0015,292,3542,35Precisin promedio (E I)81,23Experimento III: Resultados (2)Precisin promedio (E III) 70,25AdapBridCommCompDecoFMIteMedObsProtAdapter54,177,291,042,603,6511,4619,79Bridge90,595,883,53Command14,0983,180,681,590,45Composite17,688,0016,6116,9712,4327,001,31Decorator8,056,653,7377,950,233,38F. Method1,172,930,3594,011,53Iterator0,2499,76Mediator100Observer100Prototype9,8426,421,045,7033,6810,3611,921,04Precisin promedio (E II)71,73Experimento IVObjetivo: Evaluar el rendimiento de los enfoques en presencia de ruidoMetodologa: Construccin de Corpus Ruidoso: 20 y 40%Experimento I Leave One Out

Experimento IV: Resultados

AgendaIntroduccinTrabajos relacionadosTrabajo realizadoMarco TericoModelos de MarkovMaterializacinExperimentosConclusiones

34ConclusionesModelado de los Patrones de Diseo de Software con Modelos de Markov: 3 EnfoquesSin parmetrosCon parmetros Utilizando una ventana deslizanteFuncin de suavizado de datos estadsticos: EMA

Limitaciones:El crecimiento del alfabeto perjudica a los VOMMAumento en los estados necesarios para representar a cada patrnComplejidad poco practica del Enfoque IIDisminucin en las observaciones a analizar en el Enfoque III

ConclusionesTrabajos futurosExtensin del alfabeto utilizado por cada enfoqueMtodos y VariablesDiagramas de SecuenciaDeteccin de Anti-Patrones de DiseoConclusionesPublicacionesSILVA LOGROO, 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, Crdoba: ALAIPO & AINCI, pp.243 - 253.

SILVA LOGROO, J.F., L.S. BERDUN, M. G. ARMENTANO, y A.A. AMANDI. 2011. Un enfoque para la generacin de Plan Corpus con un Algoritmo de Planning. In: Proceedings del 12 Simposio Argentino de Inteligencia Artificial (ASAI 2011), 40 JAIIO.. Cordoba, Argentina

SILVA LOGROO, J.F., L.S. BERDUN, M. G. ARMENTANO, y A.A. AMANDI. 2010. Anlisis de secuencias discretas para la deteccin de Patrones de Diseo de Software. In: 11 Simposio Argentino de Inteligencia Artificial (ASAI 2010), 39 JAIIO. Buenos Aires, Argentina

Preguntas

38Generacin del Plan CorpusGeneracin Manual Generacin AutomticaAlgoritmo de PlanningPermite obtener un conjunto de acciones, que cuando son ejecutadas en orden permiten alcanzar un objetivo

Algoritmo de Planning41Algoritmo de Planning (2)Ejemplo de Estado Final:

clase(cliente),clase(grafico),tipo(grafico,abst),clase(comp),generalizacion(comp,grafico),clase(sing),generalizacion(sing,grafico),composicion(comp,grafico),dependencia(cliente,grafico)

42Patrones de Diseo de SoftwareConjunto de clases y objetos donde cada uno de sus elementos fue especificado con las caractersticas necesarias para solucionar un problema de diseo general en un contexto particularMediante ellos se busca abstraer soluciones a problemas comunes y lograr as repetirlas ante un problema similar las veces que sean necesariasCategoraCreacionalEstructuralComportamentalPatronesAbstract Factory, Builder, Factory Method, Prototype, Singleton Adapter, Bridge, Composite, Decorator, Facade, Flyweight, ProxyChain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, VisitorE. Gamma, R. Helm, R. Johnson y J. Vlissides, 1994Plan Recognition inferir los objetivos de un sujeto basndose 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 estudioUn conjunto de modelos describiendo la forma en que el usuario puede alcanzar cada uno de los objetivos Una accin observada por el agente Salida:Predecir el objetivo del usuario y determinar como la accin observada contribuye para lograrlo

Bibliotecas de PlanesModelos de Markov

Probabilistic Suffix AutomataLa probabilidad emprica de una secuencia s con longitud l

Probabilidad emprica condicional de observar una accin luego de una secuencia s

donde

45