UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRID FACULTAD

  • Slides: 73
Download presentation
UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRID FACULTAD DE INFORMÁTICA Meta-Especificación y Catalogación de

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 lwelicki@acm. org

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos desarrollados q Conclusiones © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 2

Introducción Contexto I n t r o d u c c i ó n

Introducción Contexto I n t r o d u c c i ó n q 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 l “Nuestra civilización corre sobre software” l “Las ideas y los descubrimientos tecnológicos son los conductores del crecimiento económico” q 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 l 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 3

Introducción Sobre esta Tesis I n t r o d u c c i

Introducción Sobre esta Tesis I n t r o d u c c i ó n q En la presente tesis se traza y explora el dominio de la metaespecificación y catalogación de patrones como respuesta al problema de describir, catalogar y compartir conocimiento de ingeniería del software q La investigación realizada se inscribe en un marco interdisciplinario l Ingeniería del Software l Gestión del Conocimiento l Ingeniería Web l Ciencias de la Computación © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 4

Introducción Soporte de la Hipótesis I n t r o d u c c

Introducción Soporte de la Hipótesis I n t r o d u c c i ó n q 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 q Los patrones son el medio idóneo para compartir experiencia q Compartir patrones es compartir conocimiento q La falta de un modelo para describir, patrones dificulta la transmisión del patrón intenta expresar © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos clasificar y compartir conocimiento que el Madrid, Junio de 2007 5

Introducción Hipótesis I n t r o d u c c i ó n

Introducción Hipótesis I n t r o d u c c i ó 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 6

Introducción Objetivos Principales I n t r o d u c c i ó

Introducción Objetivos Principales I n t r o d u c c i ó n 1. Crear un lenguaje de meta-especificación que permita describir a los patrones a un alto nivel de abstracción 2. Utilizar este lenguaje para construir un catálogo que incluya también todos los conceptos necesarios para poder realmentender al patró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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 7

Introducción Objetivos Parciales I n t r o d u c c i ó

Introducción Objetivos Parciales I n t r o d u c c i ó n 1. 2. 3. 4. 5. 6. 7. 8. 9. Crear un lenguaje de representación de patrones Dotar al lenguaje de expresividad para describir conceptos Dotar al lenguaje de capacidades relacionales Dotar al lenguaje de capacidades de anotación Construir un catálogo de patrones Crear la infraestructura de catalogación Crear una herramienta de visualización del catálogo Establecer un mecanismo de visualización de entidades Habilitar el trabajo colaborativo para evolucionar a los patrones 10. Convertir al catálogo en un proveedor de servicios de información © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 8

Introducción Metodología de la Investigación I n t r o d u c c

Introducción Metodología de la Investigación I n t r o d u c c i ó n q Metodología iterativa e incremental q En cada iteración… l Se establecía un modelo teórico l Se creaban prototipos l Se publicaban los resultados parciales l Se discutía y contrastaban con la comunidad científica internacional q El feedback obtenido servía como realimentación del proceso y se utilizaba en la siguiente iteración q Varios “hitos” de verificación… ü COMPSAC 2007, OOPSLA 2006, PLo. P 2006, Euro. PLo. P 2006, PLo. P 2005, W 3 C JSWEB 2005, etc. © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 9

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos desarrollados q Conclusiones © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 10

Estado del arte Estado del Arte Es t a d o d e l

Estado del arte Estado del Arte Es t a d o d e l Ar t e q Herramientas Conceptuales l Patrones l El nivel Meta l Lenguajes de Dominio Específico l Modelos de Objetos Adaptativos l Sistemas Emergentes q Soluciones Parciales Existentes q Problemas Recurrentes q Conclusión de los Problemas Recurrentes © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 11

Estado del arte Patrones Es t a d o d e l Ar t

Estado del arte Patrones Es t a d o d e l Ar t e q Un patrón es una solución a un problema en un contexto q “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) q Los patrones se describen utilizando plantillas û Existe una amplia variedad de plantillas diferentes © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 12

Estado del arte Patrones y Gestión del Conocimiento Es t a d o d

