universidad pontificia de salamanca campus de madrid facultad de informÁtica

73
UNIVERSIDAD PONTIFICIA DE SALAMANCA UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRID CAMPUS DE MADRID FACULTAD DE INFORMÁTICA FACULTAD DE INFORMÁTICA Meta-Especificación y Catalogación de Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Dominio Específico y Modelos de Objetos Adaptativos: Adaptativos: Una Vía para la Gestión del Conocimiento Una Vía para la Gestión del Conocimiento en la Ingeniería del Software en la Ingeniería del Software León Welicki León Welicki [email protected] [email protected]

Upload: courtney

Post on 21-Mar-2016

34 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

UNIVERSIDAD PONTIFICIA DE SALAMANCA UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRIDCAMPUS DE MADRID

FACULTAD DE INFORMÁTICAFACULTAD DE INFORMÁTICA

Meta-Especificación y Catalogación de Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Patrones de Software con Lenguajes de

Dominio Específico y Modelos de Objetos Dominio Específico y Modelos de Objetos Adaptativos: Adaptativos:

Una Vía para la Gestión del Conocimiento en Una Vía para la Gestión del Conocimiento en la Ingeniería del Softwarela Ingeniería del Software

León WelickiLeón [email protected]@acm.org

Page 2: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Índice

IntroducciónIntroducción

Estado del arteEstado del arte

Desarrollo de la investigaciónDesarrollo de la investigación

Prototipos desarrolladosPrototipos desarrollados

ConclusionesConclusiones

2

Page 3: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Contexto El software es el gran protagonista de los últimos (y El software es el gran protagonista de los últimos (y

próximos) lustros, estando presente en gran parte de los próximos) lustros, estando presente en gran parte de los aspectos de la vida cotidianaaspectos 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 Sin embargo, la construcción de software es una disciplina moderna que está en constante evolución, en búsqueda de moderna que está en constante evolución, en búsqueda de un estado de madurez que sea comprehensivo respecto a un estado de madurez que sea comprehensivo respecto a su amplio espectro de aplicaciónsu 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

Introducción

Introducción

3

Page 4: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Sobre esta Tesis En la presente tesis se traza y explora el dominio de En la presente tesis se traza y explora el dominio de

la meta-especificación y catalogación de patrones la meta-especificación y catalogación de patrones como respuesta al problema de describir, catalogar y como respuesta al problema de describir, catalogar y compartir conocimiento de ingeniería del softwarecompartir conocimiento de ingeniería del software

La investigación realizada se inscribe en un marco La investigación realizada se inscribe en un marco interdisciplinariointerdisciplinario

Ingeniería del Software Gestión del Conocimiento Ingeniería Web Ciencias de la Computación

Introducción

Introducción

4

Page 5: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Soporte de la Hipótesis La construcción de software es una disciplina La construcción de software es una disciplina

compleja, con un extraño balance entre arte y compleja, con un extraño balance entre arte y ciencia donde la experiencia tiene un rol ciencia donde la experiencia tiene un rol determinantedeterminante

Los patrones son el medio idóneo para compartir Los patrones son el medio idóneo para compartir experienciaexperiencia

Compartir patrones es compartir conocimientoCompartir patrones es compartir conocimiento

La falta de un modelo para describir, clasificar y La falta de un modelo para describir, clasificar y compartir patrones dificulta la transmisión del compartir patrones dificulta la transmisión del conocimiento que el patrón intenta expresarconocimiento que el patrón intenta expresar

Introducción

Introducción

5

Page 6: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

HipótesisIntroducción

Es posible codificar en forma abstracta a los patrones y Es posible codificar en forma abstracta a los patrones y a susa sus

conceptos de soporte a un alto nivel de abstracción en conceptos de soporte a un alto nivel de abstracción en formaforma

flexible y extensible abarcando todos los modelos deflexible y extensible abarcando todos los modelos dedescripción posibles, catalogarlos y compartirlos con ladescripción posibles, catalogarlos y compartirlos con lacomunidad para gestionar y transmitir adecuadamente comunidad para gestionar y transmitir adecuadamente

elelconocimiento que intentan expresarconocimiento que intentan expresar

Introducción

6

Page 7: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Objetivos Principales1.1. Crear un lenguaje de meta-especificación que Crear un lenguaje de meta-especificación que

permita describir a los patrones a un alto nivel de permita describir a los patrones a un alto nivel de abstracción abstracción

2.2. Utilizar este lenguaje para construir un catálogo que Utilizar este lenguaje para construir un catálogo que incluya también todos los conceptos necesarios para incluya también todos los conceptos necesarios para poder realmente entender al patrónpoder realmente entender al patrón

3.3. Exponer toda esta información haciendo este Exponer toda esta información haciendo este conocimiento accesible para el público general, con conocimiento accesible para el público general, con independencia del fin para el que quiera utilizarlo independencia del fin para el que quiera utilizarlo

Introducción

Introducción

7

Page 8: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Objetivos Parciales1.1. Crear un lenguaje de representación de patronesCrear un lenguaje de representación de patrones2.2. Dotar al lenguaje de expresividad para describir Dotar al lenguaje de expresividad para describir

conceptosconceptos3.3. Dotar al lenguaje de capacidades relacionalesDotar al lenguaje de capacidades relacionales4.4. Dotar al lenguaje de capacidades de anotaciónDotar al lenguaje de capacidades de anotación5.5. Construir un catálogo de patronesConstruir un catálogo de patrones6.6. Crear la infraestructura de catalogaciónCrear la infraestructura de catalogación7.7. Crear una herramienta de visualización del catálogo Crear una herramienta de visualización del catálogo 8.8. Establecer un mecanismo de visualización de Establecer un mecanismo de visualización de

entidadesentidades9.9. Habilitar el trabajo colaborativo para evolucionar a los Habilitar el trabajo colaborativo para evolucionar a los

patronespatrones10.10.Convertir al catálogo en un proveedor de servicios de Convertir al catálogo en un proveedor de servicios de

informacióninformación

Introducción

Introducción

8

Page 9: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Metodología de la Investigación Metodología iterativa e Metodología iterativa e

incrementalincremental

En cada iteración…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 El feedback obtenido servía como realimentación del proceso y se realimentación del proceso y se utilizaba en la siguiente iteraciónutilizaba en la siguiente iteración

