Tesis Doctoral Leon Welicki - PowerPoint PPT Presentation

About This Presentation
Title:

Tesis Doctoral Leon Welicki

Description:

UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRID FACULTAD DE INFORM TICA Meta-Especificaci n y Catalogaci n de Patrones de Software con Lenguajes de Dominio ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 74
Provided by: LeonWe2
Category:
Tags: doctoral | leon | tesis | welicki

less

Transcript and Presenter's Notes

Title: Tesis Doctoral Leon Welicki


1
UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE
MADRIDFACULTAD DE INFORMÁTICA
Meta-Especificación y Catalogación de Patrones de
Software con Lenguajes de Dominio Específico y
Modelos de Objetos Adaptativos Una Vía para la
Gestión del Conocimiento en la Ingeniería del
Software
León Welicki lwelicki_at_acm.org
2
Índice
  • Introducción
  • Estado del arte
  • Desarrollo de la investigación
  • Prototipos desarrollados
  • Conclusiones

2
3
Contexto
Introducción
Introducción
  • El software es el gran protagonista de los
    últimos (y próximos) lustros, estando presente en
    gran parte de los aspectos de la vida cotidiana
  • Nuestra civilización corre sobre software
  • Las ideas y los descubrimientos tecnológicos son
    los conductores del crecimiento económico
  • Sin embargo, la construcción de software es una
    disciplina moderna que está en constante
    evolución, en búsqueda de un estado de madurez
    que sea comprehensivo respecto a su amplio
    espectro de aplicación
  • La reutilización promete ser una de las vías
    hacia ese anhelado estado, a través de una
    correcta gestión de las experiencias y
    conocimiento de ingenieros expertos

3
4
Sobre esta Tesis
Introducción
Introducción
  • En la presente tesis se traza y explora el
    dominio de la meta-especificación y catalogación
    de patrones como respuesta al problema de
    describir, catalogar y compartir conocimiento de
    ingeniería del software
  • La investigación realizada se inscribe en un
    marco interdisciplinario
  • Ingeniería del Software
  • Gestión del Conocimiento
  • Ingeniería Web
  • Ciencias de la Computación

4
5
Soporte de la Hipótesis
Introducción
Introducción
  • La construcción de software es una disciplina
    compleja, con un extraño balance entre arte y
    ciencia donde la experiencia tiene un rol
    determinante
  • Los patrones son el medio idóneo para compartir
    experiencia
  • Compartir patrones es compartir conocimiento
  • La falta de un modelo para describir, clasificar
    y compartir patrones dificulta la transmisión del
    conocimiento que el patrón intenta expresar

5
6
Hipótesis
Introducción
Introducción
Es posible codificar en forma abstracta a los
patrones y a sus conceptos de soporte a un alto
nivel de abstracción en forma flexible y
extensible abarcando todos los modelos
de descripción posibles, catalogarlos y
compartirlos con la comunidad para gestionar y
transmitir adecuadamente el conocimiento que
intentan expresar
6
7
Objetivos Principales
Introducción
Introducción
  • Crear un lenguaje de meta-especificación que
    permita describir a los patrones a un alto nivel
    de abstracción
  • Utilizar este lenguaje para construir un catálogo
    que incluya también todos los conceptos
    necesarios para poder realmente entender al
    patrón
  • Exponer toda esta información haciendo este
    conocimiento accesible para el público general,
    con independencia del fin para el que quiera
    utilizarlo

7
8
Objetivos Parciales
Introducción
Introducción
  1. Crear un lenguaje de representación de patrones
  2. Dotar al lenguaje de expresividad para describir
    conceptos
  3. Dotar al lenguaje de capacidades relacionales
  4. Dotar al lenguaje de capacidades de anotación
  5. Construir un catálogo de patrones
  6. Crear la infraestructura de catalogación
  7. Crear una herramienta de visualización del
    catálogo
  8. Establecer un mecanismo de visualización de
    entidades
  9. Habilitar el trabajo colaborativo para
    evolucionar a los patrones
  10. Convertir al catálogo en un proveedor de
    servicios de información

