Reconstructores. Mecanismo de recuperabilidad para el mantenimiento de la consistencia de los objetos de dominio en software orientado a objetos

  1. Fernández Lanvín, Daniel
Supervised by:
  1. Aquilino Adolfo Juan Fuente Director
  2. Raúl Izquierdo Castanedo Director

Defence university: Universidad de Oviedo

Fecha de defensa: 29 March 2007

Committee:
  1. Juan Manuel Cueva Lovelle Chair
  2. Benjamín López Pérez Secretary
  3. Manuel Pérez Cota Committee member
  4. Luis Joyanes Aguilar Committee member
  5. Jorg Thomaschewski Committee member
Department:
  1. Informática

Type: Thesis

Teseo: 136530 DIALNET

Abstract

En este documento se analiza el mecanismo que los lenguajes orientados a objetos modernos ponen a disposición del desarrollador para el mantenimiento de la consistencia del sistema, La solidez del software se define como el grado en el que un sistema o componente puede funcionar correctamente en presencia de entradas de información inválidas o condiciones ambientales con altos niveles de estrés. La forma de abordar o prevenir estas cisrcunstancias en los lenguajes orientados a objetos es generalmente por medio de un mecanismo de tratamiento de excepciones. El tratamiento de excepciones es una herramienta eficaz para gestionar los errores provocados por un problema en el sistema, pero hay determinados escenarios en los que resulta poco eficiente para la recuperación de su consistencia. El presente trabajo realiza un estudio de las técnicas y recursos tecnológicos existentes orientados a mantener la consistencia del sistema ante la ocurrencia de un error, especialmente cuando el mecanismo de tratamiento de excepciones no basta para la recuperación. En base a las conclusiones obtenidas tras la evaluación, se propone una extensión semántica dirigida por anotaciones y aplicable a los lenguajes orientados a objetos más populares. La extensión complementa el tratamiento de excepciones para evitar la implementación de ciertas tareas que pueden ser automatizadas, ahorrando esfuerzo de desarrollo y reduciendo la complejidad del código fuente final. Con el fin de probar su aplicabilidad, se ha desarrollado la herramienta piloto Ariadna, que procesa el código fuente enriquecido y, en base a las anotaciones asociadas a atributos y métodos, genera automáticamente el código necesario para la instanciación y gestión de reconstructores, componentes especializados en la restauración de la consistencia de una parte específica del modelo. Tras aplicar la herramienta sobre un conjunto de escenarios modelo, se han comprobado los beneficios de la solución dise