Varios “hitos” de verificación…Varios “hitos” de verificación… COMPSAC 2007, OOPSLA 2006, PLoP

2006, EuroPLoP 2006, PLoP 2005, W3C JSWEB 2005, etc.

Introducción

Introducción

9

Page 10: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Índice

IntroducciónIntroducción

Estado del arteEstado del arte

Desarrollo de la investigaciónDesarrollo de la investigación

Prototipos desarrolladosPrototipos desarrollados

ConclusionesConclusiones

10

Page 11: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Estado del Arte Herramientas ConceptualesHerramientas Conceptuales

Patrones

El nivel Meta

Lenguajes de Dominio Específico

Modelos de Objetos Adaptativos

Sistemas Emergentes

Soluciones Parciales ExistentesSoluciones Parciales Existentes

Problemas RecurrentesProblemas Recurrentes

Conclusión de los Problemas RecurrentesConclusión de los Problemas Recurrentes

Estado del arte

Es t ado

del

Arte

11

Page 12: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Patrones Un patrón es una solución a un Un patrón es una solución a un

problema en un contextoproblema en un contexto

““Cada patrón describe un Cada patrón describe un problema que ocurre una y problema que ocurre una y otra vez en nuestro entorno, otra vez en nuestro entorno, para describir después el para describir después el núcleo de la solución a ese núcleo de la solución a ese problema, de tal manera que problema, de tal manera que esa solución pueda ser usada esa solución pueda ser usada más de un millón de veces sin más de un millón de veces sin hacerlo ni siquiera dos veces hacerlo ni siquiera dos veces de la misma formade la misma forma””

Cristopher Alexander, “A Pattern Language” (1977)

Los patrones se describen Los patrones se describen utilizando plantillasutilizando plantillas

Existe una amplia variedad de plantillas diferentes

Estado del arte

Es t ado

del

Arte

12

Page 13: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Patrones y Gestión del Conocimiento Son un gran mecanismo de comunicación para transmitir Son un gran mecanismo de comunicación para transmitir

experienciasexperiencias

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 Ocupan un sitio de privilegio en el modelo de generación de conocimiento propuesto por Nonaka y Takeuchide conocimiento propuesto por Nonaka y Takeuchi

Estado del arte

Es t ado

del

Arte

13

Page 14: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

El Nivel Meta El prefijo Meta viene del campo de la filosofía e indica un El prefijo Meta viene del campo de la filosofía e indica un

nivel de descripción más elevado. 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 Cuando los informáticos resuelven un problema tienden a ““ir al nivel metair 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 El paso a un nivel meta debe ser correctamente analizadocorrectamente analizado

Estado del arte

Es t ado

del

Arte

14

Page 15: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Lenguajes de Dominio Específico Un lenguaje de dominio específico (DSL) es un Un lenguaje de dominio específico (DSL) es un

lenguaje especializado para un problema particular 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 Son lenguajes limitados, diseñados para resolver una clase específica de problemasclase específica de problemas

Cambian expresividad por generalidad en un dominio Cambian expresividad por generalidad en un dominio concretoconcreto

Pueden ser textuales o gráficosPueden ser textuales o gráficos

Estado del arte

Es t ado

del

Arte

15

Page 16: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Modelos de Objetos Adaptativos Un modelo de objetos adaptativo (AOM) es un sistema que Un modelo de objetos adaptativo (AOM) es un sistema que

representa clases, atributos, relaciones y comportamiento como representa clases, atributos, relaciones y comportamiento como metadatosmetadatos

“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 El sistema almacena su modelo de objetos en una base de datos y lo interpreta, obteniendo una gran adaptabilidad y flexibilidadinterpreta, obteniendo una gran adaptabilidad y flexibilidad Los usuarios cambian los metadatos (modelo de objetos) para reflejar

cambios en el dominio

Son un tipo de “Son un tipo de “arquitectura reflectivaarquitectura reflectiva” o “” o “meta-arquitecturameta-arquitectura””

Fuertemente basado en patronesFuertemente basado en patrones

Type Object, Properties, Accountability, Type Square, Interpreter, Builder, Strategy, Composite, Null Object

““El código son datos, los datos son código…Todo es códigoEl código son datos, los datos son código…Todo es código, todo son , todo son datos”datos”

Estado del arte

Es t ado

del

Arte

16

Page 17: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Sistemas Emergentes Emergencia es lo que ocurre cuando un sistema de Emergencia es lo que ocurre cuando un sistema de

elementos relativamente simples se organiza elementos relativamente simples se organiza espontáneamente y sin leyes explícitas hasta dar lugar a espontáneamente y sin leyes explícitas hasta dar lugar a un comportamiento inteligenteun 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 Los sistemas emergentes tienen las siguientes característicascaracterísticas1. No hay un control jerárquico de arriba hacia abajo que diga al

sistema que es lo que debe hacer

2. Cada una de las entidades involucradas es en sí bastante tonta. Sigue unas pocas reglas sencillas y locales que sólo ella conoce

3. La interacción de reglas locales simples y azar producen un diseño emergente global que no es inherente a las partes

Estado del arte

Es t ado

del

Arte

17

Page 18: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Soluciones Parciales Existentes Descripción y CatalogaciónDescripción y Catalogación

Soporte en Herramientas de ModeladoSoporte en Herramientas de Modelado

Catálogos PúblicosCatálogos Públicos

Estado del arte

Es t ado

del

Arte

18

Page 19: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Soluciones Parciales Existentes Descripción y CatalogaciónDescripción y Catalogación

Wiki HTML PLML / PLMLx XMI ODOL (Proyecto WoP) Lattice Based Classification

Soporte en Herramientas de ModeladoSoporte en Herramientas de Modelado Borland Togheter Rational XDE Sparx Systems Enterprise Architect

Catálogos PúblicosCatálogos Públicos

Estado del arte

Es t ado

del

Arte

19

Page 20: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Algunos Catálogos Públicos… Portland Pattern RepositoryPortland Pattern Repository Microsoft PatternShareMicrosoft PatternShare Sun’s Core J2EE PatternsSun’s Core J2EE Patterns MOUDILMOUDIL Patterns Almanac Patterns Almanac Martin Fowler’s EA CatalogMartin Fowler’s EA Catalog EI Patterns CatalogEI Patterns Catalog Patterns (Handbook of SA)Patterns (Handbook of SA) Patterns in Interaction Patterns in Interaction

