Grammar-like functional rules for representing query optimization alternatives
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
On the declarative semantics of deductive databases and logic programs
Foundations of deductive databases and logic programming
A syntactic stratification condition using constraints
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Database metatheory: asking the big queries
ACM SIGACT News
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
Readings in database systems (3rd ed.)
Readings in database systems (3rd ed.)
An algorithm for ordering subgoals in NAIL?
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
WSQ/DSQ: a practical approach for combined querying of databases and the Web
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Dataflow query execution in a parallel main-memory environment
PDIS '91 Proceedings of the first international conference on Parallel and distributed information systems
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
What next?: A dozen information-technology research goals
Journal of the ACM (JACM)
Getting computers to understand
Journal of the ACM (JACM)
An Operational Semantics of Starlog
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Query Optimization in the Presence of Foreign Functions
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Coloring Away Communication in Parallel Query Optimization
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
On Active Deductive Databases: The Statelog Approach
ILPS '97 International Seminar on Logic Databases and the Meaning of Change, Transactions and Change in Logic Databases
ACM Transactions on Computer Systems (TOCS)
The complexity of relational query languages (Extended Abstract)
STOC '82 Proceedings of the fourteenth annual ACM symposium on Theory of computing
TAG: a Tiny AGgregation service for ad-hoc sensor networks
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
SD3: A Trust Management System with Certified Evaluation
SP '01 Proceedings of the 2001 IEEE Symposium on Security and Privacy
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Toward network data independence
ACM SIGMOD Record
A compositional logic for proving security properties of protocols
Journal of Computer Security - Special issue on CSFW14
A Note on Distributed Computing
A Note on Distributed Computing
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Jedd: a BDD-based relational extension of Java
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Diagnosis of asynchronous discrete event systems: datalog to the rescue!
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Declarative routing: extensible routing with declarative queries
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
CodeQuest: querying source code with datalog
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Implementing declarative overlays
Proceedings of the twentieth ACM symposium on Operating systems principles
Declarative networking: language, execution and optimization
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
A Conversation with Jordan Cohen
Queue - HCI
Dyna: a declarative language for implementing dynamic programs
ACLdemo '04 Proceedings of the ACL 2004 on Interactive poster and demonstration sessions
Symphony: distributed hashing in a small world
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
The design and implementation of declarative networks
The design and implementation of declarative networks
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Confessions of a used programming language salesman
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Enhancing P2P file-sharing with an internet-scale query processor
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
The design and implementation of a declarative sensor network system
Proceedings of the 5th international conference on Embedded networked sensor systems
STAR: self-tuning aggregation for scalable monitoring
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Synopsis diffusion for robust aggregation in sensor networks
ACM Transactions on Sensor Networks (TOSN)
Declarative processing for computer games
Sandbox '08 Proceedings of the 2008 ACM SIGGRAPH symposium on Video games
Evita raced: metacompilation for declarative networks
Proceedings of the VLDB Endowment
Reactors: A data-oriented synchronous/asynchronous programming model for distributed applications
Theoretical Computer Science
Operational Semantics for Declarative Networking
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Unified Declarative Platform for Secure Netwoked Information Systems
ICDE '09 Proceedings of the 2009 IEEE International Conference on Data Engineering
Toward a cloud computing research agenda
ACM SIGACT News
Communications of the ACM - Scratch Programming for All
Automating rendezvous and proxy selection in sensornets
IPSN '09 Proceedings of the 2009 International Conference on Information Processing in Sensor Networks
The generalized A* architecture
Journal of Artificial Intelligence Research
On-the-fly progress detection in iterative stream queries
Proceedings of the VLDB Endowment
On the declarativity of declarative networking
ACM SIGOPS Operating Systems Review
I do declare: consensus in a logic language
ACM SIGOPS Operating Systems Review
Optimizing joins in a map-reduce environment
Proceedings of the 13th International Conference on Extending Database Technology
Datalog redux: experience and conjecture
Proceedings of the twenty-ninth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Building and optimizing declarative networked systems
Building and optimizing declarative networked systems
A model of computation for MapReduce
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
Querying probabilistic information extraction
Proceedings of the VLDB Endowment
Parallel evaluation of conjunctive queries
Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A rule-based language for web data management
Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Relational transducers for declarative networking
Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Database foundations for scalable RDF processing
RW'11 Proceedings of the 7th international conference on Reasoning web: semantic technologies for the web of data
RW'11 Proceedings of the 7th international conference on Reasoning web: semantic technologies for the web of data
Cluster computing, recursion and datalog
Datalog'10 Proceedings of the First international conference on Datalog Reloaded
Datalog'10 Proceedings of the First international conference on Datalog Reloaded
Recent advances in declarative networking
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Deciding eventual consistency for a simple class of relational transducer networks
Proceedings of the 15th International Conference on Database Theory
Win-move is coordination-free (sometimes)
Proceedings of the 15th International Conference on Database Theory
Proceedings of the 15th International Conference on Database Theory
BloomUnit: declarative testing for distributed programs
DBTest '12 Proceedings of the Fifth International Workshop on Testing Database Systems
CyLog/Crowd4U: a declarative platform for complex data-centric crowdsourcing
Proceedings of the VLDB Endowment
Logic and lattices for distributed programming
Proceedings of the Third ACM Symposium on Cloud Computing
Distributed programming and consistency: principles and practice
Proceedings of the Third ACM Symposium on Cloud Computing
Datalog 2.0'12 Proceedings of the Second international conference on Datalog in Academia and Industry
Reasoning about knowledge in distributed systems using datalog
Datalog 2.0'12 Proceedings of the Second international conference on Datalog in Academia and Industry
Confluence analysis for distributed programs: a model-theoretic approach
Datalog 2.0'12 Proceedings of the Second international conference on Datalog in Academia and Industry
Knowlog: a declarative language for reasoning about knowledge in distributed systems
ER'12 Proceedings of the 31st international conference on Conceptual Modeling
Relational transducers for declarative networking
Journal of the ACM (JACM)
Collaborative data-driven workflows: think global, act local
Proceedings of the 32nd symposium on Principles of database systems
Rule-based application development using Webdamlog
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Foundations of data-aware process analysis: a database theory perspective
Proceedings of the 32nd symposium on Principles of database systems
Proceedings of the 4th annual Symposium on Cloud Computing
BNCOD'13 Proceedings of the 29th British National conference on Big Data
Making queries tractable on big data with preprocessing: through the eyes of complexity theory
Proceedings of the VLDB Endowment
Hi-index | 0.00 |
The rise of multicore processors and cloud computing is putting enormous pressure on the software community to find solutions to the difficulty of parallel and distributed programming. At the same time, there is more--and more varied--interest in data-centric programming languages than at any time in computing history, in part because these languages parallelize naturally. This juxtaposition raises the possibility that the theory of declarative database query languages can provide a foundation for the next generation of parallel and distributed programming languages. In this paper I reflect on my group's experience over seven years using Datalog extensions to build networking protocols and distributed systems. Based on that experience, I present a number of theoretical conjectures that may both interest the database community, and clarify important practical issues in distributed computing. Most importantly, I make a case for database researchers to take a leadership role in addressing the impending programming crisis. This is an extended version of an invited lecture at the ACM PODS 2010 conference [32].