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.
unter der Leitung von:
  1. Juan Manuel Cueva Lovelle Doktorvater/Doktormutter
  2. Luis Joyanes Aguilar Doktorvater

Universität der Verteidigung: Universidad Pontificia de Salamanca

Fecha de defensa: 30 von November von 2005

Gericht:
  1. Alfonso José López Rivero Sekretär

Art: Dissertation

Zusammenfassung

In the last years, the patterns conimunity grew at a very fast pace. A lot of pattern languages and pattern systems emerged. Some of them are very popular, some of them are not. To show the tip of the iceberg, we propose a very simple, yet mind provoking, exercise: let's sum the number of patterns in three reference and mainstream books, "Design Patíem/' [GoF95], "Pattern Oriented Software Architecture, Volume 1" [POSA96] and "Patterns of Enterprise Application Architecture" [Fowler02]. The final number is 100... quite big to remember all! To worsen things, each pattern language is described using different formal elements (templates) and the samples are written with different programming languages. This produces a considerable impedance mismatch among all of them. We found some "calls to action" in several reference books in the patterns literature ([POSA96], [GoF95], [Berc2uk94]) that made evident the need for a standardized way to describe, dassify, share and store patterns and a simple way to use these descriptions. Some patterns description, cataloging and browsing approaches that partially solve the problem exists, but all of them fail in some aspects, presenting recurring problems. This makes patterns description and cataloging a first class problem that must be solved and hasn't been successfully addressed yet [WeUcki04c] [WeUckiOS] [Ví^eückiOó]. In this thesis a patterns meta-specification and cataloging model is proposed as a means to provide a response to the knowledge management needs in this area of software engineering. The high-level architecture of our solution is composed of a metaspecification language for describing patterns at a very high level of abstraction, a catalog of patterns described using that language, a cataloging infrastructure and a web-based browser for exposing the contents of the catalog. In order to verify the feasibility of our proposal we built a research prototype and evaluated it regarding other existing approaches for demonstrating that our model overcomes the recurring problems that we have found in them. Patterns emerge from experience [WelickiOó]. They have a life-cycle [WelickiOób] that begins with tacit knowledge in the head of an individual or a group and ends with an explicit (and rigid) shareable description of that knowledge. The model proposed in this thesis produces important changes in this cycle, making it more dynamic and interactive establishing the foundations for knowledge evolution and generation from interactions among members of a community. This knowledge generation promotes continuous improvement and refinement of the patterns, making easier their constant evolution in order to adapt to changes in their context and environment