Estado del arte Patrones y Gestión del Conocimiento Es t a d o d e l q Son un gran mecanismo de comunicación para transmitir experiencias q 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 q Ocupan un sitio de privilegio en el modelo de generación de conocimiento propuesto por Nonaka y Takeuchi Ar t e © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 13

Estado del arte El Nivel Meta Es t a d o d e l

Estado del arte El Nivel Meta Es t a d o d e l q El prefijo Meta viene del campo de la filosofía e indica un nivel de descripción más elevado. l Se refiere a “trascender o ir más allá de” q Cuando los informáticos resuelven un problema tienden a “ir al nivel meta” l Generalmente, esto significa resolver el problema en forma más general, a un mayor nivel de abstracción l Mas flexiblidad y adaptabilidad a expensas de mayor complejidad y menor rendimiento Ar t e q El paso a un nivel meta debe ser correctamente analizado © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 14

Estado del arte Lenguajes de Dominio Específico Es t a d o d e

Estado del arte Lenguajes de Dominio Específico Es t a d o d e l Ar t e q Un lenguaje de dominio específico (DSL) es un lenguaje especializado para un problema particular l Es diferente de un lenguaje de propósito general (GPL) que es creado para resolver cualquier clase de problema q Son lenguajes limitados, diseñados para resolver una clase específica de problemas q Cambian expresividad por generalidad en un dominio concreto q Pueden ser textuales o gráficos © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 15

Estado del arte Modelos de Objetos Adaptativos Es t a d o d e

Estado del arte Modelos de Objetos Adaptativos Es t a d o d e l Ar t e q Un modelo de objetos adaptativo (AOM) es un sistema que representa clases, atributos, relaciones y comportamiento como metadatos l “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” q El sistema almacena su modelo de objetos en una base de datos y lo interpreta, obteniendo una gran adaptabilidad y flexibilidad l Los usuarios cambian los metadatos (modelo de objetos) para reflejar cambios en el dominio q Son un tipo de “arquitectura reflectiva” o “meta-arquitectura” q Fuertemente basado en patrones l Type Object, Properties, Accountability, Type Square, Interpreter, Builder, Strategy, Composite, Null Object q “El código son datos, los datos son código…Todo es código, todo son datos” © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 16

Estado del arte Sistemas Emergentes Es t a d o d e l q

Estado del arte Sistemas Emergentes Es t a d o d e l q 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 l Los agentes de un nivel inferior adoptan comportamientos propios de un nivel superior l Es lo que sucede cuando “el todo es mas inteligente que la suma de sus partes” q Los sistemas emergentes tienen las siguientes características 1. No hay un control jerárquico de arriba hacia abajo que diga al sistema que es lo que debe hacer Ar t e 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 17

Estado del arte Soluciones Parciales Existentes Es t a d o d e l

Estado del arte Soluciones Parciales Existentes Es t a d o d e l q Descripción y Catalogación q Soporte en Herramientas de Modelado q Catálogos Públicos Ar t e © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 18

Estado del arte Soluciones Parciales Existentes Es t a d o d e l

Estado del arte Soluciones Parciales Existentes Es t a d o d e l Ar t e q Descripción y Catalogación l Wiki l HTML l PLML / PLMLx l XMI l ODOL (Proyecto Wo. P) l Lattice Based Classification q Soporte en Herramientas de Modelado l Borland Togheter l Rational XDE l Sparx Systems Enterprise Architect q Catálogos Públicos © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 19

Estado del arte Algunos Catálogos Públicos… Es t a d o d e l

Estado del arte Algunos Catálogos Públicos… Es t a d o d e l Ar t e q q q © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Portland Pattern Repository Microsoft Pattern. Share Sun’s Core J 2 EE Patterns MOUDIL Patterns Almanac Martin Fowler’s EA Catalog EI Patterns Catalog Patterns (Handbook of SA) Patterns in Interaction Design UI Patterns Do. Factory Go. F Patterns Madrid, Junio de 2007 20

Estado del arte Problemas Recurrentes - Descripción Es t a d o û Descripción

Estado del arte Problemas Recurrentes - Descripción Es t a d o û Descripción 1. Descripción abstracta de los niveles de conocimiento e implementación û Catalogación 2. Soporte para todas las plantillas de patrones existentes û Visualización 3. Descripción de patrones y conceptos de soporte d e l Ar t e © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 21

