TINTIN: a Tool for Incremental INTegrity checking

Período:
diciembre, 2021 –
noviembre, 2023
Cliente
Responsable
Equipo participante inLab FIB:
Especialidades
Tecnologías
TINTIN: a Tool for Incremental INTegrity checking

Descripción

El proyecto consiste en el desarrollo de TINTIN, una herramienta para apoyar las aserciones SQL en bases de datos relacionales.

Las aserciones SQL es la forma estándar de definir restricciones de negocio, es decir, restricciones que los datos de nuestro sistema deben satisfacer. Algunas restricciones de negocio, como por ejemplo claves primarias o claves foráneas, ya tienen un soporte nativo en los Sistemas Gestores de Bases de Datos (SGBD) actuales, pero ningún SGBD es capaz de comprobar restricciones más genéricas que requieren, precisamente del uso de aserciones. Esto implica que, a día de hoy, para implementar estas validaciones, los desarrolladores software deben dedicar horas y esfuerzos en la implementación manual de estas comprobaciones, lo que comporta un sobrecoste en el proyecto, por no decir que pone en riesgo la su calidad en tanto que esta actividad, al ser manual, es muy propensa a los errores.

Con este proyecto se prevé construir una prueba de concepto que permitiría apoyar, automáticamente, las aserciones. Los usuarios de esta herramienta serán ingenieros software que, gracias a la capacidad automática de comprobación de restricciones de negocio, podrán delegar la programación de reglas de validación de datos en esta herramienta, lo que implicará un ahorro de costes y aumento de calidad en el desarrollo de su software. La idea principal de que los usuarios introduzcan en TINTIN sus reglas de negocio que quiere que se comprueben, en formato de aserciones SQL, y que TINTIN genere, a partir de éstas, y sin necesidad de intervención del usuario, una serie de disparadores y procedimientos a nivel de base de datos que los compruebe automáticamente.

Para el desarrollo del proyecto se parte de un prototipo de investigación, que será extendido para facilitar su integración en las bases de datos, apoyar entornos con transacciones concurrentes, y aumentar su capacidad operativa (tanto en términos de expresividad de lenguaje, como en términos de tecnologías de bases de datos)

Proyecto PDC2021-121363-I00 de investigación financiado por MCIN/AEI /10.13039/501100011033 y por la Unión Europea Next GenerationEU/ PRTR