DesignDesign UI PatternsUI Patterns DoFactory GoF PatternsDoFactory GoF Patterns

Estado del arte

Es t ado

del

Arte

20

Page 21: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Problemas Recurrentes - Descripción

1.1. Descripción abstracta de los niveles de Descripción abstracta de los niveles de conocimiento e implementaciónconocimiento e implementación

2.2. Soporte para todas las plantillas de patrones Soporte para todas las plantillas de patrones existentesexistentes

3.3. Descripción de patrones y conceptos de soporteDescripción de patrones y conceptos de soporte

Estado del arte

Es t ado

del

Arte

DescripciónDescripción

CatalogaciónCatalogación

VisualizaciónVisualización

21

Page 22: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Problemas Recurrentes - Descripción

1.1. Gran esfuerzo de producción para obtener Gran esfuerzo de producción para obtener resultadosresultados

2.2. Mantenimiento complejo y laboriosoMantenimiento complejo y laborioso

3.3. Relaciones semánticas complejas ad-hoc en forma Relaciones semánticas complejas ad-hoc en forma emergenteemergente

4.4. Abstracción de tecnologías y modelosAbstracción de tecnologías y modelos

5.5. Modelos rígidos de navegaciónModelos rígidos de navegación

6.6. Contenedores pasivos de informaciónContenedores pasivos de información

7.7. No son “generadores” de conocimientoNo son “generadores” de conocimiento

Estado del arte

Es t ado

del

Arte

DescripciónDescripción

CatalogaciónCatalogación

VisualizaciónVisualización

22

Page 23: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Problemas Recurrentes - Descripción

Catálogos públicos en la WebCatálogos públicos en la Web

1. Imponen modelos rígidos de visualización en función de los intereses del publicador

2. Capacidades de búsqueda muy básicas

3. Generalmente sólo muestran patrones, dejando de lado a los conceptos de soporte

4. Relaciones sintácticas

Herramientas de ModeladoHerramientas de Modelado

1. No incluyen el nivel de conocimiento en forma adecuada

1. No describen el comportamiento a un nivel de abstracción adecuado

Estado del arte

Es t ado

del

Arte

DescripciónDescripción

CatalogaciónCatalogación

VisualizaciónVisualización

23

Page 24: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Problemas Recurrentes - ConclusiónEstado del arte

Es t ado

del

Arte

Podemos afirmar que no existe un meta-modelo que Podemos afirmar que no existe un meta-modelo que sirva de guía para la descripción de patrones y sirva de guía para la descripción de patrones y

conceptos de soporte a un alto nivel de abstracción, la conceptos de soporte a un alto nivel de abstracción, la gestión y compartición de estas descripciones y cómo gestión y compartición de estas descripciones y cómo

presentarlas a los usuarios finales a través de la Web o presentarlas a los usuarios finales a través de la Web o de interfaces de servicios débilmente acopladasde interfaces de servicios débilmente acopladas

24

Page 25: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Índice

IntroducciónIntroducción

Estado del arteEstado del arte

Desarrollo de la investigaciónDesarrollo de la investigación

Prototipos desarrolladosPrototipos desarrollados

ConclusionesConclusiones

25

Page 26: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Desarrollo de la Investigación Definiendo el concepto “patrón”Definiendo el concepto “patrón”

Derivación de la SoluciónDerivación de la Solución

Estrategia de SoluciónEstrategia de Solución

Solución DesarrolladaSolución Desarrollada

Modificación del Ciclo de Vida de los PatronesModificación del Ciclo de Vida de los Patrones

Desarrollo

Desarrollo de la investigación

26

Page 27: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Significado del Término Patró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.

Desarrollo

Desarrollo de la investigación

27

Page 28: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿Qué Hace Falta para Describir Correctamente a los Patrones?

Desarrollo

Es necesario crear un lenguaje que permita definir a Es necesario crear un lenguaje que permita definir a los patrones en forma estándar y uniforme, a un alto los patrones en forma estándar y uniforme, a un alto nivel de abstracciónnivel de abstracción

El lenguaje debe proveer las construcciones El lenguaje debe proveer las construcciones sintácticas y semánticas adecuadas para representar sintácticas y semánticas adecuadas para representar los niveles de conocimiento e implementación en los niveles de conocimiento e implementación en forma homogéneaforma homogénea

Desarrollo de la investigación

28

Page 29: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿Cómo Describir un Patrón? Proponemos describir a los Proponemos describir a los

patrones en 2 nivelespatrones 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

Desarrollo

Desarrollo de la investigación

29

Page 30: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿Es Suficiente Describir Patrones para Transmitir Conocimiento? NoNo, no es suficiente. , 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 De esta forma podemos conocer la información esencial del patrón, sus orígenes, sobre qué esencial del patrón, sus orígenes, sobre qué principios de diseño se funda, cómo llegar a él, qué principios de diseño se funda, cómo llegar a él, qué tipo de patrón es, etc.tipo de patrón es, etc.

Desarrollo

Desarrollo de la investigación

30

Page 31: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Dominio de Definición de Patrones Los patrones no existen aislados de un contextoLos patrones no existen aislados de un contexto

De la misma forma en que una implementación no es 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 un patrón, un patrón puede no ser suficiente para transmitir el conocimiento que intenta suficiente para transmitir el conocimiento que intenta expresarexpresar

Para subsanar esta situación hemos definido una ontología Para subsanar esta situación hemos definido una ontología sencilla para formalizar el dominio de la definición de sencilla para formalizar el dominio de la definición de patronespatrones

Existen otras ontologías aplicables a patrones y otras áreas Existen otras ontologías aplicables a patrones y otras áreas de la ingeniería del softwarede la ingeniería del software

Lo que diferencia a la nuestra es que se construye ad hoc en Lo que diferencia a la nuestra es que se construye ad hoc en forma emergenteforma emergente

Desarrollo

Desarrollo de la investigación

31

Page 32: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Dominio de Definición de Patrones

Desarrollo

Desarrollo de la investigación

PatternLanguagePatternLanguage

CategoryCategory

PatternTypePatternType

RoleRole

OOPrincipleOOPrinciple

AbstractionLevelAbstractionLevel

RefactoringRefactoring

EventEvent

SourceSource AuthorAuthor

PatternPattern