Estado del arte Problemas Recurrentes - Descripción Es t a d o d e

Estado del arte Problemas Recurrentes - Descripción Es t a d o d e l Ar t e û Descripción û Catalogación û Visualización 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 22

Estado del arte Problemas Recurrentes - Descripción Es t a d o d e

Estado del arte Problemas Recurrentes - Descripción Es t a d o d e l Ar t e û Descripción û Catalogación û Visualización q Catá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 q Herramientas de Modelado 5. No incluyen el nivel de conocimiento en forma adecuada 1. No describen el comportamiento a un nivel de abstracción adecuado © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 23

Estado del arte Problemas Recurrentes - Conclusión Es t a d o d e

Estado del arte Problemas Recurrentes - Conclusión Es t a d o d e l 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 Ar t e © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 24

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos desarrollados q Conclusiones © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 25

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

Desarrollo de la investigación Desarrollo de la Investigación q Definiendo el concepto “patrón” D e s ar ro l l o q Derivación de la Solución q Estrategia de Solución q Solución Desarrollada q Modificación del Ciclo de Vida de los Patrones © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 26

Desarrollo de la investigación Significado del Término Patrón D e s ar ro l

Desarrollo de la investigación Significado del Término Patrón D e s ar ro l l o ü “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 12 th Pattern Languages of Programming Conference (PLo. P 2005), Monticello, Illinois, USA, 2005. © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 27

Desarrollo de la investigación ¿Qué Hace Falta para Describir Correctamente a los Patrones? D

Desarrollo de la investigación ¿Qué Hace Falta para Describir Correctamente a los Patrones? D e s a r r o l l o q Es necesario crear un lenguaje que permita definir a los patrones en forma estándar y uniforme, a un alto nivel de abstracción q 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 28

Desarrollo de la investigación ¿Cómo Describir un Patrón? D e s a r r

Desarrollo de la investigación ¿Cómo Describir un Patrón? D e s a r r o l l o q Proponemos describir a los patrones en 2 niveles l Nivel de Conocimiento ü Información literaria y metadatos (búsquedas, relaciones, anotaciones, etc. ) l Nivel de Implementación ü Información sobre el comportamiento y estructura del patrón ü Es opcional © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 29

Desarrollo de la investigación ¿Es Suficiente Describir Patrones para Transmitir Conocimiento? D e s

Desarrollo de la investigación ¿Es Suficiente Describir Patrones para Transmitir Conocimiento? D e s a r r o l l o q No, no es suficiente. l 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. © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 30

Desarrollo de la investigación Dominio de Definición de Patrones D e s a r

Desarrollo de la investigación Dominio de Definición de Patrones D e s a r r o l l o q Los patrones no existen aislados de un contexto q 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 q Para subsanar esta situación hemos definido una ontología sencilla para formalizar el dominio de la definición de patrones q 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 31

Desarrollo de la investigación Dominio de Definición de Patrones D e s a r

Desarrollo de la investigación Dominio de Definición de Patrones D e s a r r o l l o Written By Published In Pattern. Language Source Author Contained In Published In Contained In Pattern Category Is A Written By Presented At Event Refactored By Conforms Pattern. Type Refactoring Targeted To Represented At OOPrinciple Role © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Abstraction. Level Madrid, Junio de 2007 32

Desarrollo de la investigación ¿El enfoque de Descripción Propuesto sólo es Aplicable a los

Desarrollo de la investigación ¿El enfoque de Descripción Propuesto sólo es Aplicable a los Patrones? D e s a r r o l l o q No, el enfoque propuesto puede ser aplicado a cualquier tipo de concepto l 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 33

Desarrollo de la investigación ¿Describir Correctamente las Entidades es Suficiente para Compartir Conocimiento? D

Desarrollo de la investigación ¿Describir Correctamente las Entidades es Suficiente para Compartir Conocimiento? D e s a r r o l l o q 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 l 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 34

Desarrollo de la investigación ¿Un Conjunto de Definiciones Forma un Catálogo? D e s

