Meta-especificación y catalogación de patrones de software con lenguajes de dominio específico y modelos de objetos adaptativosuna vía para la gestión del conocimiento en la ingeniería del software

  1. Welicki, León E.
Dirigida por:
  1. Juan Manuel Cueva Lovelle Director
  2. Luis Joyanes Aguilar Director/a

Universidad de defensa: Universidad Pontificia de Salamanca

Fecha de defensa: 30 de noviembre de 2005

Tribunal:
  1. Alfonso José López Rivero Secretario/a

Tipo: Tesis

Resumen

En los últimos años, la comunidad de patrones ha crecido a un ritmo vertiginoso, produciendo una gran cantidad de lenguajes y sistemas de patrones aplicables a diversos dominios, con distintos grados de éxito y popularidad. A modo de ejemplo de este crecimiento proponemos un simple pero provocador ejercicio: sumar la cantidad de patrones publicados en tres de los libros más influyentes de la literamra de patrones, "Design Patterns: Elements of Reusable Object Oriented Software" [GoF95], "Pattern Oriented Software Architecture, Volume /" [POSA96] y "Patterns of Enterprise Application Architecture" [Fowler02]. El número total es 100 (un número bastante grande de elementos para mantener en la memoria). Para complicar aún más las cosas, en cada uno de los libros mencionados se describe a los patrones utilizando diferentes estructuras (plantillas) y los ejemplos están escritos en distintos lenguajes de programación sobre distintas infraestructuras de implementación. Esto produce una diferencia de impedancia considerable entre todos ellos. Existen varias "llamadas a la acción" en distintas obras de referencia de la literamra de patrones ([POSA96], [GoF95], [Berczuk94]) que hacen evidente la necesidad de una forma estandarizada de describir, clasificar y almacenar a los patrones junto con una forma sencilla de compartir y utilizar estas descripciones. En la actualidad existen varios enfoques que resuelven el problema en forma parcial, pero en todos los casos tienen limitaciones e inconvenientes recurrentes. Esto convierte a la descripción y catalogación de patrones en un problema de primera clase que todavía no ha sido resuelto en forma satisfactoria [Welicki04c] [WelickiOS] [WeHckiOÓ]. En esta tesis se propone un modelo de meta-especificación y catalogación de patrones y conceptos como respuesta a las necesidades de gestión del conocimiento en éste ámbito de la ingeniería del software. La arquitectura general de la solución propuesta se compone de un lenguaje de meta-especificación para describir a los patrones a un alto nivel de abstracción, un catálogo de patrones creados con ese lenguaje, una infraestrucmra de catalogación y una herramienta de explotación del catálogo. Para verificar la factibilidad de la solución propuesta hemos creado un prototipo y lo hemos evaluado respecto a otras soluciones y enfoques existentes para demostrar que el modelo propuesto supera las dificultades recurrentes encontradas en otros enfoques. Los patrones emergen de la experiencia [WeHckiOó]. Tienen un ciclo de vida [WelickiOób] que comienza con conocimiento tácito en la cabeza de una persona o grupo de individuos y termina con una descripción expHcita y rígida de ese conocimiento que puede ser compartida. El modelo propuesto en esta tesis produce un cambio significativo en este ciclo haciéndolo más dinámico e interactivo, sentando las bases para la evolución y generación de conocimiento a partir de interacciones entre los miembros de una comunidad (que puede estar distribuida geográficamente). A partir de esta generación de conocimiento se promueve el refinamiento y mejora continua de los patrones, facilitando así su evolución constante para adaptarse a cambios no previstos en su contexto.