Published In

Written By

Published In

Contained InContained In

Contained In

Written By

Presented At

Refactored By

Represented At

Conforms

Is A

Targeted To

32

Page 33: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿El enfoque de Descripción Propuesto sólo es Aplicable a los Patrones? No,No, el enfoque propuesto puede ser aplicado a el enfoque propuesto puede ser aplicado a

cualquier tipo de conceptocualquier 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 En adelante utilizaremos el término “entidad” para referirnos a los patrones y a los conceptos de referirnos a los patrones y a los conceptos de soportesoporte

Desarrollo

Desarrollo de la investigación

33

Page 34: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿Describir Correctamente las Entidades es Suficiente para Compartir Conocimiento?

Desarrollo

NoNo, la mera descripción de las entidades no , la mera descripción de las entidades no garantiza que el conocimiento pueda ser compartido garantiza que el conocimiento pueda ser compartido en forma eficiente, aunque es un gran paso hacia su en forma eficiente, aunque es un gran paso hacia su descripción y formalizacióndescripció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 Es necesaria la creación de un catálogo de entidades descritas con el lenguaje de meta-especificacióndescritas con el lenguaje de meta-especificación

Desarrollo de la investigación

34

Page 35: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿Un Conjunto de Definiciones Forma un Catálogo?

Desarrollo

NoNo, un catálogo es un elemento más complejo que un , un catálogo es un elemento más complejo que un conjunto de definiciones almacenadas en forma conjunto de definiciones almacenadas en forma persistentepersistente

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, No debe limitarse a ser un repositorio pasivo, proveyendo los mecanismos necesarios para proveyendo los mecanismos necesarios para gestionar y exponer sus contenidosgestionar y exponer sus contenidos

Desarrollo de la investigación

35

Page 36: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

¿Es Suficiente el Catálogo para Exponer sus Contenidos?

Desarrollo

NoNo, no es suficiente, 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 Esta herramienta es el visor del catálogo, al que llamamos PatternsBrowserllamamos PatternsBrowser

Desarrollo de la investigación

36

Page 37: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Estrategia General de Solución1.1. Crear un lenguaje de meta-especificación para Crear un lenguaje de meta-especificación para

representar a las entidades a un alto nivel de representar a las entidades a un alto nivel de abstracción incluyendo los niveles de conocimiento e abstracción incluyendo los niveles de conocimiento e implementaciónimplementación

2.2. Crear una infraestructura de catalogación de Crear una infraestructura de catalogación de entidades descriptos con el lenguaje creado en el entidades descriptos con el lenguaje creado en el paso anteriorpaso anterior

3.3. Crear una herramienta de visualización que permita Crear una herramienta de visualización que permita navegar por el catálogo mencionado en el punto navegar por el catálogo mencionado en el punto anterioranterior

Desarrollo

Desarrollo de la investigación

37

Page 38: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Solución Desarrollada EML (Entity Meta-EML (Entity Meta-

specification Languaje)specification Languaje)

Catálogo de PatronesCatálogo de Patrones

Componente Pasivo

Componente Activo

Visor del CatalogoVisor del Catalogo

Desarrollo

Desarrollo de la investigación

38

Page 39: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

EML: El Lenguaje de Meta-Especificación EML es el acrónimo de “Entity Meta-specification EML es el acrónimo de “Entity Meta-specification

Languaje”Languaje”

““Modularly composable DSL” basado en XML, creado Modularly composable DSL” basado en XML, creado con el objeto de describir todo tipo de entidadescon el objeto de describir todo tipo de entidades

Provee la infraestructura necesaria para describir Provee la infraestructura necesaria para describir los niveles de descripción e implementaciónlos niveles de descripción e implementación

Capacidades relacionales y de anotaciónCapacidades relacionales y de anotación

EML se compone de 5 DSLs más pequeñosEML se compone de 5 DSLs más pequeños

Desarrollo

Desarrollo de la investigación

39

Page 40: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

EML – DSLs

Desarrollo

Desarrollo de la investigación

EML-RDL (Relationship Description Language)Relaciones

EML (Entity Meta-Specification Language)

EML-AL (Annotation Language)Anotaciones

EML-PDL (Properties Description Language)Propiedades

EML-SDL (Structure Definition Language)Estructura

EML-BDL (Behavior Description Language)Comportamiento

40

Page 41: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Catálogo de Patrones y Conceptos El catálogo de patrones es El catálogo de patrones es

el elemento más complejo el elemento más complejo de la soluciónde la solución

No se limita a un No se limita a un contenedor pasivo de contenedor pasivo de informacióninformación

Sus componentes se Sus componentes se dividen en dos gruposdividen 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

Desarrollo

Desarrollo de la investigación

41

Page 42: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

FREP FREP es el acrónimo de FREP es el acrónimo de Flexible Runtime Execution PlatformFlexible Runtime Execution Platform

Plataforma de ejecución de entidades del catálogoPlataforma 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 Combina DSLs y AOMs para crear una solución flexible, extensible y ágily á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 FREP soporta a todas las plantillas existentes para describir patrones y permitir crear nuevas dinámicamente manteniendo una patrones y permitir crear nuevas dinámicamente manteniendo una estructura formalestructura formal

Desarrollo

Desarrollo de la investigación

42

Page 43: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

PatternsBrowser – Visor del Catálogo El visor del catálogo (El visor del catálogo (PatternsBrowserPatternsBrowser) es una ) es una

aplicación Web que permite navegar por los contenidos aplicación Web que permite navegar por los contenidos del catálogo del catálogo

Permite interactuar con los elementos del catálogo en Permite interactuar con los elementos del catálogo en forma sencilla, siguiendo estándares de usabilidad e forma sencilla, siguiendo estándares de usabilidad e interaccióninteracción

CaracterísticasCaracterísticas Vistas dinámicas vinculables Navegación por el Catálogo Escritura n-Dimensional Interface Web Buscador Soporte para comunidad/colaboración

Desarrollo de la investigación

Desarrollo

43

Page 44: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Consecuencia: Modificación del Ciclo de Vida de los Patrones

Desarrollo

Desarrollo de la investigación

El nuevo ciclo es más El nuevo ciclo es más dinámico e interactivo, dinámico e interactivo, favoreciendo la evolución y favoreciendo la evolución y refinamiento constante de refinamiento constante de los patroneslos patrones

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.