Desarrollo de la investigación ¿Un Conjunto de Definiciones Forma un Catálogo? D e s a r r o l l o q No, un catálogo es un elemento más complejo que un conjunto de definiciones almacenadas en forma persistente l Debe proveer la infraestructura necesaria para añadir, eliminar, modificar, vincular y recuperar entidades l Debe soportar la edición iterativa e incremental y tener la capacidad de trabajar con información incompleta l 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 35

Desarrollo de la investigación ¿Es Suficiente el Catálogo para Exponer sus Contenidos? D e

Desarrollo de la investigación ¿Es Suficiente el Catálogo para Exponer sus Contenidos? D e s a r r o l l o q No, no es suficiente l El catálogo expone entidades como lenguajes formales l El catálogo no tiene estrategias de presentación l 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 Patterns. Browser © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 36

Desarrollo de la investigación Estrategia General de Solución D e s a r r

Desarrollo de la investigación Estrategia General de Solución D e s a r r o l l o 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 37

Desarrollo de la investigación Solución Desarrollada D e s a r r o l

Desarrollo de la investigación Solución Desarrollada D e s a r r o l l o q EML (Entity Metaspecification Languaje) q Catálogo de Patrones l Componente Pasivo l Componente Activo q Visor del Catalogo © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 38

Desarrollo de la investigación EML: El Lenguaje de Meta-Especificación D e s a r

Desarrollo de la investigación EML: El Lenguaje de Meta-Especificación D e s a r r o l l o q EML es el acrónimo de “Entity Meta-specification Languaje” q “Modularly composable DSL” basado en XML, creado con el objeto de describir todo tipo de entidades l Provee la infraestructura necesaria para describir los niveles de descripción e implementación l Capacidades relacionales y de anotación q EML se compone de 5 DSLs más pequeños © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 39

Desarrollo de la investigación EML – DSLs D e s a r r o

Desarrollo de la investigación EML – DSLs D e s a r r o l l o EML (Entity Meta-Specification Language) EML-RDL (Relationship Description Language) Relaciones EML-AL (Annotation Language) Anotaciones EML-PDL (Properties Description Language) Propiedades EML-SDL (Structure Definition Language) Estructura EML-BDL (Behavior Description Language) Comportamiento © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 40

Desarrollo de la investigación Catálogo de Patrones y Conceptos D e s a r

Desarrollo de la investigación Catálogo de Patrones y Conceptos D e s a r r o l l o q El catálogo de patrones es el elemento más complejo de la solución q No se limita a un contenedor pasivo de información q Sus componentes se dividen en dos grupos l Pasivos: conjunto de elementos persistentes l Activos: infraestructura que permite manipular, exponer y compartir los contenidos del catálogo ü FREP es el núcleo © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 41

Desarrollo de la investigación FREP D e s a r r o l l

Desarrollo de la investigación FREP D e s a r r o l l o q FREP es el acrónimo de Flexible Runtime Execution Platform q Plataforma de ejecución de entidades del catálogo l Contenedor de entidades EML en tiempo de ejecución (AOM) l Analizador de EML (AOM Builder) q Combina DSLs y AOMs para crear una solución flexible, extensible y ágil l Expresividad de los DSLs para describir a las entidades l 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 42

Desarrollo de la investigación Patterns. Browser – Visor del Catálogo D e s a

Desarrollo de la investigación Patterns. Browser – Visor del Catálogo D e s a r r o l l o q El visor del catálogo (Patterns. Browser) es una aplicación Web que permite navegar por los contenidos del catálogo q Permite interactuar con los elementos del catálogo en forma sencilla, siguiendo estándares de usabilidad e interacción q Características l Vistas dinámicas vinculables l Navegación por el Catálogo l Escritura n-Dimensional l Interface Web l Buscador l Soporte para comunidad/colaboración © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 43

Desarrollo de la investigación Consecuencia: Modificación del Ciclo de Vida de los Patrones Welicki

Desarrollo de la investigación Consecuencia: Modificación del Ciclo de Vida de los Patrones Welicki et al 2006: “Meta-Specification and Cataloging of Software Patterns: Towards Knowledge Management in Software Engineering”. D e s a r r o l l o Companion of the 31 st 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 44

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipo

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipo desarrollado q Conclusiones © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 45

Prototipos Introducción P r o t ot i p o s q Se ha

