8 research outputs found

    A theorem prover-based analysis tool for object-oriented databases

    Get PDF
    We present a theorem-prover based analysis tool for object-oriented database systems with integrity constraints. Object-oriented database specifications are mapped to higher-order logic (HOL). This allows us to reason about the semantics of database operations using a mechanical theorem prover such as Isabelle or PVS. The tool can be used to verify various semantics requirements of the schema (such as transaction safety, compensation, and commutativity) to support the advanced transaction models used in workflow and cooperative work. We give an example of method safety analysis for the generic structure editing operations of a cooperative authoring system

    Program Synthesis with Best-First Bottom-Up Search

    Full text link
    Cost-guided bottom-up search (BUS) algorithms use a cost function to guide the search to solve program synthesis tasks. In this paper, we show that current state-of-the-art cost-guided BUS algorithms suffer from a common problem: they can lose useful information given by the model and fail to perform the search in a best-first order according to a cost function. We introduce a novel best-first bottom-up search algorithm, which we call Bee Search, that does not suffer information loss and is able to perform cost-guided bottom-up synthesis in a best-first manner. Importantly, Bee Search performs best-first search with respect to the generation of programs, i.e., it does not even create in memory programs that are more expensive than the solution program. It attains best-first ordering with respect to generation by performing a search in an abstract space of program costs. We also introduce a new cost function that better uses the information provided by an existing cost model. Empirical results on string manipulation and bit-vector tasks show that Bee Search can outperform existing cost-guided BUS approaches when employing more complex domain-specific languages (DSLs); Bee Search and previous approaches perform equally well with simpler DSLs. Furthermore, our new cost function with Bee Search outperforms previous cost functions on string manipulation tasks.Comment: Published at the Journal of Artificial Intelligence Research (JAIR

    Effect preservation in transaction processing in rule triggering systems

    Get PDF
    Rules provide an expressive means for implementing database behavior: They cope with changes and their ramifications. Rules are commonly used for integrity enforcement, i.e., for repairing database actions in a way that integrity constraints are kept. Yet, Rule Triggering Systems fall short in enforcing effect preservation, i.e., guaranteeing that repairing events do not undo each other, and in particular, do not undo the original triggering event. A method for enforcement of effect preservation on updates in general rule triggering systems is suggested. The method derives transactions from rules, and then splits the work between compile time and run time. At compile time, a data structure is constructed, that analyzes the execution sequences of a transaction and computes minimal conditions for effect preservation. The transaction code is augmented with instructions that navigate along the data structure and test the computed minimal conditions. This method produces minimal effect preserving transactions, and under certain conditions, provides meaningful improvement over the quadratic overhead of pure run time procedures. For transactions without loops, the run time overhead is linear in the size of the transaction, and for general transactions, the run time overhead depends linearly on the length of the execution sequence and the number of loop repetitions. The method is currently being implemented within a traditional database system

    Expressive power of unary counters

    Full text link

    Acta Cybernetica : Volume 18. Number 4.

    Get PDF

    On the Formal Specification and Derivation of Relational Database Applications

    Get PDF
    The development of database applications is usually carried out informally. The derivation of database programs directly from formal specifications is a well known and unsolved problem. Most of the previous work in the area either tried to solve the problem too generally or was restricted to some trivial aspects, for example deriving the database structure and/or simple operations. This thesis describes an extension to the traditional database design process aimed at formalizing the development of (relational) database applications. Specifically, it gives a complete description of a general method for the specification of relational database applications using Z, as well as a comprehensive description of a set of rules on how to derive database programs from specifications which result from using the method. The method prescribes how to specify all the important aspects of relational database applications, which includes the definition of relations, the specification of constraints, and querying and updating of relations, including error handling. It also addresses more advanced features such as transactions, sorting of results, aggregate functions, etc. However difficult in general, deriving relational database applications directly from Z specifications written according to the method is not arduous. With appropriate tool support, writing formal specifications according to the method and deriving the corresponding relational database programs can be straightforward. Moreover, it should produce code which is standardized and thus easier to understand and maintain. An intrinsic part of the thesis is a prototype which was built to support the method. It provides a syntactic editor for the method and partially implements the mapping for a specific Relational Database Management System (RDBMS), namely the DBPL system

    Generación de reglas restauradoras de la consistencia en esquemas relacionales con vistas

    Full text link
    En un sistema de base de datos, el cambio en el mundo real se modela mediante la ejecución de transacciones de usuario que modifican un estado generando otro que representa la nueva situación. Este nuevo estado puede violar las restricciones de integridad del esquema, restricciones que representan las propiedades de ese mundo. La reacción más frecuente de los sistemas de bases de datos ante la violación de la integridad consistente en rechazar la transacción que la ha provocado, devolviendo la base de datos al estado anterior a su ejecución. Esta solución tan simple es, sin embargo, usualmente poco satisfactoria para sistemas reales. Una alternativa a este comportamiento consiste en que el sistema modifique el estado inconsistente de forma que se repare la violación provocada por la transacción de usuario respetanto los cambios propuestos por ésta. Se dice entonces que el sistema ha restaurado la consistencia de la base de datos. En esta tesis se ha propuesto un método para la restauración de la consistencia en bases de datos relacionales con vistas (o bases de datos deductivas) que utiliza el lenguaje de reglas de un sistema activo. Así a partir del conjunto de restricciones de integridad y del conjunto de reglas deductivas del esquema, el método genera un conjunto de reglas de actividad que restaura la consistencia de la base de datos cuando, como consecuencia de la ejecución de una transacción de usuario, se ha producido la violación de alguna restricción. Estas reglas se han denominado reglas restauradoras.Mota Herranz, L. (2001). Generación de reglas restauradoras de la consistencia en esquemas relacionales con vistas [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/5760Palanci

    The Deductive Synthesis of Database Transactions

    No full text
    Database programming requires knowledge of database semantics both to maintain database integrity and to explore more optimization opportunities. Automated programming of database transactions is desirable and feasible. In general, transactions use simple constructs and algorithms; specifications of database semantics are available; and transactions perform small incremental updates to database contents. Automated programming in such a restricted but well-understood and important domain is promising. We approach the synthesis of database transactions that preserve the validity of integrity constraints using deductive techniques. A transaction logic for a fairly expressive class of transactions is developed as the formalism within which the synthesis is conducted. Transactions are generated as the by-product of proving specifications in the logic. The Manna-Waldinger deductive-tableau system is extended with inference rules for the extraction of transactions from proofs, which require t..
    corecore