44

Page 45: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Índice

IntroducciónIntroducción

Estado del arteEstado del arte

Desarrollo de la investigaciónDesarrollo de la investigación

Prototipo desarrolladoPrototipo desarrollado

ConclusionesConclusiones

45

Page 46: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Introducción Se ha desarrollado un prototipo a efectos de validar Se ha desarrollado un prototipo a efectos de validar

el modelo propuesto en forma empírica y el modelo propuesto en forma empírica y pragmáticapragmática

Implementación de referencia del modeloImplementación de referencia del modelo

Especificación del Lenguaje de DescripciónEspecificación del Lenguaje de Descripción (EML 1.0)(EML 1.0)

Catálogo (Pasivo)Catálogo (Pasivo)

Catálogo (Activo)Catálogo (Activo)

Visor del CatálogoVisor del Catálogo

Prototipos

Prototipos

46

Page 47: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Arquitectura (Alto Nivel)

Prototipos

Prototipos

47

Page 48: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Componente Pasivo Repositorio de Entidades Parte principal del Parte principal del

componente pasivo del componente pasivo del catálogocatálogo

Contiene a todas las Contiene a todas las entidadesentidades

Se compone de una base Se compone de una base de datos relacional y de un de datos relacional y de un sistema de ficherossistema de ficheros

El registro se manipula a El registro se manipula a través del componente través del componente activo del catálogoactivo del catálogo

Prototipos

Prototipos

48

Page 49: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

FREP – Representación de Entidades La representación de entidades en tiempo de La representación de entidades en tiempo de

ejecución es parte de FREPejecució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)Diseño con alta densidad de patrones (pattern dense)

Type Object, Property, Type Square, Accountability, Composite, Smart Property, Dependency Injection, Rule Object, Strategy, MVC

Prototipos

Prototipos

49

Page 50: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

FREP – Representación de Entidades

Prototipos

Prototipos

AccountabilityTypeEntityTypePropertyType

AccountabilityEntityProperty

CompositeProperty

StringProperty

ImageProperty

ConsequenceProperty

Pattern Participant

CodeModule

Structure

CodeProperty

Method

Parameters

PropertyRenderer View

RuleObject

CodeGenerationRule

CSharpCodeGen JavaCodeGen VBNetCodeGen

VisualizationVisualization

KnowledgeKnowledge

OperationalOperational

Rules / StrategiesRules / Strategies

Behavior DescriptionBehavior Description

50

Page 51: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

FREP – Analizador de Entidades

Prototipos

Prototipos

51

Page 52: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

FREP – Analizador de Entidades

Prototipos

Prototipos

IEntityParser

EntityParser

ParsePipelineFactory

ParsePipeline

IParseStep

TagsParseStep ContextParseStep PropertiesParseStep ImplParseStep

DumpImplParseStep ChecksumParseStep BasicDataParseStep BaseImplParseStepRelationshipParseStep

steps0..n

<< Creates >>

FREP.parse.config.xmlFREP.parse.config.xml

52

Page 53: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Iteradores Virtuales

Prototipos

Prototipos

VirtualIterator

VirtualIteratorBuilder

EntityReferencechildren

0..n

Extensión al patrón Iterator Extensión al patrón Iterator

Recorrer el catálogo a partir de Recorrer el catálogo a partir de reglas codificadas en metadatosreglas codificadas en metadatos

DSL para especificar reglas de DSL para especificar reglas de recorrido recorrido

virtualIterators.config.xmlvirtualIterators.config.xml

children

0..n

53

Page 54: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Navegación con Iteradores Virtuales

Prototipos

Prototipos

54

Page 55: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

La Interfaz de Usuario Web

Prototipos

Prototipos

55

Área de Navegación

Selector de Iterador Virtual

Vistas Disponibles

Visualización de la Vista

Búsqueda Rápida

Inicio de Sesión

Nombre y Resumen de la Entidad

Page 56: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Motor de Vistas

Prototipos

Prototipos

ViewGroup

ViewGroupFactory

ViewProxy

IView

DefaultEntityView CRCView SourceCodeView

AuthorView ListView CategoryViewTemplateView

<< Creates instances of >>

views

1..n

<< Creates >>

TemplateViewConfig

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

56

Page 57: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Motor de Vistas – Patrones

Prototipos

Prototipos

57

Page 58: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Motor de Vistas – Entidades

Prototipos

Prototipos

58

Page 59: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Navegación por Descubrimiento

Prototipos

Prototipos

Para cada entidad se muestran enlaces a todas las entidades relacionadas, lo cual permite este tipo de navegación

59

Page 60: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Índice

IntroducciónIntroducción

Estado del arteEstado del arte

Desarrollo de la investigaciónDesarrollo de la investigación

Prototipos desarrolladosPrototipos desarrollados

ConclusionesConclusiones

60

Page 61: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Evaluación de los Objetivos Al comienzo de esta tesis, se definieron tres objetivos Al comienzo de esta tesis, se definieron tres objetivos

principales:principales:

1. Crear un lenguaje de meta-especificación que permita describir entidades a un alto nivel de abstracción

2. Construir una infraestructura de catalogación

3. 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 Estos objetivos se han visto realizados por la consecución de sus objetivos parcialesde sus objetivos parciales

Conclusiones

Conclusiones

61

Page 62: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Evaluación de los ObjetivosConclusiones

Conclusiones

1.1. Crear un lenguaje de Crear un lenguaje de representación de patronesrepresentación de patrones

EML es un lenguaje de meta-especificación que permite representar entidades a un alto nivel de abstracción

2.2. Dotar al lenguaje de expresividad Dotar al lenguaje de expresividad para describir conceptospara describir conceptos

EML puede describir cualquier concepto, soportando la creación de nuevos tipos

3.3. Dotar al lenguaje de capacidades Dotar al lenguaje de capacidades relacionalesrelacionales

EML contiene un DSL orientado a la EML contiene un DSL orientado a la descripción de relaciones entre descripción de relaciones entre entidades (EML-RDL)entidades (EML-RDL)

4.4. Dotar al lenguaje de capacidades Dotar al lenguaje de capacidades de anotaciónde anotación

EML contiene un DSL orientado a la EML contiene un DSL orientado a la anotación de relaciones entre anotación de relaciones entre entidades (EML-AL)entidades (EML-AL)

