Mapping OCL as a query and constraint language

  1. DANIA FLORES, CAROLINA INÉS
Dirigida por:
  1. Marina Soledad Egea González Director/a
  2. Manuel García Clavel Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 30 de junio de 2017

Tribunal:
  1. Narciso Martí Oliet Presidente
  2. Adrián Riesco Rodríguez Secretario
  3. Alessandra Gorla Vocal
  4. Jordi Cabot Sagrera Vocal
  5. Martin Gogolla Vocal

Tipo: Tesis

Resumen

Esta tesis debe gran parte de su motivación inicial y enfoque final en el seminario ¿Automated Reasoning on Conceptual Schemas¿ en Dagstuhl. Incluso antes de asistir al seminario, sobre la base de nuestra propia experiencia, ya estábamos convencidos de la veracidad y la importancia de esta que resume muy bien las motivaciones finales de esta tesis: ¿La calidad de un sistema de información se determina en gran medida a principios del ciclo de desarrollo, es decir, durante la especificación de los requisitos y el modelado conceptual, ya que los errores introducidos en estas etapas suelen ser mucho más costosos de corregir que los errores cometidos durante el diseño o la implementación¿. Entre las preguntas de investigación que se siguieron durante el seminario, nos quedamos particularmente intrigados por la siguiente: ¿Las técnicas existentes y herramienta disponibles, están preparadas para ser utilizadas en un entorno industrial?¿ Todas estas cuestiones, pero especialmente la primera, han tenido también un impacto, de una manera u otra, en la configuración de nuestra propia agenda de investigación. Las conclusiones del mencionado grupo de trabajo fueron claras: ¿todavía hay muchas cosas por hacer para convencer a la industria sobre la aplicación práctica de las técnicas actuales para el razonamiento sobre esquemas estructurales. Se concluyó que tener herramientas prácticas es una condición necesaria para demostrar que todo esto funciona.¿ Como recientemente reportó Gogolla et al, ¿Aunque existe una variedad de herramientas para este propósito, la mayoría son en muchos sentidos, esta tesis doctoral es un intento para tratar, lo mejor posible y dentro de nuestros limitados recursos, las cosas que hay que hacer para convencer a la industria sobre la aplicación práctica de las técnicas actuales de razonamiento sobre esquemas estructurales¿, incluyen: explicaciones, puntos de referencia y escalabilidad. En este intento, nuestro enfoque ha sido crear herramientas bien fundamentadas y rigurosas que: (1) que puede ser utilizado por desarrolladores de software guiado por, (2) que pueda integrarse perfectamente con sus actividades habituales de modelado y entornos, y (3) que puedan contribuir eficazmente al desarrollo de modelos de alta calidad. Observemos que: (1) esto descarta, como soluciones válidas en este caso, herramientas que requiriesen , por parte del usuario, el aprendizajelearning de nuevos lenguajes de modelado. Segundo, (2) esto descarta también herramientas que requiriesen, por parte del usuario, la construcción manual de nuevos artefactos para interactuar con las herramientas. Finalmente, (3) esto descarta también herramientas que no provean: cobertura universal de las clases para estos problemas, tiempos de respuesta rápido; y respuestas claras y útiles. De manera más constructiva, esta tesis doctoral proporciona herramientas que cubren una clase muy amplia de los problemas para los que fueron diseñados. El mayor reto aquí fue definir una herramienta de razonamiento automatizado basada en SMT que pudiera manejar la lógica OCL de 4 valores. En segundo lugar, provee herramientas con tiempo de respuesta rápidas. El reto aquí fue comprender suficientemente bien la heurística de los diferentes SMT solvers para definir una traducción de OCL a lógica de primer orden que pudiese beneficiarse lo máximo posible, en términos de tiempo de respuesta, de las heurísticas implementadas en cada resolutor. En tercer lugar, era proporcionar herramientas con respuestas claras y útiles para los usuarios. Por último, en cuanto al desafío de los puntos de referencia, esta tesis doctoral evalúa las herramientas anteriormente citadas con diferentes puntos de referencia, utilizando siempre que sea posible puntos de referencia existentes, y creando nuevos cuando no estaban disponibles.