Prototipos Introducción P r o t ot i p o s q Se ha desarrollado un prototipo a efectos de validar el modelo propuesto en forma empírica y pragmática l 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 46

Prototipos Arquitectura (Alto Nivel) P r o t ot i p o s ©

Prototipos Arquitectura (Alto Nivel) P r o t ot i p o s © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 47

Prototipos Componente Pasivo Repositorio de Entidades P r o t ot i p o

Prototipos Componente Pasivo Repositorio de Entidades P r o t ot i p o s q Parte principal del componente pasivo del catálogo q Contiene a todas las entidades q Se compone de una base de datos relacional y de un sistema de ficheros q El registro se manipula a través del componente activo del catálogo © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 48

Prototipos FREP – Representación de Entidades P r o t ot i p o

Prototipos FREP – Representación de Entidades P r o t ot i p o s q La representación de entidades en tiempo de ejecución es parte de FREP l 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 ) q Diseño con alta densidad de patrones (pattern dense) l Type Object, Property, Type Square, Accountability, Composite, Smart Property, Dependency Injection, Rule Object, Strategy, MVC © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 49

Prototipos FREP – Representación de Entidades Visualization P r o t ot i p

Prototipos FREP – Representación de Entidades Visualization P r o t ot i p o s Property. Renderer View Rules / Strategies Rule. Object Knowledge Property. Type Entity. Type Accountability. Type Code. Generation. Rule Operational Property Entity Accountability CSharp. Code. Gen Java. Code. Gen VBNet. Code. Gen Behavior Description Composite. Property Pattern Structure Participant Code. Property String. Property Code. Module Method Image. Property Consequence. Property © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Parameters Madrid, Junio de 2007 50

Prototipos FREP – Analizador de Entidades P r o t ot i p o

Prototipos FREP – Analizador de Entidades P r o t ot i p o s © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 51

Prototipos FREP – Analizador de Entidades FREP. parse. config. xml P r o t

Prototipos FREP – Analizador de Entidades FREP. parse. config. xml P r o t ot i p o s IEntity. Parser Parse. Pipeline. Factory << Creates >> Entity. Parser Parse. Pipeline 0. . n steps IParse. Step Tags. Parse. Step Relationship. Parse. Step Context. Parse. Step Dump. Impl. Parse. Step Properties. Parse. Step Checksum. Parse. Step Impl. Parse. Step Basic. Data. Parse. Step © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Base. Impl. Parse. Step Madrid, Junio de 2007 52

Prototipos Iteradores Virtuales virtual. Iterators. config. xml P r o t ot i p

Prototipos Iteradores Virtuales virtual. Iterators. config. xml P r o t ot i p o s Virtual. Iterator. Builder children Virtual. Iterator children Entity. Reference 0. . n q Extensión al patrón Iterator q Recorrer el catálogo a partir de reglas codificadas en metadatos q DSL para especificar reglas de recorrido © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 53

Prototipos Navegación con Iteradores Virtuales P r o t ot i p o s

Prototipos Navegación con Iteradores Virtuales P r o t ot i p o s © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 54

Prototipos La Interfaz de Usuario Web P r o t ot i p o

Prototipos La Interfaz de Usuario Web P r o t ot i p o s Área de Navegación Selector de Iterador Virtual Vistas Disponibles Nombre y Resumen de la Entidad Visualización de la Vista © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Inicio de Sesión Búsqueda Rápida Madrid, Junio de 2007 55

Prototipos Motor de Vistas P r o t ot i p o s q

Prototipos Motor de Vistas P r o t ot i p o s q El motor de vistas dinámicas permite vincular vistas dinámicamente a las entidades en tiempo de ejecución View. Group. Factory q Dada una entidad al aplicarle una vista se obtiene el código de presentación para mostrarla al usuario << Creates >> views View. Group View. Proxy 1. . n q Cada vista se focaliza en un aspecto concreto de la entidad y es posible tener tantas vistas como aspectos relevantes tengamos en consideración << Creates instances of >> IView Template. View. Config Default. Entity. View Template. View Source. Code. View CRCView Author. View List. View © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Category. View Madrid, Junio de 2007 56

Prototipos Motor de Vistas – Patrones P r o t ot i p o