8
9
Metodología de la Investigación
Introducción
Introducción
  • Metodología iterativa e incremental
  • En cada iteración
  • Se establecía un modelo teórico
  • Se creaban prototipos
  • Se publicaban los resultados parciales
  • Se discutía y contrastaban con la comunidad
    científica internacional
  • El feedback obtenido servía como realimentación
    del proceso y se utilizaba en la siguiente
    iteración
  • Varios hitos de verificación
  • COMPSAC 2007, OOPSLA 2006, PLoP 2006, EuroPLoP
    2006, PLoP 2005, W3C JSWEB 2005, etc.

9
10
Índice
  • Introducción
  • Estado del arte
  • Desarrollo de la investigación
  • Prototipos desarrollados
  • Conclusiones

10
11
Estado del Arte
Estado del arte
  • Herramientas Conceptuales
  • Patrones
  • El nivel Meta
  • Lenguajes de Dominio Específico
  • Modelos de Objetos Adaptativos
  • Sistemas Emergentes
  • Soluciones Parciales Existentes
  • Problemas Recurrentes
  • Conclusión de los Problemas Recurrentes

11
12
Patrones
Estado del arte
  • Un patrón es una solución a un problema en un
    contexto
  • Cada patrón describe un problema que ocurre una
    y otra vez en nuestro entorno, para describir
    después el núcleo de la solución a ese problema,
    de tal manera que esa solución pueda ser usada
    más de un millón de veces sin hacerlo ni siquiera
    dos veces de la misma forma
  • Cristopher Alexander, A Pattern Language
    (1977)
  • Los patrones se describen utilizando plantillas
  • Existe una amplia variedad de plantillas
    diferentes

12
13
Patrones y Gestión del Conocimiento
Estado del arte
  • Son un gran mecanismo de comunicación para
    transmitir experiencias
  • Permiten establecer un vocabulario común de
    diseño, cambiando el nivel de abstracción a
    colaboraciones entre entidades y permitiendo
    comunicar conocimiento sobre problemas y
    soluciones en un contexto
  • Ocupan un sitio de privilegio en el modelo de
    generación de conocimiento propuesto por Nonaka y
    Takeuchi

13
14
El Nivel Meta
Estado del arte
  • El prefijo Meta viene del campo de la filosofía e
    indica un nivel de descripción más elevado.
  • Se refiere a trascender o ir más allá de
  • Cuando los informáticos resuelven un problema
    tienden a ir al nivel meta
  • Generalmente, esto significa resolver el problema
    en forma más general, a un mayor nivel de
    abstracción
  • Mas flexiblidad y adaptabilidad a expensas de
    mayor complejidad y menor rendimiento
  • El paso a un nivel meta debe ser correctamente
    analizado

14
15
Lenguajes de Dominio Específico
Estado del arte
  • Un lenguaje de dominio específico (DSL) es un
    lenguaje especializado para un problema
    particular
  • Es diferente de un lenguaje de propósito general
    (GPL) que es creado para resolver cualquier clase
    de problema
  • Son lenguajes limitados, diseñados para resolver
    una clase específica de problemas
  • Cambian expresividad por generalidad en un
    dominio concreto
  • Pueden ser textuales o gráficos

15
16
Modelos de Objetos Adaptativos
Estado del arte
  • Un modelo de objetos adaptativo (AOM) es un
    sistema que representa clases, atributos,
    relaciones y comportamiento como metadatos
  • Si algo va variar en un modo predecible,
    almacenar la descripción de la variación en una
    base de datos para hacer que sea fácil de
    cambiar
  • El sistema almacena su modelo de objetos en una
    base de datos y lo interpreta, obteniendo una
    gran adaptabilidad y flexibilidad
  • Los usuarios cambian los metadatos (modelo de
    objetos) para reflejar cambios en el dominio
  • Son un tipo de arquitectura reflectiva o
    meta-arquitectura
  • Fuertemente basado en patrones
  • Type Object, Properties, Accountability, Type
    Square, Interpreter, Builder, Strategy,
    Composite, Null Object
  • El código son datos, los datos son códigoTodo
    es código, todo son datos

16
17
Sistemas Emergentes
Estado del arte
  • Emergencia es lo que ocurre cuando un sistema de
    elementos relativamente simples se organiza
    espontáneamente y sin leyes explícitas hasta dar
    lugar a un comportamiento inteligente
  • Los agentes de un nivel inferior adoptan
    comportamientos propios de un nivel superior
  • Es lo que sucede cuando el todo es mas
    inteligente que la suma de sus partes
  • Los sistemas emergentes tienen las siguientes
    características
  • No hay un control jerárquico de arriba hacia
    abajo que diga al sistema que es lo que debe
    hacer
  • Cada una de las entidades involucradas es en sí
    bastante tonta. Sigue unas pocas reglas sencillas
    y locales que sólo ella conoce
  • La interacción de reglas locales simples y azar
    producen un diseño emergente global que no es
    inherente a las partes

