Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

David Scott Warren

dblp:w/DavidScottWarren · DBLP profile ↗
← Back
48ranked-venue papers
5as first author
1since 2021 · last 2024
0000-0001-7567-8156ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 23 · 3 first-author · 1 since 2021Theory of computation · 15 · 1 first-authorDatabases, data management, data science and information retrieval · 12Artificial intelligence and machine learning · 11 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2Computer networks · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Artificial intelligence
5 papers
Knowledge representation and reasoning · 99% Information extraction and text analysis · 1%
Computer networks
1 paper
Internet of things and sensor networks · 33% Software-defined and programmable networks · 33% Network management and operations · 33%
Theoretical computer science
9 papers
Logic in computer science · 83% Automated reasoning and model checking · 10% Automata and formal languages · 7%
Databases, data mining, and information retrieval
10 papers
Database theory · 49% Data models and query languages · 26% Knowledge graphs · 14%
Software engineering, system software, and programming languages
5 papers
Program analysis · 58% Programming languages and type systems · 24% Compilers and program optimization · 17%
Computer graphics and multimedia
1 paper
Multimedia analysis and retrieval · 100%

Topics — the 30 heaviest of 44, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Network management and operations › network robustness
fault tolerance
0.112008
A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008
Software-defined and programmable networks › programmable data plane › in-network computation
in-network inference
0.112008
A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008
Internet of things and sensor networks
wireless sensor network
0.112008
A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008
Database theory
deductive database
0.031996
Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996
XSB as a Deductive Database · SIGMOD Conference 1994
XSB as an Efficient Deductive Database Engine · SIGMOD Conference 1994
Logic in computer science › logic programming
well-founded semantics
0.031996
Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996
Tabled Evaluation With Delaying for General Logic Programs · J. ACM 1996
Query Evaluation under the Well Founded Semantics · PODS 1993
Logic in computer science
logic programming
0.021997
Efficient Model Checking Using Tabled Resolution · CAV 1997
Tabled Evaluation With Delaying for General Logic Programs · J. ACM 1996
Program analysis
static analysis
0.031996
Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study · PLDI 1996
Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990
Functional Computations in Logic Programs · ACM Trans. Program. Lang. Syst. 1989
Knowledge, reasoning and agents › Knowledge representation and reasoning › logic programming
probabilistic logic programming
0.012008
A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008
Programming languages and type systems
logic programming
0.021995
Unification Factoring for Efficient Execution of Logic Programs · POPL 1995
Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990
Automated reasoning and model checking
model checking
0.011997
Efficient Model Checking Using Tabled Resolution · CAV 1997
Knowledge graphs › knowledge graph querying
complex query answering
0.011996
Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996
Program analysis › static analysis › abstract interpretation
groundness analysis
0.011996
Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study · PLDI 1996
Program analysis › static analysis › abstract interpretation
strictness analysis
0.011996
Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study · PLDI 1996
Logic in computer science › logic programming
logic programming semantics
0.011996
Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996
Logic in computer science › logic programming
negation as failure
0.011996
Tabled Evaluation With Delaying for General Logic Programs · J. ACM 1996
Logic in computer science › logic programming
stable model semantics
0.011996
Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996
Logic in computer science
unification
0.011995
Unification Factoring for Efficient Execution of Logic Programs · POPL 1995
Data models and query languages
datalog
0.011994
XSB as an Efficient Deductive Database Engine · SIGMOD Conference 1994
Database theory
logic programming semantics
0.011993
Query Evaluation under the Well Founded Semantics · PODS 1993
Query processing and optimization
query execution
0.011993
Query Evaluation under the Well Founded Semantics · PODS 1993
Logic in computer science
semantics
0.021989
On the Declarative Semantics of Inheritance Networks · IJCAI 1989
Using X-Calculus to Represent Meanings in Logic Grammars · ACL 1983
Compilers and program optimization
program transformation
0.011990
Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990
Programming languages and type systems › logic programming
prolog
0.011990
Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990
Automata and formal languages
finite automata
0.011990
Automata-Driven Indexing of Prolog Clauses · POPL 1990
Knowledge, reasoning and agents › Knowledge representation and reasoning › description logic › taxonomic reasoning
inheritance
0.011989
On the Declarative Semantics of Inheritance Networks · IJCAI 1989
Knowledge, reasoning and agents › Knowledge representation and reasoning › representation language › knowledge representation formalisms › knowledge representation language
inheritance networks
0.011989
On the Declarative Semantics of Inheritance Networks · IJCAI 1989
Data models and query languages › object model
complex object model
0.011989
C-Logic of Complex Objects · PODS 1989
Database theory
database logic
0.011989
C-Logic of Complex Objects · PODS 1989
Program analysis › concurrent program analysis
determinacy analysis
0.011989
Functional Computations in Logic Programs · ACM Trans. Program. Lang. Syst. 1989
Compilers and program optimization
logic program optimization
0.011989
Functional Computations in Logic Programs · ACM Trans. Program. Lang. Syst. 1989