Prototipos Motor de Vistas – Patrones P r o t ot i p o s © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 57

Prototipos Motor de Vistas – Entidades P r o t ot i p o

Prototipos Motor de Vistas – Entidades P r o t ot i p o s © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 58

Prototipos Navegación por Descubrimiento P r o t ot i p o s Para

Prototipos Navegación por Descubrimiento P r o t ot i p o s Para cada entidad se muestran enlaces a todas las entidades relacionadas, lo cual permite este tipo de navegación © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 59

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos

Índice q Introducción q Estado del arte q Desarrollo de la investigación q Prototipos desarrollados q Conclusiones © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 60

Conclusiones Evaluación de los Objetivos C o n c l u s i o

Conclusiones Evaluación de los Objetivos C o n c l u s i o n e s q Al comienzo de esta tesis, se definieron tres objetivos 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 q Estos objetivos se han visto realizados por la consecución de sus objetivos parciales © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 61

Conclusiones Evaluación de los Objetivos C o n c l u s i o

Conclusiones Evaluación de los Objetivos C o n c l u s i o n e s 1. 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 2. Dotar al lenguaje de expresividad para describir conceptos EML puede describir cualquier concepto, soportando la creación de nuevos tipos 3. Dotar al lenguaje de capacidades relacionales EML contiene un DSL orientado a la descripción de relaciones entre entidades (EML-RDL) 4. Dotar al lenguaje de capacidades de anotación EML contiene un DSL orientado a la anotación de relaciones entre entidades (EML-AL) 5. Construir un catálogo de patrones El componente pasivo del catálogo contiene meta-especificaciones de entidades escritas con EML © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 62

Conclusiones Evaluación de los Objetivos C o n c l u s i o

Conclusiones Evaluación de los Objetivos C o n c l u s i o n e s 6. Crear la infraestructura de catalogación El componente activo del catálogo contiene los mecanismos para gestionar los contenidos del catálogo 7. Crear una herramienta de visualización del catálogo Patterns. Browser permite navegar por los contenidos del catálogo 8. Establecer un mecanismo de visualización El motor de vistas dinámico permite registrar de patrones y conceptos vistas y asociarlas a entidades en tiempo de diseño o ejecución 9. Habilitar el trabajo colaborativo para evolucionar a los patrones El modelo contiene funcionalidades para facilitar el trabajo colaborativo 10. 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 63

Conclusiones Reflexión y Síntesis del Modelo C o n c l u s i

Conclusiones Reflexión y Síntesis del Modelo C o n c l u s i o n e s q 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 q 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 q 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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 64

Conclusiones Reflexión y Síntesis del Modelo C o n c l u s i

Conclusiones Reflexión y Síntesis del Modelo C o n c l u s i o n e s Fragmento del trabajo presentado en OOPSLA 2006 (Portland, Oregon, USA, Octubre 2006) © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 65

Conclusiones Aportaciones Originales Principales C o n c l u s i o n