17
18
Soluciones Parciales Existentes
Estado del arte
  • Descripción y Catalogación
  • Soporte en Herramientas de Modelado
  • Catálogos Públicos

18
19
Soluciones Parciales Existentes
Estado del arte
  • Descripción y Catalogación
  • Wiki
  • HTML
  • PLML / PLMLx
  • XMI
  • ODOL (Proyecto WoP)
  • Lattice Based Classification
  • Soporte en Herramientas de Modelado
  • Borland Togheter
  • Rational XDE
  • Sparx Systems Enterprise Architect
  • Catálogos Públicos

19
20
Algunos Catálogos Públicos
Estado del arte
  • Portland Pattern Repository
  • Microsoft PatternShare
  • Suns Core J2EE Patterns
  • MOUDIL
  • Patterns Almanac
  • Martin Fowlers EA Catalog
  • EI Patterns Catalog
  • Patterns (Handbook of SA)
  • Patterns in Interaction Design
  • UI Patterns
  • DoFactory GoF Patterns

20
21
Problemas Recurrentes - Descripción
Estado del arte
  • Descripción abstracta de los niveles de
    conocimiento e implementación
  • Soporte para todas las plantillas de patrones
    existentes
  • Descripción de patrones y conceptos de soporte
  • Descripción
  • Catalogación
  • Visualización

21
22
Problemas Recurrentes - Descripción
Estado del arte
  1. Gran esfuerzo de producción para obtener
    resultados
  2. Mantenimiento complejo y laborioso
  3. Relaciones semánticas complejas ad-hoc en forma
    emergente
  4. Abstracción de tecnologías y modelos
  5. Modelos rígidos de navegación
  6. Contenedores pasivos de información
  7. No son generadores de conocimiento
  • Descripción
  • Catalogación
  • Visualización

22
23
Problemas Recurrentes - Descripción
Estado del arte
  • Catálogos públicos en la Web
  • Imponen modelos rígidos de visualización en
    función de los intereses del publicador
  • Capacidades de búsqueda muy básicas
  • Generalmente sólo muestran patrones, dejando de
    lado a los conceptos de soporte
  • Relaciones sintácticas
  • Herramientas de Modelado
  • No incluyen el nivel de conocimiento en forma
    adecuada
  • No describen el comportamiento a un nivel de
    abstracción adecuado
  • Descripción
  • Catalogación
  • Visualización

23
24
Problemas Recurrentes - Conclusión
Estado del arte
Podemos afirmar que no existe un meta-modelo que
sirva de guía para la descripción de patrones y
conceptos de soporte a un alto nivel de
abstracción, la gestión y compartición de estas
descripciones y cómo presentarlas a los usuarios
finales a través de la Web o de interfaces de
servicios débilmente acopladas
24
25
Índice
  • Introducción
  • Estado del arte
  • Desarrollo de la investigación
  • Prototipos desarrollados
  • Conclusiones

25
26
Desarrollo de la Investigación
Desarrollo de la investigación
  • Definiendo el concepto patrón
  • Derivación de la Solución
  • Estrategia de Solución
  • Solución Desarrollada
  • Modificación del Ciclo de Vida de los Patrones

26
27
Significado del Término Patrón
Desarrollo de la investigación
  • una pieza de conocimiento que incluye
    información sobre un problema y su solución en un
    contexto, con sus ventajas e inconvenientes y
    toda la información necesaria para poder tener un
    buen entendimiento de los aspectos relacionados
    con él. Eventualmente puede contener información
    específica sobre su comportamiento, la cual
    permite generar artefactos de software
  • Fragmento de Welicki et al A Model for
    Meta-Specification and Cataloging of Software
    Patterns. Proceedings of the 12th Pattern
    Languages of Programming Conference (PLoP 2005),
    Monticello, Illinois, USA, 2005.