5.5. Construir un catálogo de patronesConstruir un catálogo de patrones El componente pasivo del catálogo El componente pasivo del catálogo contiene meta-especificaciones de contiene meta-especificaciones de entidades escritas con EMLentidades escritas con EML

62

Page 63: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Evaluación de los ObjetivosConclusiones

Conclusiones

6.6. Crear la infraestructura de Crear la infraestructura de catalogacióncatalogación

El componente activo del catálogo El componente activo del catálogo contiene los mecanismos para contiene los mecanismos para gestionar los contenidos del catálogogestionar los contenidos del catálogo

7.7. Crear una herramienta de Crear una herramienta de visualización del catálogovisualización del catálogo

PatternsBrowser permite navegar por PatternsBrowser permite navegar por los contenidos del catálogolos contenidos del catálogo

8.8. Establecer un mecanismo de Establecer un mecanismo de visualización de patrones y visualización de patrones y conceptosconceptos

El motor de vistas dinámico permite El motor de vistas dinámico permite registrar vistas y asociarlas a registrar vistas y asociarlas a entidades en tiempo de diseño o entidades en tiempo de diseño o ejecuciónejecución

9.9. Habilitar el trabajo colaborativo Habilitar el trabajo colaborativo para evolucionar a los patronespara evolucionar a los patrones

El modelo contiene funcionalidades El modelo contiene funcionalidades para facilitar el trabajo colaborativopara facilitar el trabajo colaborativo

10.10. Convertir al catálogo en un Convertir al catálogo en un proveedor de servicios de proveedor de servicios de informacióninformación

El catálogo no es un repositorio pasivo El catálogo no es un repositorio pasivo de información: además de proveer la de información: además de proveer la infraestructura necesaria para incluir y infraestructura necesaria para incluir y gestionar entidades puede exponerlas gestionar entidades puede exponerlas en varias formasen varias formas

63

Page 64: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Reflexión y Síntesis del Modelo El uso conjunto de DSLs y AOMs han permitido la El uso conjunto de DSLs y AOMs han permitido la

creación de una plataforma ágil, flexible y extensible creación de una plataforma ágil, flexible y extensible que resuelve los problemas recurrentes encontrados que resuelve los problemas recurrentes encontrados en otros enfoques existentesen otros enfoques existentes

La aplicación del pensamiento emergente ha La aplicación del pensamiento emergente ha permitido sentar las bases de un modelo de gestión permitido sentar las bases de un modelo de gestión del conocimiento basado en la retroalimentación del conocimiento basado en la retroalimentación positiva que crece a partir de las interacciones entre positiva que crece a partir de las interacciones entre los usuarioslos usuarios

La aplicación del modelo propuesto produce un La aplicación del modelo propuesto produce un cambio significativo en el ciclo de los patrones, cambio significativo en el ciclo de los patrones, haciéndolo más dinámico e interactivo, sentando las haciéndolo más dinámico e interactivo, sentando las bases para la generación de conocimiento a partir de bases para la generación de conocimiento a partir de interacciones entre los miembros de una comunidadinteracciones entre los miembros de una comunidad

Conclusiones

Conclusiones

64

Page 65: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Conclusiones

Conclusiones

Reflexión y Reflexión y Síntesis del Síntesis del ModeloModelo

Fragmento del trabajo Fragmento del trabajo presentado en presentado en OOPSLA 2006OOPSLA 2006 (Portland, Oregon, USA, (Portland, Oregon, USA, Octubre 2006)Octubre 2006)

65

Page 66: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Aportaciones Originales Principales Un lenguaje de meta-especificación para describir entidades a Un lenguaje de meta-especificación para describir entidades a

un alto nivel de abstracciónun alto nivel de abstracción

Un modelo de catalogación de entidades para establecer una Un modelo de catalogación de entidades para establecer una base de conocimiento prácticobase de conocimiento práctico

Una herramienta de visualización que resuelve los problemas Una herramienta de visualización que resuelve los problemas recurrentes en las soluciones parciales existentes’recurrentes en las soluciones parciales existentes’

Combinación de DSLs y AOMs para resolver el problema de la Combinación de DSLs y AOMs para resolver el problema de la meta-especificación y catalogación de patrones de softwaremeta-especificación y catalogación de patrones de software

Ciclo de vida de los patrones más dinámico e interactivo, Ciclo de vida de los patrones más dinámico e interactivo, estableciendo las bases para la evolución continua y estableciendo las bases para la evolución continua y generación de conocimientogeneración de conocimiento

Iteradores VirtualesIteradores Virtuales

Inclusión de un nivel de visualización en la arquitectura de Inclusión de un nivel de visualización en la arquitectura de AOMAOM

Conclusiones

Conclusiones

66

Page 67: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Trabajos Derivados de la Investigación1.1. Patterns Meta-Specification and Cataloging: Towards a More Dynamic Life CyclePatterns Meta-Specification and Cataloging: Towards a More Dynamic Life Cycle

Leon Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes AguilarLeon Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes AguilarFirst IEEE International Workshop on Software Patterns: Addressing Challenges (SPAC 2007) First IEEE International Workshop on Software Patterns: Addressing Challenges (SPAC 2007) – 31st IEEE COMPSAC (COMPSAC – 31st IEEE COMPSAC (COMPSAC 2007)2007), Pekin, China, 23 al 27 de Julio de 2007, Pekin, China, 23 al 27 de Julio de 2007

2.2. Meta-Specification and Cataloging of Software Patterns: Towards Knowledge Management in Software Meta-Specification and Cataloging of Software Patterns: Towards Knowledge Management in Software EngineeringEngineeringLeón Welicki, Luis Joyanes Aguilar, Juan Manuel Cueva LovelleLeón Welicki, Luis Joyanes Aguilar, Juan Manuel Cueva Lovelle21st ACM SIGPLAN Object Oriented Systems, Languages, and Applications Conference (OOPSLA 2006)21st ACM SIGPLAN Object Oriented Systems, Languages, and Applications Conference (OOPSLA 2006); Portland, Oregon, ; Portland, Oregon, Estados Unidos, 22 al 26 de Octubre de 2006Estados Unidos, 22 al 26 de Octubre de 2006