Methods — techniques the papers use, named apart from their topics

multimodal learning · 0.5constrained optimization · 0.5simulation · 0.2hidden markov model · 0.2PRISM · 0.2forward chaining · 0.0backward chaining · 0.0backtracking · 0.0non-determinism optimization · 0.0indexing · 0.0logic programming · 0.0tabled resolution · 0.0tabling · 0.0tabled logic programming · 0.0partial deduction · 0.0minimal model evaluation · 0.0SLG resolution · 0.0negation as finite failure · 0.0
YearPublicationVenuePosition
2024 The Semantics of Metaprogramming in Prolog
abstract
Abstract This paper describes a semantics for pure Prolog programs with negation that provides meaning to metaprograms. Metaprograms are programs that construct and use data structures as programs. In Prolog a primary mataprogramming construct is the use of a variable as a literal in the body of a clause. The traditional Prolog 3-line metainterpreter is another example of a metaprogram. The account given here also supplies a meaning for clauses that have a variable as head, even though most Prolog systems do not support such clauses. This semantics naturally includes such programs, giving them their intuitive meaning. Ideas from Denecker and his colleagues form the basis of this approach. The key idea is to notice that if we give meanings to all propositional programs and treat Prolog rules with variables as the set of their ground instances, then we can give meanings to all programs. We must treat Prolog rules (which may be metarules) as templates for generating ground propositional rules, and not as first-order formulas, which they may not be. We use parameterized inductive definitions to give propositional models to Prolog programs, in which the propositions are expressions. Then the set of expressions of a propositional model determine a first-order Herbrand Model, providing a first-order logical semantics for all (pure) Prolog programs, including metaprograms. We give examples to show the applicability of this theory. We also demonstrate how this theory makes proofs of some important properties of metaprograms very straightforward.
David Scott Warren
Theory Pract. Log. Program.1
2018 Top-down and Bottom-up Evaluation Procedurally Integrated
abstract
Abstract This paper describes how the Logic Programming System XSB combines top-down and bottom-up computation through the mechanisms of variant tabling and subsumptive tabling with abstraction, respectively. It is well known that top-down evaluation of logical rules in Prolog has a procedural interpretation as recursive procedure invocation (Kowalski 1986). Tabling adds the intuition of short-circuiting redundant computations (Warren 1992). This paper shows how to introduce into tabled logic program evaluation a bottom-up component, whose procedural intuition is the initialization of a data structure, in which a relation is initially computed and filled, on first demand, and then used throughout the remainder of a larger computation for efficient lookup. This allows many Prolog programs to be expressed fully declaratively, programs which formerly required procedural features, such as assert, to be made efficient.
David Scott Warren
Theory Pract. Log. Program.1
2016 Learning Prototypical Event Structure from Photo Albums
abstract
Activities and events in our lives are structural, be it a vacation, a camping trip, or a wedding.While individual details vary, there are characteristic patterns that are specific to each of these scenarios.For example, a wedding typically consists of a sequence of events such as walking down the aisle, exchanging vows, and dancing.In this paper, we present a data-driven approach to learning event knowledge from a large collection of photo albums.We formulate the task as constrained optimization to induce the prototypical temporal structure of an event, integrating both visual and textual cues.Comprehensive evaluation demonstrates that it is possible to learn multimodal knowledge of event structure from noisy web content.
Antoine Bosselut, Jianfu Chen, David Scott Warren, Hannaneh Hajishirzi, Yejin Choi 0001
ACL (1)3
2015 Déjà Image-Captions: A Corpus of Expressive Descriptions in Repetition
abstract
Jianfu Chen, Polina Kuznetsova, David Warren, Yejin Choi. Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2015.
Jianfu Chen, Polina Kuznetsova, David Scott Warren, Yejin Choi 0001
HLT-NAACL3
2013 Cost-sensitive learning for large-scale hierarchical classification
abstract
We study hierarchical classification of products in electronic commerce, classifying a text description of a product into one of the leaf classes of a tree-structure taxonomy. In particular, we investigate two essential problems, performance evaluation and learning, in a synergistic way. Unless we know what is the appropriate performance evaluation metric for a task, we are not going to learn a classifier of maximum utility for the task. Given the characteristics of the task of hierarchical product classification, we shed insight into how and why common evaluation metrics such as error rate can be misleading, which is applicable for treating other real world applications. The analysis leads to a new performance evaluation metric that tailors this task to reflect a vendor's business goal of maximizing revenue. The proposed metric has an intuitive meaning as the average revenue loss, which depends on both the value of individual products and the hierarchical distance between the true class and the predicted class. Correspondingly, our learning algorithm uses multi-class SVM with margin re-scaling to optimize the proposed metric, instead of error rate or other common metrics. Margin re-scaling is sensitive to the scaling of loss functions. We propose a loss normalization approach to appropriately calibrating the scaling of loss functions, which is applicable to general classification and structured prediction tasks whenever using structured SVM with margin re-scaling. Experiments on a large dataset show that our approach outperforms standard multi-class SVM in terms of the proposed metric, effectively reducing the average revenue loss.
Jianfu Chen, David Scott Warren
CIKM2
2012 XSB: Extending Prolog with Tabled Logic Programming
abstract
Abstract The paradigm of Tabled Logic Programming (TLP) is now supported by a number of Prolog systems, including XSB, YAP Prolog, B-Prolog, Mercury, ALS, and Ciao. The reasons for this are partly theoretical: tabling ensures termination and optimal known complexity for queries to a large class of programs. However, the overriding reasons are practical. TLP allows sophisticated programs to be written concisely and efficiently, especially when mechanisms such as tabled negation and call and answer subsumption are supported. As a result, TLP has now been used in a variety of applications from program analysis to querying over the semantic web. This paper provides a survey of TLP and its applications as implemented in the XSB Prolog, along with discussion of how XSB supports tabling with dynamically changing code, and in a multi-threaded environment.
Theresa Swift, David Scott Warren
Theory Pract. Log. Program.2
2010 Tabling with Answer Subsumption: Implementation, Applications and Performance
Theresa Swift, David Scott Warren
JELIA2
2010 Swapping evaluation: A memory-scalable solution for answer-on-demand tabling
abstract
Abstract One of the differences among the various approaches to suspension-based tabled evaluation is the scheduling strategy. The two most popular strategies arelocalandbatchedevaluation. The former collects all the solutions to a tabled predicate before making any one of them available outside the tabled computation. The latter returns answers one by one before computing them all, which in principle is better if only one answer (or a subset of the answers) is desired. Batched evaluation is closer to SLD evaluation in that it computes solutions lazily as they are demanded, but it may need arbitrarily more memory than local evaluation, which is able to reclaim memory sooner. Some programs which in practice can be executed under the local strategy quickly run out of memory under batched evaluation. This has led to the general adoption of local evaluation at the expense of the more depth-first batched strategy. In this paper we study the reasons for the high memory consumption of batched evaluation and propose a new scheduling strategy which we have termedswapping evaluation. Swapping evaluation also returns answers one by one before completing a tabled call, but its memory usage can be orders of magnitude less than batched evaluation. An experimental implementation in the XSB system shows that swapping evaluation is a feasible memory-scalable strategy that need not compromise execution speed.
Pablo Chico de Guzmán, Manuel Carro, David Scott Warren
Theory Pract. Log. Program.3
2008 A methodology for in-network evaluation of integrated logical-statistical models
abstract
Synthesizing high-level semantic knowledge from low-level sensor data is an important problem in many sensor network applications. Programming a network to perform such synthesis in situ is especially difficult due to the stringent resource constraints, unreliable wireless communication, and complex distributed algorithms and network protocols required to manipulate the data. Recently, a declarative programming language called Snlog [5] has been developed to address this problem. However, statistical reasoning for modeling noise in the context of sensor networks has not been addressed in Snlog. In this paper, we develop a methodology based on the PRISM [36] framework, which integrates logical and statistical reasoning, for specifying sensor network programs that deal with noisy data and tolerate faults in the network. The relationship between high-level (synthesized) and low-level (observed) data is captured by logical rules, while statistical models are used to specify computations in the presence of noise and faults. We illustrate our methodology with three examples: (i) estimating temperature at various points in a region, (ii) evaluating the trajectory of an object observed by a sensor network, based on the Hidden Markov Model, and (iii) evaluating most reliable communication paths between sensor nodes. We analyze the results of simulations as well as an experimental deployment to evaluate the practical feasibility of our approach.
Anu Singh, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, David Scott Warren, Jennifer Wong-Ma
SenSys4
2008 TCHR: a framework for tabled CLP
abstract
Abstract Tabled Constraint Logic Programming is a powerful execution mechanism for dealing with Constraint Logic Programming without worrying about fixpoint computation. Various applications, e.g. in the fields of program analysis and model checking, have been proposed. Unfortunately, a high-level system for developing new applications is lacking, and programmers are forced to resort to complicated ad hoc solutions. This papers presents TCHR, a high-level framework for tabled Constraint Logic Programming. It integrates in a light-weight manner Constraint Handling Rules (CHR), a high-level language for constraint solvers, with tabled Logic Programming. The framework is easily instantiated with new application-specific constraint domains. Various high-level operations can be instantiated to control performance. In particular, we propose a novel, generalized technique for compacting answer sets.
Tom Schrijvers, Bart Demoen, David Scott Warren
Theory Pract. Log. Program.3
2006 Deductive Spreadsheets Using Tabled Logic Programming
C. R. Ramakrishnan 0001, I. V. Ramakrishnan, David Scott Warren
ICLP3
2004 Constraint Handling Rules and Tabled Execution
Tom Schrijvers, David Scott Warren
ICLP2
2003 Approximate Pruning in Tabled Logic Programming
Luís Fernando Castro, David Scott Warren
ESOP2
2002 Suspending and Resuming Computations in Engines for SLG Evaluation
Luís Fernando Castro, Theresa Swift, David Scott Warren
PADL3
2001 The limits of fixed-order computation
Konstantinos Sagonas, Theresa Swift, David Scott Warren
Theor. Comput. Sci.3
1999 Multiple Terms in a Tabled Logic Programming System
Baoqiu Cui, David Scott Warren
ICLP2
1999 A Case Study in Using Preference Logic Grammars for Knowledge Representations
Baoqiu Cui, Theresa Swift, David Scott Warren
LPNMR3
1999 Fighting Livelock in the i-Protocol: A Comparative Study of Verification Tools
Xiaoqun Du, Y. S. Ramakrishna, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Scott A. Smolka, Oleg Sokolsky, Eugene W. Stark, David Scott Warren
TACAS9
1997 Efficient Model Checking Using Tabled Resolution
Y. S. Ramakrishna, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Scott A. Smolka, Theresa Swift, David Scott Warren
CAV6
1997 Taking I/O Seriously: Resolution Reconsidered for Disk
Juliana Freire, Theresa Swift, David Scott Warren
ICLP3
1997 XSB: A System for Effciently Computing WFS
Prasad Rao, Konstantinos Sagonas, Theresa Swift, David Scott Warren, Juliana Freire
LPNMR4
1996 An Abstract Machine for Fixed-Order Dynamically Stratified Programs
Konstantinos Sagonas, Theresa Swift, David Scott Warren
CADE3
1996 Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study
abstract
Many analysis problems can be cast in the form of evaluating minimal models of a logic program. Although such formulations are appealing due to their simplicity and declarativeness, they have not been widely used in practice because, either existing logic programming systems do not guarantee completeness, or those that do have been viewed as too inefficient for integration into a compiler. The objective of this paper is to re-examine this issue in the context of recent advances in implementation technologies of logic programming systems.We find that such declarative formulations can indeed be used in practical systems, when combined with the appropriate tool for evaluation. We use existing formulations of analysis problems --- groundness analysis of logic programs, and strictness analysis of functional programs --- in this case study, and the XSB system, a table-based logic programming system, as the evaluation tool of choice. We give experimental evidence that the resultant groundness and strictness analysis systems are practical in terms of both time and space. In terms of implementation effort, the analyzers took less than 2 man-weeks (in total), to develop, optimize and evaluate. The analyzer itself consists of about 100 lines of tabled Prolog code and the entire system, including the components to read and preprocess input programs and to collect the analysis results, consists of about 500 lines of code.
Steven Dawson, C. R. Ramakrishnan 0001, David Scott Warren
PLDI3
1996 Tabled Evaluation With Delaying for General Logic Programs
abstract
SLD resolution with negation as finite failure (SLDNF) reflects the procedural interpretation of predicate calculus as a programming language and forms the computational basis for Prolog systems. Despite its advantages for stack-based memory management, SLDNF is often not appropriate for query evaluation for three reasons: (a) it may not terminate due to infinite positive recursion; (b) it may be terminate due to infinite recursion through negation; and (c) it may repeatedly evaluate the same literal in a rule body, leading to unacceptable performance. We address all three problems for goal-oriented query evaluation of general logic programs by presenting tabled evaluation with delaying, called SLG resolution. It has three distinctive features: (i) SLG resolution is a partial deduction procedure, consisting of seven fundamental transformations. A query is transformed step by step into a set of answers. The use of transformations separates logical issues of query evaluation from procedural ones. SLG allows an arbitrary computation rule for selecting a literal from a rule body and an arbitrary control strategy for selecting transformations to apply. (ii) SLG resolution is sound and search space complete with respect to the well-founded partial model for all non-floundering queries, and preserves all three-valued stable models. To evaluate a query under differenc three-valued stable models, SLG resolution can be enhanced by further processing of the answers of subgoals relevant to a query. (iii) SLG resolution avoids both positive and negative loops and always terminates for programs with the bounded-term-size property. It has a polynomial time data complexity for well-founded negation of function-free programs. Through a delaying mechanism for handling ground negative literals involved in loops, SLG resolution avoids the repetition of any of its derivation steps. Restricted forms of SLG resolution are identified for definite, locally stratified, and modularly stratified programs, shedding light on the role each transformation plays.
Weidong Chen 0005, David Scott Warren
J. ACM2
1996 Computation of Stable Models and Its Integration with Logical Query Processing
abstract
The well-founded semantics and the stable model semantics capture intuitions of the skeptical and credulous semantics in nonmonotonic reasoning, respectively. They represent the two dominant proposals for the declarative semantics of deductive databases and logic programs. However, neither semantics seems to be suitable for all applications. We have developed an efficient implementation of goal-oriented effective query evaluation under the well-founded semantics. It produces a residual program for subgoals that are relevant to a query, which contains facts for true instances and clauses with body literals for undefined instances. We present a simple method of stable model computation that can be applied to the residual program of a query to derive answers with respect to stable models. The method incorporates both forward and backward chaining to propagate the assumed truth values of ground atoms, and derives multiple stable models through backtracking. Users are able to request that only stable models satisfying certain conditions be computed. A prototype has been developed that provides integrated query evaluation under the well-founded semantics, the stable models, and ordinary Prolog execution. We describe the user interface of the prototype and present some experimental results.
Weidong Chen 0005, David Scott Warren
IEEE Trans. Knowl. Data Eng.2
1995 Efficient Tabling Mechanisms for Logic Programs
I. V. Ramakrishnan, Prasad Rao, Konstantinos Sagonas, Theresa Swift, David Scott Warren
ICLP5
1995 Efficient Execution of HiLog in WAM-based Prolog Implementations
Konstantinos Sagonas, David Scott Warren
ICLP2
1995 Unification Factoring for Efficient Execution of Logic Programs
abstract
The efficiency of resolution-based logic programming languages, such as Prolog, depends critically on selecting and executing sets of applicable clause heads to resolve against subgoals. Traditional approaches to this problem have focused on using indexing to determine the smallest possible applicable set. Despite their usefulness, these approaches ignore the non-determinism inherent in many programming languages to the extent that they do not attempt to optimize execution after the applicable set theory has been determined.
Steven Dawson, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Konstantinos Sagonas, Steven Skiena, Theresa Swift, David Scott Warren
POPL7
1994 XSB as an Efficient Deductive Database Engine
abstract
This paper describes the XSB system, and its use as an in-memory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottom-up extension, introduced through tabling (or memoing)[4], which makes it appropriate as an underlying query engine for deductive database systems. Because it eliminates redundant computation, the tabling extension makes XSB able to compute all modularly stratified datalog programs finitely and with polynomial data complexity. For non-stratified programs, a meta-interpreter with the same properties is provided. In addition XSB significantly extends and improves the indexing capabilities over those of standard Prolog. Finally, its syntactic basis in HiLog [2], lends it flexibility for data modelling.
Konstantinos Sagonas, Theresa Swift, David Scott Warren
SIGMOD Conference3
1994 XSB as a Deductive Database
abstract
No abstract available.
Konstantinos Sagonas, Theresa Swift, David Scott Warren
SIGMOD Conference3
1993 Query Evaluation under the Well Founded Semantics
abstract
SLD resolution with negation as finite failure (or SLDNF) reflects the procedural interpretation of Horn-clause predicate logic as a programming language and forms the computational basis for prolog systems. Despite its advantages in memory management, SLDNF is often not appropriate for query evaluation for three reasons; a) it may not terminate due to infinite positive recursion; b) it may not terminate due to infinite recursion through negation; and c) it may repeatedly evaluate the same clause body literal, leading to unacceptable performance.
Weidong Chen 0005, David Scott Warren
PODS2
1991 An Intensional Logic of (Multi-Arity) Set Abstractions
Weidong Chen 0005, David Scott Warren
ICLP2
1990 Automata-Driven Indexing of Prolog Clauses
abstract
Indexing Prolog clauses is an important optimization step that reduces the number of clauses on which unification will be performed and can avoid the pushing of a choice point. It is quite desirable to increase the number of functors used in indexing as this can considerably reduce the size of the filtered set. However this can cause an enormous increase in running time if indexing is done naively. This paper describes a new technique for indexing that utilizes all the functors in a clause-head. More importantly, in spite of using all the functors, this technique is still able to quickly select relevant clause-heads at run time. This is made possible primarily by a finite-state automaton that guides the indexing process. The automaton is constructed at compile time by preprocessing all the clause-heads.
R. Ramesh 0001, I. V. Ramakrishnan, David Scott Warren
POPL3
1990 Towards Banishing the Cut from Prolog
abstract
Logic programs can often be inefficient. The usual solution to this problem has been to return some control to the user in the form of impure language features like cut. The authors argue that it is not necessary to resort to such impure features for efficiency. This point is illustrated by considering how most of the common uses of cut can be eliminated from Prolog source programs, relying on static analysis to generate them at compile time. Three common situations where the cut is used are considered. Static analysis techniques are given to detect such situations, and applicable program transformations are described. Two language constructs, firstof and oneof, for situations involving don't-care nondeterminism, are suggested. These constructs have better declarative readings than the cut and extend better to parallel evaluation strategies. Together, these proposals result in a system where users need rely much less on cuts for efficiency, thereby promoting a purer programming style without sacrificing efficiency.>
Saumya K. Debray, David Scott Warren
IEEE Trans. Software Eng.2
1989 On the Declarative Semantics of Inheritance Networks
Krishnaprasad Thirunarayan, Michael Kifer, David Scott Warren
IJCAI3
1989 C-Logic of Complex Objects
abstract
Our objective is to have a logical framework for natural representation and manipulation of complex objects. We start with an analysis of semantic modeling of complex objects, and attempt to understand what are the fundamental aspects which need to be captured. A logic, called C-logic, is then presented which provides direct support for what we believe to be basic features of complex objects, including object identity, multi-valued labels and a dynamic notion of types. C-logic has a simple first-order semantics, but it also allows natural specification of complex objects and gives us a framework for exploring efficient logic deduction over complex objects.
Weidong Chen 0005, David Scott Warren
PODS2
1989 Functional Computations in Logic Programs
abstract
Although the ability to simulate nondeterminism and to compute multiple solutions for a single query is a powerful and attractive feature of logic programming languages, it is expensive in both time and space. Since programs in such languages are very often functional, that is, they do not produce more than one distinct solution for a single input, this overhead is especially undesirable. This paper describes how programs may be analyzed statically to determine which literals and predicates are functional, and how the program may then be optimized using this information. Our notion of “functionality” subsumes the notion of “determinacy” that has been considered by various researchers. Our algorithm is less reliant on language features such as the cut, and thus extends more easily to parallel execution strategies, than others that have been proposed.
Saumya K. Debray, David Scott Warren
ACM Trans. Program. Lang. Syst.2
1987 PIQUE: a relational query language without relations
David Maier 0001, David Rozenshtein, Sharon C. Salveter, Jacob Stein, David Scott Warren
Inf. Syst.5
1986 Detection and Optimization of Functional Computations in Prolog
David Scott Warren, Saumya K. Debray
ICLP1
1984 A Class of Architectures for a Prolog Machine
Laxmikant V. Kalé, David Scott Warren
ICLP2
1983 Using X-Calculus to Represent Meanings in Logic Grammars
abstract
This paper describes how meanings are represented in a semantic grammar for a fragment of English in the logic programming language Prolog. The conventions of Definite Clause Grammars are used. Previous work on DCGs with a semantic component has used essentially first-order formulas for representing meanings. The system described here uses formulas of the typed λ-calculus. The first section discusses general issues concerning the use of first-order logic or the λ-calculus to represent meanings. The second section describes how λ-calculus meaning representations can be constructed and manipulated directly in Prolog. This 'programmed' representation motivates a suggestion, discussed in the third section, for an extension to Prolog so that the language itself would include a mechanism for handling the λ-formulas directly.
David Scott Warren
ACL1
1983 Windows on the World
abstract
We discuss the philosophy, history and theory of window functions. Window functions (sometimes called connections) are a means to treat a relational database as a semantic whole, rather than as an arbitrary collection of relations. Simply stated, a window function maps a database state and a relation scheme to a relation over the scheme. Window functions are the basis for all existing universal scheme interfaces. We present an assumption inherent in universal scheme interfaces, the unique role assumption.Window functions have evolved along two paths, giving rise to computational definitions and weak instance definitions. We examine several examples of each type of window function, with special attention to the association-object window function of PIQUE. We then look at properties we feel a reasonable window function should satisfy, notably the containment condition and faithfulness. We also define implicit objects, which are relation schemes that a window function treats in a special manner, and which are useful for describing the behavior of window functions.
David Maier 0001, David Rozenshtein, David Scott Warren
SIGMOD Conference3
1983 Formal Semantics for Time in Databases
abstract
The concept of a historical database is introduced as a tool for modeling the dynamic nature of some part of the real world. Just as first-order logic has been shown to be a useful formalism for expressing and understanding the underlying semantics of the relational database model, intensional logic is presented as an analogous formalism for expressing and understanding the temporal semantics involved in a historical database. The various components of the relational model, as extended to include historical relations, are discussed in terms of the model theory for the logic IL s , a variation of the logic IL formulated by Richard Montague. The modal concepts of intensional and extensional data constraints and queries are introduced and contrasted. Finally, the potential application of these ideas to the problem of natural language database querying is discussed.
James Clifford, David Scott Warren
ACM Trans. Database Syst.2
1982 Conceptual Dependency and Montague Grammar: A Step Toward Conciliation
Mark A. Jones, David Scott Warren
AAAI2
1982 Toward Logical Data Independence: A Relational Query Language Without Relations
abstract
One of the main goals of database systems, relational systems in particular, is to provide a degree of physical data independence for users and programs. Users should not need to know the exact physical storage structures to use the database, and should be protected from changes in those structures. We attempt to go a step further, to logical data independence. We want an interface to a relational database where a user need not be concerned with how the data has been partitioned into various relations. The natural relation schemes to be used, from a semantic point of view, may be decomposed in the database for normalization or redundancy reasons. Our approach essentially loads all the semantics onto the attributes. In our query language tuple variables are not bound to specific relations. Rather, the system uses the set of attributes, say X, that appear in a query with a tuple variable, say t, to combine the database relations to form a single relation with scheme X over which t ranges. We describe our method for constructing such a relation given the associated set of attributes X. When tuple variables are bound implicitly, the logical connectives 'and', 'or', and 'not' take on 'semantic overtones' since they can affect the binding. We discuss the motivation behind the chosen semantics for these connectives. Our goal is a powerful, yet concise, query language with natural semantics.
David Maier 0001, David Rozenshtein, Sharon C. Salveter, Jacob Stein, David Scott Warren
SIGMOD Conference5
1982 Specifying Connections for a Universal Relation Scheme Database
abstract
We propose a universal relation scheme database model based on the assumption that there is a unique connection among any set of attributes in a relational database. We use the notion of object ([Sc],[MU]) to give a database designer the ability to control how connections in the database are to be made. We show how semantic considerations that follow naturally from the unique connection assumption constrain how objects and the underlying base relations must be syntactically related. We illustrate and motivate our definitions and constraints with several simple examples.
David Maier 0001, David Scott Warren
SIGMOD Conference2
1982 Using Semantics in Non-Context-Free Parsing of Montague Grammar
David Scott Warren, Joyce Friedman
Am. J. Comput. Linguistics1
1981 Incorporating Computed Relations in Relational Databases
David Maier 0001, David Scott Warren
SIGMOD Conference2