27
28
Qué Hace Falta para Describir Correctamente a
los Patrones?
Desarrollo de la investigación
  • Es necesario crear un lenguaje que permita
    definir a los patrones en forma estándar y
    uniforme, a un alto nivel de abstracción
  • El lenguaje debe proveer las construcciones
    sintácticas y semánticas adecuadas para
    representar los niveles de conocimiento e
    implementación en forma homogénea

28
29
Cómo Describir un Patrón?
Desarrollo de la investigación
  • Proponemos describir a los patrones en 2 niveles
  • Nivel de Conocimiento
  • Información literaria y metadatos (búsquedas,
    relaciones, anotaciones, etc.)
  • Nivel de Implementación
  • Información sobre el comportamiento y estructura
    del patrón
  • Es opcional

29
30
Es Suficiente Describir Patrones para Transmitir
Conocimiento?
Desarrollo de la investigación
  • No, no es suficiente.
  • Es deseable poder describir otros tipos de
    entidades que puedan aumentar la información que
    tenemos sobre el patrón y contribuir a una mejor
    comprensión de la idea que el patrón intenta
    transmitir
  • De esta forma podemos conocer la información
    esencial del patrón, sus orígenes, sobre qué
    principios de diseño se funda, cómo llegar a él,
    qué tipo de patrón es, etc.

30
31
Dominio de Definición de Patrones
Desarrollo de la investigación
  • Los patrones no existen aislados de un contexto
  • De la misma forma en que una implementación no es
    suficiente para transmitir un patrón, un patrón
    puede no ser suficiente para transmitir el
    conocimiento que intenta expresar
  • Para subsanar esta situación hemos definido una
    ontología sencilla para formalizar el dominio de
    la definición de patrones
  • Existen otras ontologías aplicables a patrones y
    otras áreas de la ingeniería del software
  • Lo que diferencia a la nuestra es que se
    construye ad hoc en forma emergente

31
32
Dominio de Definición de Patrones
Desarrollo de la investigación
Written By
Published In
Contained In
Contained In
Written By
Published In
Contained In
Presented At
Is A
Refactored By
Conforms
Targeted To
Represented At
32
33
El enfoque de Descripción Propuesto sólo es
Aplicable a los Patrones?
Desarrollo de la investigación
  • No, el enfoque propuesto puede ser aplicado a
    cualquier tipo de concepto
  • Ejemplos de tipos de conceptos
  • Lenguajes de Patrones
  • Principios de Orientación a Objetos
  • Niveles de Abstracción
  • Categorías
  • Libros
  • Eventos
  • Etc.
  • En adelante utilizaremos el término entidad
    para referirnos a los patrones y a los conceptos
    de soporte

33
34
Describir Correctamente las Entidades es
Suficiente para Compartir Conocimiento?
Desarrollo de la investigación
  • No, la mera descripción de las entidades no
    garantiza que el conocimiento pueda ser
    compartido en forma eficiente, aunque es un gran
    paso hacia su descripción y formalización
  • Es necesario articular el conocimiento expresado
    con el lenguaje de meta-especificación para que
    éste pueda ser utilizado por otros
  • Es necesaria la creación de un catálogo de
    entidades descritas con el lenguaje de
    meta-especificación

34
35
Un Conjunto de Definiciones Forma un Catálogo?
Desarrollo de la investigación
  • No, un catálogo es un elemento más complejo que
    un conjunto de definiciones almacenadas en forma
    persistente
  • Debe proveer la infraestructura necesaria para
    añadir, eliminar, modificar, vincular y recuperar
    entidades
  • Debe soportar la edición iterativa e incremental
    y tener la capacidad de trabajar con información
    incompleta
  • Debe proveer también un motor de búsquedas que
    permita encontrar los elementos alojados en el
    catálogo
  • No debe limitarse a ser un repositorio pasivo,
    proveyendo los mecanismos necesarios para
    gestionar y exponer sus contenidos

35
36
Es Suficiente el Catálogo para Exponer sus
Contenidos?
Desarrollo de la investigación
  • No, no es suficiente
  • El catálogo expone entidades como lenguajes
    formales
  • El catálogo no tiene estrategias de presentación
  • Para que el modelo de compartición de
    conocimiento sea completo, es necesario crear una
    herramienta de visualización
  • Esta herramienta es el visor del catálogo, al que
    llamamos PatternsBrowser