3.3. Meta-Specification and Cataloging of Software Patterns with Domain Specific Languages and Adaptive Object Meta-Specification and Cataloging of Software Patterns with Domain Specific Languages and Adaptive Object Models.Models.León Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes AguilarLeón Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes Aguilar11th European Conference on Pattern Languages of Programming Conference (EuroPLoP 2006)11th European Conference on Pattern Languages of Programming Conference (EuroPLoP 2006); Irsee, Alemania, 5 al 9 de Julio ; Irsee, Alemania, 5 al 9 de Julio de 2006 de 2006

4.4. A Model for Meta-Specification and Cataloging of Software PatternsA Model for Meta-Specification and Cataloging of Software PatternsLeón Welicki, Oscar Sanjuán, Juan Manuel Cueva LovelleLeón Welicki, Oscar Sanjuán, Juan Manuel Cueva Lovelle12th Pattern Languages of Programming Conference (PLoP 2005)12th Pattern Languages of Programming Conference (PLoP 2005); Monticello, Illionois, Estados Unidos, 6 al 10 de Septiembre ; Monticello, Illionois, Estados Unidos, 6 al 10 de Septiembre de 2005de 2005

5.5. Patrones y Antipatrones: una Introducción (Parte I)Patrones y Antipatrones: una Introducción (Parte I)León WelickiLeón WelickiRevista MTJ .Net (Microsoft Developers Network - MSDN)Revista MTJ .Net (Microsoft Developers Network - MSDN), Junio de 2005, Junio de 2005

6.6. The Configuration Data Caching PatternThe Configuration Data Caching PatternLeón WelickiLeón Welicki13th Pattern Languages of Programs Conference (PLoP 2006)13th Pattern Languages of Programs Conference (PLoP 2006); Portland, Oregon, Estados Unidos, 21 al 23 de Octubre de 2006; Portland, Oregon, Estados Unidos, 21 al 23 de Octubre de 2006

7.7. Patterns for Factoring Responsibilities when Working with Objects and Relational Databases Patterns for Factoring Responsibilities when Working with Objects and Relational Databases León WelickiLeón Welicki12th European Conference on Pattern Languages of Programming Conference (EuroPLoP 2007)12th European Conference on Pattern Languages of Programming Conference (EuroPLoP 2007); Irsee, Alemania, 4 al 8 de Julio ; Irsee, Alemania, 4 al 8 de Julio de 2007 de 2007

Conclusiones

Conclusiones

67

Page 68: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Trabajos Derivados de la Investigación8.8. Improving Performance and Server Resource Usage with Page Fragment Caching in Distributed Web ServersImproving Performance and Server Resource Usage with Page Fragment Caching in Distributed Web Servers

Leon Welicki, Oscar Sanjuan MartinezLeon Welicki, Oscar Sanjuan MartinezInternational Workshop on Scalable Data Management Applications and Systems (SDMAS 07) - WORLDCOMP 2007International Workshop on Scalable Data Management Applications and Systems (SDMAS 07) - WORLDCOMP 2007 , Las , Las Vegas, Nevada, USA, 25 al 28 de Junio de 2007.Vegas, Nevada, USA, 25 al 28 de Junio de 2007.

9.9. Patrones y Antipatrones: una Introducción (Parte II)Patrones y Antipatrones: una Introducción (Parte II)León WelickiLeón WelickiRevista MTJ .Net (Microsoft Developers Network - MSDN)Revista MTJ .Net (Microsoft Developers Network - MSDN), Julio de 2005, Julio de 2005

10.10. Patrones de Fabricación: Fábricas de ObjetosPatrones de Fabricación: Fábricas de ObjetosLeón WelickiLeón WelickiRevista MTJ .Net (Microsoft Developers Network - MSDN)Revista MTJ .Net (Microsoft Developers Network - MSDN), Octubre de 2005, Octubre de 2005

11.11. El Patrón Singleton.El Patrón Singleton.León WelickiLeón WelickiRevista MTJ .Net (Microsoft Developer Network - MSDN)Revista MTJ .Net (Microsoft Developer Network - MSDN), Marzo de 2006, Marzo de 2006

12.12. Una Propuesta de Aplicación del Paradigma Emergente para un Modelo de Agregación Dinámica de Una Propuesta de Aplicación del Paradigma Emergente para un Modelo de Agregación Dinámica de Servicios Basado en SOAServicios Basado en SOALeón Welicki, Juan Manuel Cueva LovelleLeón Welicki, Juan Manuel Cueva LovelleI Jornadas Científico-Técnicas en Servicios Web del W3C (JSWEB 2005)I Jornadas Científico-Técnicas en Servicios Web del W3C (JSWEB 2005); Granada, España, 13 y 14 de Septiembre de 2005. ; Granada, España, 13 y 14 de Septiembre de 2005.

13.13. La Falacia Operacional y los Sistemas EmergentesLa Falacia Operacional y los Sistemas EmergentesLeón E. Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes AguilarLeón E. Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes AguilarIV Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW IV Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW 2006)2006); Cartagena, Colombia, 23 al 26 de Agosto de 2006. ; Cartagena, Colombia, 23 al 26 de Agosto de 2006.

14.14. Una Plataforma Basada en Sistemas Multiagentes y Servicios Web para Monitorización de Aplicaciones en Una Plataforma Basada en Sistemas Multiagentes y Servicios Web para Monitorización de Aplicaciones en Entornos HeterogéneosEntornos HeterogéneosLeón Welicki, Juan Manuel Cueva LovelleLeón Welicki, Juan Manuel Cueva LovelleII Taller en Desarrollo de Sistemas Multiagente (DESMA 2005)II Taller en Desarrollo de Sistemas Multiagente (DESMA 2005); Granada, España, 13 de Septiembre de 2005. ; Granada, España, 13 de Septiembre de 2005.

Conclusiones

Conclusiones

68

Page 69: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Trabajos Derivados de la Investigación15.15. Modificación de la Intención Semántica de Relatos Utilizando Ontologías y Técnicas EvolutivasModificación de la Intención Semántica de Relatos Utilizando Ontologías y Técnicas Evolutivas

Jesús Soto, León E. WelickiJesús Soto, León E. WelickiIII Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2005)III Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2005). Granada, 14 al 14 de . Granada, 14 al 14 de Septiembre de 2005.Septiembre de 2005.

