96 research outputs found
Improving the Deductive System DES with Persistence by Using SQL DBMS's
This work presents how persistent predicates have been included in the
in-memory deductive system DES by relying on external SQL database management
systems. We introduce how persistence is supported from a user-point of view
and the possible applications the system opens up, as the deductive expressive
power is projected to relational databases. Also, we describe how it is
possible to intermix computations of the deductive engine and the external
database, explaining its implementation and some optimizations. Finally, a
performance analysis is undertaken, comparing the system with current
relational database systems.Comment: In Proceedings PROLE 2014, arXiv:1501.0169
Tabling with Support for Relational Features in a Deductive Database
Tabling has been acknowledged as a useful technique in the logic programming arena for enhancing both performance and declarative properties of programs. As well, deductive database implementations benefit from this technique for implementing query solving engines. In this paper, we show how unusual operations in deductive systems can be integrated with tabling.Such operations come from relational database systems in the form of null-related (outer) joins, duplicate support and duplicate elimination. The proposal has been implemented as a proof of concept rather than an efficient system in the Datalog Educational System (DES) using Prolog as a development language and its dynamic database
Improving the Search Capabilities of a CFLP(FD) System
The CFLP system TOY(FD) is implemented in SICStus Prolog, and supports FD constraints by interfacing the CP(FD) solvers of Gecode and ILOG Solver. In this paper TOY(FD) is extended with new search primitives, in a setting easily adaptable to other Prolog CLP or CFLP systems. The primitives are described from a solver-independent point of view, pointing out some novel concepts not directly available in the Gecode and ILOG Solver libraries, as well as how to specify some search criteria at TOY(FD) level and how easily these strategies can be combined to set different search scenarios. The implementation of the primitives is described, presenting an abstract view of the requirements and how they are targeted to the Gecode and ILOG libraries. Finally, some benchmarks show that the new search strategies improve the solving performance of TOY(FD)
DES: un recurso para el aprendizaje de bases de datos deductivas
En este artículo se presenta DES (Datalog Educational System), un sistema con el que se pueden transmitir los conceptos fundamentales de las bases de datos deductivas con Datalog como lenguaje de acceso a datos. Además, dado que está implementado en Prolog, los estudiantes que conozcan este lenguaje pueden estudiar su implementación en cursos más avanzados. El motivo de su desarrollo pareció evidente en su momento al no existir un sistema de uso fácil y multiplataforma. El sistema incorpora recursión no lineal (a diferencia de SQL) y negación estratificada. Se puede usar tanto desde un intérprete Prolog (por lo tanto, sobre cualquier plataforma hardware/ software que admita tal intérprete) como desde ejecutables para Windows, Linux y Unix. El sistema se distribuye desde Sourceforge bajo licencia GPL, y su código es abierto y gratuito. Ha suscitado interés en la comunidad docente e investigadora internacional desde la publicación de su primera versión en el año 2003, y se publican nuevas versiones anualmente
Sistema de identificación y explotación de paralelismo en programas lógico-funcionales
Los lenguajes declarativos en general y los lógico-funcionales en particular poseen una capacidad expresiva para resolver problemas de índole simbólico mayor que los lenguajes imperativos. Sin embargo, esta mayor capacidad expresiva requiere mayor tiempo de cómputo y uso de memoria. El objetivo de esta tesis es el aumento de la eficiencia de un lenguaje lógico- funcional mediante el desarrollo de un sistema de identificación y explotación del paralelismo implícito en los programas. En primer lugar se desarrolla un procedimiento para la identificación local de paralelismo en programas secuenciales con el que se generan programas paralelos. Se desarrollan varias estrategias de icación y de incorporación de granularidad que se estudian y comparan. En egundo lugar se rolla un análisis de independencia de los programas p ara obtener información global de las reglas en el programa para la simplificación de las reglas paralelas. Para ello se liza la interpretación abstracta y se presentan y comparan tres niveles de análisis. En rcer lugar se diseña una máquina abstracta paralela de memoria compartida basada en pilas para la explotación del paralelismo identificado. Esta máquina retiene las limizaciones de las máquinas secuenciales, fundamentalmente durante el cómputo hacia atrás en la desasignación de memoria. Finalmente, se realiza una implementación de la máquina abstracta paralela sobre un multiprocesador de memoria compartida simulado en vhdl, realizándose su validación funcional y tomando medidas de rendimiento. Se plantean diferentes alternativas de diseño para el bus y la memoria cache, que se comparan a partir de las medidas obtenidas.Sección Deptal. de Arquitectura de Computadores y Automática (Físicas)Fac. de Ciencias FísicasTRUEpu
DESweb: una herramienta para el aprendizaje de SQL
En este artículo se presenta la herramienta on-line DESweb para el aprendizaje del lenguaje de bases de datos SQL. Aunque en la enseñanza de la materia Bases de datos se emplean habitualmente sistemas gestores de bases de datos propietarios o de código abierto, resulta llamativa la limitada realimentación que proporcionan ante consultas SQL incorrectas. Sin embargo, no solo estamos interesados en aportar un mejor informe de errores sintácticos, sino también en alertar de los posibles errores semánticos. Un error semántico se produce en una instrucción sintácticamente correcta pero en cuyos resultados faltan o sobran ciertas tuplas con respecto a la interpretación pretendida por el programador. Este trabajo aborda estos aspectos de un sistema interactivo disponible a cualquier usuario, de código abierto, gratuito, y que en particular se está aplicando actualmente en distintos grupos de la asignatura Bases de datos.This paper presents the on-line tool DESweb for learning the SQL database language. Though several database management systems, either proprietary or opensource, are used in teaching Databases, they provide limited feedback for incorrect queries. However, we are not only interested in providing better syntactic error messages, but also semantic error warnings. A semantic error is found when a syntactically-correct statement includes extra or missing tuples with respect to its intended meaning for the programmer. This work addresses these issues in an on-line, free, open-source, and widely-available system, which is currently being applied to several groups of the Databases course.Proyectos TIN2017-86217-R (CAVI-ART-2) del ministerio, P2018/TCS-4339 (BLOQUES-CM) de la Comunidad de Madrid y la Unión Europea e Innova-Docentia 295 de la UCM
A CFLP Approach for Modeling and Solving a Real Life Employee Timetabling Problem *
Abstract In last years the number of applications of timetabling has grown spectacularly, and different paradigms have risen to tackle these problems. In this paper we present a Constraint Functional Logic Programming (CFLP) approach for modeling and solving a real life optimization employee timetabling problem. We describe the language supported by a particular implementation of the CFLP paradigm. Then, we present the concrete model followed to solve the problem, and we enumerate the advantage our framework provides w.r.t. other approaches. Running results are also reported
R-SQL: An SQL Database System with Extended Recursion
The relational database language SQL:1999 standard supports recursion, but this approach is limited to the linear case. Moreover, mutual recursion is not supported, and negation cannot be combined with recursion. We designed the language R-SQL to overcome these limitations, improving termination properties in recursive definitions. In addition we developed a proof of concept implementation of an R-SQL system. In this paper we describe in detail an improved system enhancing performance. It can be integrated into existing RDBMS's, extending them with the aforementioned benefits of R-SQL. The system processes an R-SQL database definition obtaining its extension in tables of an RDBMS (such as PostgreSQL and DB2). It is implemented in SWI-Prolog and it produces a Python script that, upon execution, computes the result of the R-SQL relations. We provide some performance results showing the efficiency gains w.r.t. the previous version. We also include a comparative analysis including some representative relational a deductive systems
Mejora del aprendizaje de SQL con realimentación semántica
Depto. de Ingeniería de Software e Inteligencia Artificial (ISIA)Fac. de InformáticaFALSEsubmitte
- …