36
37
Estrategia General de Solución
Desarrollo de la investigación
  1. Crear un lenguaje de meta-especificación para
    representar a las entidades a un alto nivel de
    abstracción incluyendo los niveles de
    conocimiento e implementación
  2. Crear una infraestructura de catalogación de
    entidades descriptos con el lenguaje creado en el
    paso anterior
  3. Crear una herramienta de visualización que
    permita navegar por el catálogo mencionado en el
    punto anterior

37
38
Solución Desarrollada
Desarrollo de la investigación
  • EML (Entity Meta-specification Languaje)
  • Catálogo de Patrones
  • Componente Pasivo
  • Componente Activo
  • Visor del Catalogo

38
39
EML El Lenguaje de Meta-Especificación
Desarrollo de la investigación
  • EML es el acrónimo de Entity Meta-specification
    Languaje
  • Modularly composable DSL basado en XML, creado
    con el objeto de describir todo tipo de entidades
  • Provee la infraestructura necesaria para
    describir los niveles de descripción e
    implementación
  • Capacidades relacionales y de anotación
  • EML se compone de 5 DSLs más pequeños

39
40
EML DSLs
Desarrollo de la investigación
EML (Entity Meta-Specification Language)
40
41
Catálogo de Patrones y Conceptos
Desarrollo de la investigación
  • El catálogo de patrones es el elemento más
    complejo de la solución
  • No se limita a un contenedor pasivo de
    información
  • Sus componentes se dividen en dos grupos
  • Pasivos conjunto de elementos persistentes
  • Activos infraestructura que permite manipular,
    exponer y compartir los contenidos del catálogo
  • FREP es el núcleo

41
42
FREP
Desarrollo de la investigación
  • FREP es el acrónimo de Flexible Runtime Execution
    Platform
  • Plataforma de ejecución de entidades del catálogo
  • Contenedor de entidades EML en tiempo de
    ejecución (AOM)
  • Analizador de EML (AOM Builder)
  • Combina DSLs y AOMs para crear una solución
    flexible, extensible y ágil
  • Expresividad de los DSLs para describir a las
    entidades
  • Flexibilidad, agilidad y potencia de AOM para
    ofrecer una plataforma de ejecución para las
    entidades
  • FREP soporta a todas las plantillas existentes
    para describir patrones y permitir crear nuevas
    dinámicamente manteniendo una estructura formal

42
43
PatternsBrowser Visor del Catálogo
Desarrollo de la investigación
  • El visor del catálogo (PatternsBrowser) es una
    aplicación Web que permite navegar por los
    contenidos del catálogo
  • Permite interactuar con los elementos del
    catálogo en forma sencilla, siguiendo estándares
    de usabilidad e interacción
  • Características
  • Vistas dinámicas vinculables
  • Navegación por el Catálogo
  • Escritura n-Dimensional
  • Interface Web
  • Buscador
  • Soporte para comunidad/colaboración

43
44
Consecuencia Modificación del Ciclo de Vida de
los Patrones
Desarrollo de la investigación
Welicki et al 2006 Meta-Specification and
Cataloging of Software Patterns Towards
Knowledge Management in Software Engineering.
Companion of the 31st ACM SIGPLAN Object Oriented
Programming, Systems and Applications Conference
(OOPSLA 2006), Portland, Oregon, USA, 2006.
El nuevo ciclo es más dinámico e interactivo,
favoreciendo la evolución y refinamiento
constante de los patrones
44
45
Índice
  • Introducción
  • Estado del arte
  • Desarrollo de la investigación
  • Prototipo desarrollado
  • Conclusiones

45
46
Introducción
Prototipos
  • Se ha desarrollado un prototipo a efectos de
    validar el modelo propuesto en forma empírica y
    pragmática
  • Implementación de referencia del modelo
  • Especificación del Lenguaje de Descripción (EML
    1.0)
  • Catálogo (Pasivo)
  • Catálogo (Activo)
  • Visor del Catálogo

46
47
Arquitectura (Alto Nivel)
Prototipos
47
48
Componente Pasivo Repositorio de Entidades
Prototipos
  • Parte principal del componente pasivo del
    catálogo
  • Contiene a todas las entidades
  • Se compone de una base de datos relacional y de
    un sistema de ficheros
  • El registro se manipula a través del componente
    activo del catálogo

