Results 1 - 10
of
23
Constraint Logic Programming: A Survey
"... Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in differe ..."
Abstract
-
Cited by 705 (20 self)
- Add to MetaCart
Constraint Logic Programming (CLP) is a merger of two declarative paradigms: constraint solving and logic programming. Although a relatively new field, CLP has progressed in several quite different directions. In particular, the early fundamental concepts have been adapted to better serve in different areas of applications. In this survey of CLP, a primary goal is to give a systematic description of the major trends in terms of common fundamental concepts. The three main parts cover the theory, implementation issues, and programming for applications.
Magic Templates: A Spellbinding Approach to Logic Programs
- Journal of Logic Programming
, 1988
"... We consider a bottom-up query-evaluation scheme in which facts of relations are allowed to have nonground terms. The Magic Sets query-rewriting technique is generalized to allow arguments of predicates to be treated as bound even though the rules do not provide ground bindings for those arguments. I ..."
Abstract
-
Cited by 116 (13 self)
- Add to MetaCart
We consider a bottom-up query-evaluation scheme in which facts of relations are allowed to have nonground terms. The Magic Sets query-rewriting technique is generalized to allow arguments of predicates to be treated as bound even though the rules do not provide ground bindings for those arguments. In particular, we regard as "bound" any argument containing a function symbol or a variable that appears more than once in the argument list. Generalized "magic " predicates are thus defined to compute the set of all goals reached in a top-down exploration of the rules, starting from a given query goal; these goals are not facts of constants as in previous versions of the Magic Sets algorithm. The magic predicates are then used to restrict a bottom-up evaluation of the rules so that there are no redundant actions; that is, every step of the bottom-up computation must be performed by any algorithm that uses the same sideways information passing strategy (sips). The price paid, compared to prev...
Declarative Routing: Extensible Routing with Declarative Queries
- IN PROCEEDINGS OF ACM SIGCOMM'05
, 2005
"... The Internet's core routing infrastructure, while arguably robust and e#cient, has proven to be di#cult to evolve to accommodate the needs of new applications. Prior research on this problem has included new hard-coded routing protocols on the one hand, and fully extensible Active Networks on the ot ..."
Abstract
-
Cited by 86 (36 self)
- Add to MetaCart
The Internet's core routing infrastructure, while arguably robust and e#cient, has proven to be di#cult to evolve to accommodate the needs of new applications. Prior research on this problem has included new hard-coded routing protocols on the one hand, and fully extensible Active Networks on the other. In this paper, we explore a new point in this design space that aims to strike a better balance between the extensibility and robustness of a routing infrastructure. The basic idea of our solution, which we call declarative routing, is to express routing protocols using a database query language. We show that our query language is a natural fit for routing, and can express a variety of well-known routing protocols in a compact and clean fashion. We discuss the security of our proposal in terms of its computational expressive power and language design. Via simulation, and deployment on PlanetLab, we demonstrate that our system imposes no fundamental limits relative to traditional protocols, is amenable to query optimizations, and can sustain long-lived routes under network churn and congestion.
The LDL System Prototype
- IEEE Transactions on Knowledge and Data Engineering
, 1990
"... The LDL system provides a declarative logic-based language and integrates relational database and logic programming technologies so as to support advanced data and knowledge-based applications. This paper contains a comprehensive overview of the system and contains a description of the LDL language ..."
Abstract
-
Cited by 80 (1 self)
- Add to MetaCart
The LDL system provides a declarative logic-based language and integrates relational database and logic programming technologies so as to support advanced data and knowledge-based applications. This paper contains a comprehensive overview of the system and contains a description of the LDL language and the compilation techniques employed to translate LDL queries into target queries on the stored data. The paper further contains a description of the architecture and runtime environment of the system and the optimization techniques employed in order to improve the performance and assure the safety of the compiled queries. The paper concludes with an account of the experience gained so far with the system, and discusses application areas where the LDL approach appears to be particularly effective.
Static Analysis Techniques for Predicting the Behavior of Active Database Rules
- ACM Transactions on Database Systems
, 1995
"... This paper gives methods for statically analyzing sets of active database rules to determine if the rules are (1) guaranteed to terminate, (2) guaranteed to produce a unique final database state, and (3) guaranteed to produce a unique stream of observable actions. If the analysis determines that ..."
Abstract
-
Cited by 50 (2 self)
- Add to MetaCart
This paper gives methods for statically analyzing sets of active database rules to determine if the rules are (1) guaranteed to terminate, (2) guaranteed to produce a unique final database state, and (3) guaranteed to produce a unique stream of observable actions. If the analysis determines that one of these properties is not guaranteed, it isolates the rules responsible for the problem and determines criteria that, if satisfied, guarantee the property. The analysis methods are presented in the context of the Starburst Rule System. 1 Introduction Rules in active database systems allow specification of data manipulation operations that are executed automatically whenever certain events occur or conditions are met [DHW94,DW92,HW93]. Active database rules provide a general and powerful mechanism for many database features, including integrity constraint enforcement, derived data maintenance, triggers, alerters, authorization checking, and versioning. In addition, active database sy...
The design and implementation of a declarative sensor network system
- In ACM SenSys
, 2006
"... Sensor networks are notoriously difficult to program, given that they encompass the complexities of both distributed and embedded systems. To address this problem, we present the design and implementation of a declarative sensor network platform, DSN: a declarative language, compiler and runtime sui ..."
Abstract
-
Cited by 49 (11 self)
- Add to MetaCart
Sensor networks are notoriously difficult to program, given that they encompass the complexities of both distributed and embedded systems. To address this problem, we present the design and implementation of a declarative sensor network platform, DSN: a declarative language, compiler and runtime suitable for programming a broad range of sensornet applications. We demonstrate that our approach is a natural fit for sensor networks by specifying several very different classes of traditional sensor network protocols, services and applications entirely declaratively – these include tree and geographic routing, link estimation, data collection, event tracking, version coherency, and localization. To our knowledge, this is the first time these disparate sensornet tasks have been addressed by a single high-level programming environment. Moreover, the declarative approach accommodates the desire for architectural flexibility and simple management of limited resources. Our results suggest that the declarative approach is well-suited to sensor networks, and that it can produce concise and flexible code by focusing on what the code is doing, and not on how it is doing it.
Towards an Open Architecture for LDL
- In Proc. 15th International Conference on Very Large Data Bases
, 1989
"... We extend LDL to allow programs to call external procedures and vice versa. This extension allows the modularization of LDL, since external predicates are equivalent to external procedures written in LDL. External predicates are viewed as infinite relations so that the traditional semantics of logic ..."
Abstract
-
Cited by 29 (2 self)
- Add to MetaCart
We extend LDL to allow programs to call external procedures and vice versa. This extension allows the modularization of LDL, since external predicates are equivalent to external procedures written in LDL. External predicates are viewed as infinite relations so that the traditional semantics of logic programs remain applicable. To avoid computing infinite relations, wellformedness conditions for programs in extended LDL are given. The traditional optimization framework can still be used; it is only necessary to define a new set of cost functions capable of handling the infinite relations. The problem of interfacing LDL programs with external procedures---exchanging complex objects and returning multiple solutions---is discussed. Thus, we provide a general framework to allow logic programs to interact with external procedures without sacrificing amenities such as optimization, safety, etc. This approach forms the basis for the implementation of externals and modules in the LDL ...
Declarative Networking
, 2009
"... Declarative Networking is a programming methodology that enables developers to concisely specify network protocols and services, which are directly compiled to a dataflow framework that executes the specifications. This paper provides an introduction to basic issues in declarative networking, includ ..."
Abstract
-
Cited by 27 (17 self)
- Add to MetaCart
Declarative Networking is a programming methodology that enables developers to concisely specify network protocols and services, which are directly compiled to a dataflow framework that executes the specifications. This paper provides an introduction to basic issues in declarative networking, including language design, optimization and dataflow execution. We present the intuition behind declarative programming of networks, including roots in Datalog, extensions for networked environments, and the semantics of long-running queries over network state. We focus on a sublanguage we call Network Datalog (NDlog), including execution strategies that provide crisp eventual consistency semantics with significant flexibility in execution. We also describe a more general language called Overlog, which makes some compromises between expressive richness and semantic guarantees. We provide an overview of declarative network protocols, with a focus on routing protocols and overlay networks. Finally, we highlight related work in declarative networking, and new declarative approaches to related problems.
D'ej`a vu in fixpoints of logic programs
- in Proceedings of the North American Conference on Logic Programming
, 1989
"... We investigate properties of logic programs that permit refinements in their fixpoint evaluation and shed light on the choice of control strategy. A fundamental aspect of a bottom-up computation is that we must constantly check to see if the fixpoint has been reached. If the computation iteratively ..."
Abstract
-
Cited by 25 (4 self)
- Add to MetaCart
We investigate properties of logic programs that permit refinements in their fixpoint evaluation and shed light on the choice of control strategy. A fundamental aspect of a bottom-up computation is that we must constantly check to see if the fixpoint has been reached. If the computation iteratively applies all rules, bottom-up, until the fixpoint is reached, this amounts to checking if any new facts were produced after each iteration. Such a check also enhances efficiency in that duplicate facts need not be re-used in subsequent iterations, if we use the Seminaive fixpoint evaluation strategy. However, the cost of this check is a significant component of the cost of bottom-up fixpoint evaluation, and for many programs the full check is unnecessary. We identify properties of programs that enable us to infer that a much simpler check (namely, whether any fact was produced in the previous iteration) suffices. While it is in general undecidable whether a given program has these properties, we develop techniques to test sufficient conditions, and we illustrate these techniques on some simple programs that have these properties. The significance of our results lies in the significantly larger class of programs for which bottom-up evaluation methods, enhanced with the optimizations that we propose, become competitive with standard (top-down) implementations of logic programs. This increased efficiency is achieved without compromising the completeness of the bottom-up approach; this is in contrast to the incompleteness that accompanies the depth-first search strategy that is central to most top-down implementations.
Propagating Constraints in Recursive Deductive Databases
- In Proceedings of the First North American Conference on Logic Programming
, 1989
"... In traditional database systems, as in deductive databases that do not contain recursive rules, the efficient retrieval of tuples satisfying a constraint such as "retrieve all people who earn more than 30,000 dollars" is crucial to the performance of the database system. We investigate an algorithm ..."
Abstract
-
Cited by 23 (6 self)
- Add to MetaCart
In traditional database systems, as in deductive databases that do not contain recursive rules, the efficient retrieval of tuples satisfying a constraint such as "retrieve all people who earn more than 30,000 dollars" is crucial to the performance of the database system. We investigate an algorithm which permits the "early use" of constraints to guide a bottom-up computation of recursive rules. The algorithm is an adaptation of the well-known fold/unfold transformations and is designed to work in conjunction with the magic set approach. A contribution of the algorithm is that it generalises the ability of magic-sets to transform a program, traditionally based on argument bindings within a rule or query, to the case of arguments in a rule or query which are constrained, but not necessarily bound. In addition, it permits the implementation of a bi-directional sip (sideways information passing strategy). 1 Introduction The field of Deductive Databases [8], is concerned with developing...