Conclusiones Aportaciones Originales Principales C o n c l u s i o n e s ü 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 metaespecificació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 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 66

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i o n e s 1. Patterns Meta-Specification and Cataloging: Towards a More Dynamic Life Cycle Leon Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes Aguilar First IEEE International Workshop on Software Patterns: Addressing Challenges (SPAC 2007) – 31 st IEEE COMPSAC (COMPSAC 2007), Pekin, China, 23 al 27 de Julio de 2007 2. Meta-Specification and Cataloging of Software Patterns: Towards Knowledge Management in Software Engineering León Welicki, Luis Joyanes Aguilar, Juan Manuel Cueva Lovelle 21 st ACM SIGPLAN Object Oriented Systems, Languages, and Applications Conference (OOPSLA 2006) ; Portland, Oregon, Estados Unidos, 22 al 26 de Octubre de 2006 3. 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 11 th European Conference on Pattern Languages of Programming Conference ( Euro. PLo. P 2006); Irsee, Alemania, 5 al 9 de Julio de 2006 4. A Model for Meta-Specification and Cataloging of Software Patterns León Welicki, Oscar Sanjuán, Juan Manuel Cueva Lovelle 12 th Pattern Languages of Programming Conference (PLo. P 2005); Monticello, Illionois, Estados Unidos, 6 al 10 de Septiembre de 2005 5. Patrones y Antipatrones: una Introducción (Parte I) León Welicki Revista MTJ. Net (Microsoft Developers Network - MSDN), Junio de 2005 6. The Configuration Data Caching Pattern León Welicki 13 th Pattern Languages of Programs Conference (PLo. P 2006); Portland, Oregon, Estados Unidos, 21 al 23 de Octubre de 2006 7. Patterns for Factoring Responsibilities when Working with Objects and Relational Databases León Welicki 12 th European Conference on Pattern Languages of Programming Conference (Euro. PLo. P 2007); Irsee, Alemania, 4 al 8 de Julio de 2007 © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 67

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i o n e s 8. Improving Performance and Server Resource Usage with Page Fragment Caching in Distributed Web Servers Leon Welicki, Oscar Sanjuan Martinez International Workshop on Scalable Data Management Applications and Systems (SDMAS 07) - WORLDCOMP 2007 , Las Vegas, Nevada, USA, 25 al 28 de Junio de 2007. 9. Patrones y Antipatrones: una Introducción (Parte II) León Welicki Revista MTJ. Net (Microsoft Developers Network - MSDN), Julio de 2005 10. Patrones de Fabricación: Fábricas de Objetos León Welicki Revista MTJ. Net (Microsoft Developers Network - MSDN), Octubre de 2005 11. El Patrón Singleton. León Welicki Revista MTJ. Net (Microsoft Developer Network - MSDN), Marzo de 2006 12. 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 W 3 C (JSWEB 2005); Granada, España, 13 y 14 de Septiembre de 2005. 13. La Falacia Operacional y los Sistemas Emergentes León E. Welicki, Juan Manuel Cueva Lovelle, Luis Joyanes Aguilar IV Simposio Internacional de Sistemas de Información e Ingeniería de Software en la Sociedad del Conocimiento (SISOFTW 2006); Cartagena, Colombia, 23 al 26 de Agosto de 2006. 14. Una Plataforma Basada en Sistemas Multiagentes y Servicios Web para Monitorización de Aplicaciones en Entornos Heterogéneos León Welicki, Juan Manuel Cueva Lovelle II Taller en Desarrollo de Sistemas Multiagente (DESMA 2005); Granada, España, 13 de Septiembre de 2005. © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 68

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i o n e s 15. 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. 16. 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. 17. 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. 18. 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. 19. 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. 20. El Precio de las Palabras en la Sociedad de la Información. León Welicki, Sergio Berman V Jornadas de Informática y Sociedad (JIS 2004). Bilbao, España, 25 al 26 de Marzo de 2004, Universidad de Deusto. 21. Modificación de la Semántica de Textos Mediante Algoritmos Genéticos. León Welicki III Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2004). Córdoba, España, 3 al 5 de Febrero de 2004. © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 69

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i

Conclusiones Trabajos Derivados de la Investigación C o n c l u s i o n e s 22. 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) 23. 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) 24. 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) 25. 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) © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 70

Conclusiones Trabajos en Curso C o n c l u s i o n

Conclusiones Trabajos en Curso C o n c l u s i o n e s q A Pattern Language for Adaptive Object Models: Part I Rendering Patterns León Welicki, Joseph W. Yoder, Rebecca Wirfs-Brock Enviado al PLo. P 2007 (14 th Conference on Pattern Languages of Programs), pendiente de aceptación © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 71

Conclusiones Futuras Líneas de Investigación C o n c l u s i o

Conclusiones Futuras Líneas de Investigación C o n c l u s i o n e s q Dotar al prototipo de calidades industriales q Editor de EML (Colaborativo) q Combinar EML-PDL con Wiki q Combinar EML-RDL con RDF q Estudiar integración con Co. PE, PPR y WOP q Estudiar integración con herramientas de desarrollo © León Welicki Meta-Especificación y Catalogación de Patrones de Software con Lenguajes de Dominio Específico y Modelos de Objetos Adaptativos Madrid, Junio de 2007 72

UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS DE MADRID FACULTAD DE INFORMÁTICA Meta-Especificación y Catalogación de

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 lwelicki@acm. org