48
49
FREP Representación de Entidades
Prototipos
  • La representación de entidades en tiempo de
    ejecución es parte de FREP
  • AOM extendido para representación de entidades en
    tiempo de ejecución
  • Nivel de visualización
  • Inyección dinámica de propiedades
  • Construcción dinámica de instancias (utilizando
    metadatos)
  • Diseño con alta densidad de patrones (pattern
    dense)
  • Type Object, Property, Type Square,
    Accountability, Composite, Smart Property,
    Dependency Injection, Rule Object, Strategy, MVC

49
50
FREP Representación de Entidades
Prototipos
Visualization
Rules / Strategies
Knowledge
Operational
Behavior Description
50
51
FREP Analizador de Entidades
Prototipos
51
52
FREP Analizador de Entidades
Prototipos
FREP.parse.config.xml
ltlt Creates gtgt
steps
0..n
52
53
Iteradores Virtuales
Prototipos
virtualIterators.config.xml
children
children
0..n
0..n
  • Extensión al patrón Iterator
  • Recorrer el catálogo a partir de reglas
    codificadas en metadatos
  • DSL para especificar reglas de recorrido

53
54
Navegación con Iteradores Virtuales
Prototipos
54
55
La Interfaz de Usuario Web
Prototipos
Visualización de la Vista
55
56
Motor de Vistas
Prototipos
  • El motor de vistas dinámicas permite vincular
    vistas dinámicamente a las entidades en tiempo de
    ejecución
  • Dada una entidad al aplicarle una vista se
    obtiene el código de presentación para mostrarla
    al usuario
  • Cada vista se focaliza en un aspecto concreto de
    la entidad y es posible tener tantas vistas como
    aspectos relevantes tengamos en consideración

ltlt Creates gtgt
views
1..n
ltlt Creates instances of gtgt
56
57
Motor de Vistas Patrones
Prototipos
57
58
Motor de Vistas Entidades
Prototipos
58
59
Navegación por Descubrimiento
Prototipos
Para cada entidad se muestran enlaces a todas las
entidades relacionadas, lo cual permite este tipo
de navegación
59
60
Índice
  • Introducción
  • Estado del arte
  • Desarrollo de la investigación
  • Prototipos desarrollados
  • Conclusiones

60
61
Evaluación de los Objetivos
Conclusiones
  • Al comienzo de esta tesis, se definieron tres
    objetivos principales
  • Crear un lenguaje de meta-especificación que
    permita describir entidades a un alto nivel de
    abstracción
  • Construir una infraestructura de catalogación
  • Exponer toda esta información haciendo este
    conocimiento accesible para el público general,
    con independencia del fin para el que quiera
    utilizarlo
  • Estos objetivos se han visto realizados por la
    consecución de sus objetivos parciales

61
62
Evaluación de los Objetivos
Conclusiones
Crear un lenguaje de representación de patrones EML es un lenguaje de meta-especificación que permite representar entidades a un alto nivel de abstracción
Dotar al lenguaje de expresividad para describir conceptos EML puede describir cualquier concepto, soportando la creación de nuevos tipos
Dotar al lenguaje de capacidades relacionales EML contiene un DSL orientado a la descripción de relaciones entre entidades (EML-RDL)
Dotar al lenguaje de capacidades de anotación EML contiene un DSL orientado a la anotación de relaciones entre entidades (EML-AL)
Construir un catálogo de patrones El componente pasivo del catálogo contiene meta-especificaciones de entidades escritas con EML
62
63
Evaluación de los Objetivos
Conclusiones
Crear la infraestructura de catalogación El componente activo del catálogo contiene los mecanismos para gestionar los contenidos del catálogo
Crear una herramienta de visualización del catálogo PatternsBrowser permite navegar por los contenidos del catálogo
Establecer un mecanismo de visualización de patrones y conceptos El motor de vistas dinámico permite registrar vistas y asociarlas a entidades en tiempo de diseño o ejecución
Habilitar el trabajo colaborativo para evolucionar a los patrones El modelo contiene funcionalidades para facilitar el trabajo colaborativo
Convertir al catálogo en un proveedor de servicios de información El catálogo no es un repositorio pasivo de información además de proveer la infraestructura necesaria para incluir y gestionar entidades puede exponerlas en varias formas
63
64
Reflexión y Síntesis del Modelo
Conclusiones
  • El uso conjunto de DSLs y AOMs han permitido la
    creación de una plataforma ágil, flexible y
    extensible que resuelve los problemas recurrentes
    encontrados en otros enfoques existentes
  • La aplicación del pensamiento emergente ha
    permitido sentar las bases de un modelo de
    gestión del conocimiento basado en la
    retroalimentación positiva que crece a partir de
    las interacciones entre los usuarios
  • La aplicación del modelo propuesto produce un
    cambio significativo en el ciclo de los patrones,
    haciéndolo más dinámico e interactivo, sentando
    las bases para la generación de conocimiento a
    partir de interacciones entre los miembros de una
    comunidad