16.16. Hacia la Convergencia entre la Organización Formal y Real en Equipos de Software a Través de un Modelo de Hacia la Convergencia entre la Organización Formal y Real en Equipos de Software a Través de un Modelo de DesarrolloDesarrolloLeón E. Welicki, Juan Manuel Cueva LovelleLeón E. Welicki, Juan Manuel Cueva LovelleIII Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW III Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW 2005)2005); Santo Domingo, República Dominicana, 24 al 26 de Agosto de 2005. ; Santo Domingo, República Dominicana, 24 al 26 de Agosto de 2005.

17.17. XText: Un Modelo para Publicación de Textos en Múltiples DispositivosXText: Un Modelo para Publicación de Textos en Múltiples DispositivosLeón WelickiLeón WelickiI Jornadas de Postgrado de Investigación en Ingeniería Informática (JPIII 2004)I Jornadas de Postgrado de Investigación en Ingeniería Informática (JPIII 2004). Salamanca, España, 7 al 8 de Mayo de . Salamanca, España, 7 al 8 de Mayo de 2004. 2004.

18.18. Perception of Software Problems on the Internet WorldPerception of Software Problems on the Internet WorldJorge A. Salido, León E. WelickiJorge A. Salido, León E. WelickiIII Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW III Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW 2005)2005). Santo Domingo, República Dominicana, 24 al 26 de Agosto de 2005. . Santo Domingo, República Dominicana, 24 al 26 de Agosto de 2005.

19.19. Las Personas en las Metodologías de Ingeniería del SoftwareLas Personas en las Metodologías de Ingeniería del SoftwareLeón Welicki, Fernando Cano GarcíaLeón Welicki, Fernando Cano GarcíaV Jornadas de Informática y Sociedad (JIS 2004)V Jornadas de Informática y Sociedad (JIS 2004). Bilbao, España, 25 al 26 de Marzo de 2004. Universidad de Deusto.. Bilbao, España, 25 al 26 de Marzo de 2004. Universidad de Deusto.

20.20. El Precio de las Palabras en la Sociedad de la InformaciónEl Precio de las Palabras en la Sociedad de la Información..León Welicki, Sergio BermanLeón Welicki, Sergio BermanV Jornadas de Informática y Sociedad (JIS 2004)V Jornadas de Informática y Sociedad (JIS 2004). Bilbao, España, 25 al 26 de Marzo de 2004, Universidad de Deusto.. Bilbao, España, 25 al 26 de Marzo de 2004, Universidad de Deusto.

21.21. Modificación de la Semántica de Textos Mediante Algoritmos Genéticos.Modificación de la Semántica de Textos Mediante Algoritmos Genéticos.León WelickiLeón WelickiIII Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2004)III Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2004). Córdoba, España, 3 al 5 de . Córdoba, España, 3 al 5 de Febrero de 2004.Febrero de 2004.

Conclusiones

Conclusiones

69

Page 70: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Trabajos Derivados de la Investigación22.22. Desarrollo Multilenguaje con Patrones de Diseño en .NETDesarrollo Multilenguaje con Patrones de Diseño en .NET

León Welicki, Fernando Cano GarcíaLeón Welicki, Fernando Cano GarcíaII Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento II Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW 2003)(SISOFTW 2003). Lima, Perú, 20 al 23 de Agosto de 2003). Lima, Perú, 20 al 23 de Agosto de 2003)

23.23. Implementando Extreme Programming en la Plataforma .NETImplementando Extreme Programming en la Plataforma .NETLeón WelickiLeón WelickiII Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento II Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW 2003)(SISOFTW 2003). Lima, Perú, 20 al 23 de Agosto de 2003). Lima, Perú, 20 al 23 de Agosto de 2003)

24.24. La Gestión del Conocimiento en las Empresas de Consultoría InformáticaLa Gestión del Conocimiento en las Empresas de Consultoría InformáticaLeón WelickiLeón WelickiII Congreso Internacional de la Sociedad de la Información y el Conocimiento - CISIC 2003 (Madrid, España, 7 al 9 de 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)Mayo de 2003)

25.25. Un modelo de compartición de conocimiento en red para integrar comunidades del tercer mundoUn modelo de compartición de conocimiento en red para integrar comunidades del tercer mundoLeón WelickiLeón WelickiII Congreso Internacional de la Sociedad de la Información y el Conocimiento - CISIC 2003 (Madrid, España, 7 al 9 de 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)Mayo de 2003)

Conclusiones

Conclusiones

70

Page 71: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Trabajos en Curso A Pattern Language for Adaptive Object Models: Part A Pattern Language for Adaptive Object Models: Part

I - Rendering PatternsI - Rendering PatternsLeón Welicki, Joseph W. Yoder, Rebecca Wirfs-BrockLeón Welicki, Joseph W. Yoder, Rebecca Wirfs-Brock

Enviado al PLoP 2007 (14th Conference on Pattern Languages of Enviado al PLoP 2007 (14th Conference on Pattern Languages of Programs), pendiente de aceptaciónPrograms), pendiente de aceptación

Conclusiones

Conclusiones

71

Page 72: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

© León WelickiMeta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos

Madrid, Junio de 2007

Futuras Líneas de Investigación Dotar al prototipo de calidades industrialesDotar al prototipo de calidades industriales

Editor de EML (Colaborativo) Editor de EML (Colaborativo)

Combinar EML-PDL con WikiCombinar EML-PDL con Wiki

Combinar EML-RDL con RDFCombinar EML-RDL con RDF

Estudiar integración con CoPE, PPR y WOPEstudiar integración con CoPE, PPR y WOP

Estudiar integración con herramientas de desarrolloEstudiar integración con herramientas de desarrollo

Conclusiones

Conclusiones

72

Page 73: UNIVERSIDAD PONTIFICIA DE SALAMANCA  CAMPUS DE MADRID FACULTAD DE INFORMÁTICA

UNIVERSIDAD PONTIFICIA DE SALAMANCA UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRIDCAMPUS DE MADRID

FACULTAD DE INFORMÁTICAFACULTAD DE INFORMÁTICA

Meta-Especificación y Catalogación de Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Patrones de Software con Lenguajes de

Dominio Específico y Modelos de Objetos Dominio Específico y Modelos de Objetos Adaptativos: Adaptativos:

Una Vía para la Gestión del Conocimiento en Una Vía para la Gestión del Conocimiento en la Ingeniería del Softwarela Ingeniería del Software

León WelickiLeón [email protected]@acm.org