40 research outputs found

    Cactus: A Branching-Time Logic Programming Language

    No full text
    . Temporal programming languages are recognized as natural and expressive formalisms for describing dynamic systems. However, most such languages are based on linear flow of time, a fact that makes them unsuitable for certain types of applications. In this paper we introduce the new temporal logic programming language Cactus, which is based on a branching notion of time. In Cactus, the truth value of a predicate depends on a hidden time parameter which has a tree-like structure. As a result, Cactus appears to be especially appropriate for expressing non-deterministic computations or generally algorithms that involve the manipulation of tree data structures. Keywords: Logic Programming, Temporal Logic Programming, Branching Time. 1 Introduction Temporal programming languages [OM94, Org91] are recognized as natural and expressive formalisms for describing dynamic systems. For example, consider the following Chronolog [Wad88] program simulating the operation of the traffic lights: firs..

    The branching-time transformation technique for chain datalog programs

    No full text
    The branching-time transformation technique has proven to be an efficient approach for implementing functional programming languages. In this paper we demonstrate that such a technique can also be defined for logic programming languages. More specifically, we first introduce Branching Datalog, a language that can be considered as the basis for branching-temporal deductive databases. We then present a transformation algorithm from Chain Datalog programs to the class of unary Branching Datalog programs with at most one IDB atom in the body of each clause. In this way, we obtain a novel implementation approach for Chain Datalog, shedding at the same time new light on the power of branching-time logic programming

    Union rewritings for XPath fragments

    No full text

    Query containment under bag and bag-set semantics

    No full text

    Cactus: A branching-time logic programming language

    No full text
    Abstract. Temporal programming languages are recognized as natural and expressive formalisms for describing dynamic systems. However, most such languages are based on linear ow of time, a fact that makes them unsuitable for certain types of applications. In this paper we introduce the new temporal logic programming language Cactus, which is based on a branching notion of time. In Cactus, the truth value of a predicate depends on a hidden time parameter which has a tree-like structure. As a result, Cactus appears to be especially appropriate for expressing non-deterministic computations or generally algorithms that involve the manipulation of tree data structures
    corecore