64
65
Conclusiones
Reflexión y Síntesis del Modelo
Fragmento del trabajo presentado en OOPSLA 2006
(Portland, Oregon, USA, Octubre 2006)
65
66
Aportaciones Originales Principales
Conclusiones
  • Un lenguaje de meta-especificación para describir
    entidades a un alto nivel de abstracción
  • Un modelo de catalogación de entidades para
    establecer una base de conocimiento práctico
  • Una herramienta de visualización que resuelve los
    problemas recurrentes en las soluciones parciales
    existentes
  • Combinación de DSLs y AOMs para resolver el
    problema de la meta-especificación y catalogación
    de patrones de software
  • Ciclo de vida de los patrones más dinámico e
    interactivo, estableciendo las bases para la
    evolución continua y generación de conocimiento
  • Iteradores Virtuales
  • Inclusión de un nivel de visualización en la
    arquitectura de AOM

66
67
Trabajos Derivados de la Investigación
Conclusiones
  • Patterns Meta-Specification and Cataloging
    Towards a More Dynamic Life CycleLeon Welicki,
    Juan Manuel Cueva Lovelle, Luis Joyanes Aguilar
  • First IEEE International Workshop on Software
    Patterns Addressing Challenges (SPAC 2007)
    31st IEEE COMPSAC (COMPSAC 2007), Pekin, China,
    23 al 27 de Julio de 2007
  • Meta-Specification and Cataloging of Software
    Patterns Towards Knowledge Management in
    Software Engineering
  • León Welicki, Luis Joyanes Aguilar, Juan Manuel
    Cueva Lovelle
  • 21st ACM SIGPLAN Object Oriented Systems,
    Languages, and Applications Conference (OOPSLA
    2006) Portland, Oregon, Estados Unidos, 22 al 26
    de Octubre de 2006
  • Meta-Specification and Cataloging of Software
    Patterns with Domain Specific Languages and
    Adaptive Object Models.
  • León Welicki, Juan Manuel Cueva Lovelle, Luis
    Joyanes Aguilar
  • 11th European Conference on Pattern Languages of
    Programming Conference (EuroPLoP 2006) Irsee,
    Alemania, 5 al 9 de Julio de 2006
  • A Model for Meta-Specification and Cataloging of
    Software Patterns
  • León Welicki, Oscar Sanjuán, Juan Manuel Cueva
    Lovelle
  • 12th Pattern Languages of Programming Conference
    (PLoP 2005) Monticello, Illionois, Estados
    Unidos, 6 al 10 de Septiembre de 2005
  • Patrones y Antipatrones una Introducción (Parte
    I)
  • León Welicki
  • Revista MTJ .Net (Microsoft Developers Network -
    MSDN), Junio de 2005

67
68
Trabajos Derivados de la Investigación
Conclusiones
  • Improving Performance and Server Resource Usage
    with Page Fragment Caching in Distributed Web
    ServersLeon Welicki, Oscar Sanjuan
    MartinezInternational Workshop on Scalable Data
    Management Applications and Systems (SDMAS 07) -
    WORLDCOMP 2007, Las Vegas, Nevada, USA, 25 al 28
    de Junio de 2007.
  • Patrones y Antipatrones una Introducción (Parte
    II)
  • León Welicki
  • Revista MTJ .Net (Microsoft Developers Network -
    MSDN), Julio de 2005
  • Patrones de Fabricación Fábricas de Objetos
  • León Welicki
  • Revista MTJ .Net (Microsoft Developers Network -
    MSDN), Octubre de 2005
  • El Patrón Singleton.
  • León Welicki
  • Revista MTJ .Net (Microsoft Developer Network -
    MSDN), Marzo de 2006
  • Una Propuesta de Aplicación del Paradigma
    Emergente para un Modelo de Agregación Dinámica
    de Servicios Basado en SOA
  • León Welicki, Juan Manuel Cueva Lovelle
  • I Jornadas Científico-Técnicas en Servicios Web
    del W3C (JSWEB 2005) Granada, España, 13 y 14 de
    Septiembre de 2005.
  • La Falacia Operacional y los Sistemas Emergentes

68
69
Trabajos Derivados de la Investigación
Conclusiones
  • Modificación de la Intención Semántica de Relatos
    Utilizando Ontologías y Técnicas Evolutivas
  • Jesús Soto, León E. Welicki
  • III Congreso Español de Metaheurísticas,
    Algoritmos Evolutivos y Bioinspirados (MAEB
    2005). Granada, 14 al 14 de Septiembre de 2005.
  • Hacia la Convergencia entre la Organización
    Formal y Real en Equipos de Software a Través de
    un Modelo de Desarrollo
  • León E. Welicki, Juan Manuel Cueva Lovelle
  • III Simposio Internacional de Sistemas de
    Información e Ingeniería de Software en la
    Sociedad del Conocimiento (SISOFTW 2005) Santo
    Domingo, República Dominicana, 24 al 26 de Agosto
    de 2005.
  • XText Un Modelo para Publicación de Textos en
    Múltiples Dispositivos
  • León Welicki
  • I Jornadas de Postgrado de Investigación en
    Ingeniería Informática (JPIII 2004). Salamanca,
    España, 7 al 8 de Mayo de 2004.
  • Perception of Software Problems on the Internet
    World
  • Jorge A. Salido, León E. Welicki
  • III Simposio Internacional de Sistemas de
    Información e Ingeniería de Software en la
    Sociedad del Conocimiento (SISOFTW 2005). Santo
    Domingo, República Dominicana, 24 al 26 de Agosto
    de 2005.
  • Las Personas en las Metodologías de Ingeniería
    del Software
  • León Welicki, Fernando Cano García
  • V Jornadas de Informática y Sociedad (JIS 2004).
    Bilbao, España, 25 al 26 de Marzo de 2004.
    Universidad de Deusto.

69
70
Trabajos Derivados de la Investigación
Conclusiones
  • Desarrollo Multilenguaje con Patrones de Diseño
    en .NET
  • León Welicki, Fernando Cano García
  • II Simposio Internacional de Sistemas de
    Información e Ingeniería de Software en la
    Sociedad del Conocimiento (SISOFTW 2003). Lima,
    Perú, 20 al 23 de Agosto de 2003)
  • Implementando Extreme Programming en la
    Plataforma .NET
  • León Welicki
  • II Simposio Internacional de Sistemas de
    Información e Ingeniería de Software en la
    Sociedad del Conocimiento (SISOFTW 2003). Lima,
    Perú, 20 al 23 de Agosto de 2003)
  • La Gestión del Conocimiento en las Empresas de
    Consultoría Informática
  • León Welicki
  • II Congreso Internacional de la Sociedad de la
    Información y el Conocimiento - CISIC 2003
    (Madrid, España, 7 al 9 de Mayo de 2003)
  • Un modelo de compartición de conocimiento en red
    para integrar comunidades del tercer mundo
  • León Welicki
  • II Congreso Internacional de la Sociedad de la
    Información y el Conocimiento - CISIC 2003
    (Madrid, España, 7 al 9 de Mayo de 2003)

70
71
Trabajos en Curso
Conclusiones
  • A Pattern Language for Adaptive Object Models
    Part I - Rendering Patterns
  • León Welicki, Joseph W. Yoder, Rebecca
    Wirfs-Brock
  • Enviado al PLoP 2007 (14th Conference on Pattern
    Languages of Programs), pendiente de aceptación

71
72
Futuras Líneas de Investigación
Conclusiones
  • Dotar al prototipo de calidades industriales
  • Editor de EML (Colaborativo)
  • Combinar EML-PDL con Wiki
  • Combinar EML-RDL con RDF
  • Estudiar integración con CoPE, PPR y WOP
  • Estudiar integración con herramientas de
    desarrollo

72
73
UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE
MADRIDFACULTAD DE INFORMÁTICA
Meta-Especificación y Catalogación de Patrones de
Software con Lenguajes de Dominio Específico y
Modelos de Objetos Adaptativos Una Vía para la
Gestión del Conocimiento en la Ingeniería del
Software
León Welicki lwelicki_at_acm.org
Write a Comment
User Comments (0)
About PowerShow.com