The EXODUS optimizer generator
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Grammar-like functional rules for representing query optimization alternatives
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Extensible/rule based query rewrite optimization in Starburst
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Iterators, schedulers, and distributed-memory parallelism
Software—Practice & Experience
Efficient mid-query re-optimization of sub-optimal query execution plans
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
Eddies: continuously adaptive query processing
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
ACM Transactions on Computer Systems (TOCS)
Principles of Database and Knowledge-Base Systems: Volume II: The New Technologies
Principles of Database and Knowledge-Base Systems: Volume II: The New Technologies
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
DATALOG with Constraints: A Foundation for Trust Management Languages
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Exploiting Upper and Lower Bounds In Top-Down Query Optimization
IDEAS '01 Proceedings of the International Database Engineering & Applications Symposium
The Volcano Optimizer Generator: Extensibility and Efficient Search
Proceedings of the Ninth International Conference on Data Engineering
Toward network data independence
ACM SIGMOD Record
Context-sensitive program analysis as database queries
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
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
Using queries for distributed monitoring and forensics
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Compiling Comp Ling: practical weighted dynamic programming and the Dyna language
HLT '05 Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing
Scaling games to epic proportions
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
The design and implementation of declarative networks
The design and implementation of declarative networks
Zyzzyva: speculative byzantine fault tolerance
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
The design and implementation of a declarative sensor network system
Proceedings of the 5th international conference on Embedded networked sensor systems
Declarative information extraction using datalog with embedded extraction predicates
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Experiences with open overlays: a middleware approach to network heterogeneity
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Towards a declarative language and system for secure networking
NETB'07 Proceedings of the 3rd USENIX international workshop on Networking meets databases
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Optimizing declarative sensornets
Proceedings of the 6th ACM conference on Embedded network sensor systems
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Parallelizing extensible query optimizers
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Cardinality Abstraction for Declarative Networking Applications
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Communications of the ACM - Scratch Programming for All
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
Boom analytics: exploring data-centric, declarative programming for the cloud
Proceedings of the 5th European conference on Computer systems
SecureBlox: customizable secure distributed data processing
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Towards a data-centric view of cloud security
CloudDB '10 Proceedings of the second international workshop on Cloud data management
Efficient optimization and processing for distributed monitoring and control applications
PhD '12 Proceedings of the on SIGMOD/PODS 2012 PhD Symposium
UBIQUEST, for rapid prototyping of networking applications
Proceedings of the 16th International Database Engineering & Applications Sysmposium
The family of mapreduce and large-scale data processing systems
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Declarative languages have recently been proposed for many new applications outside of traditional data management. Since these are relatively early research efforts, it is important that the architectures of these declarative systems be extensible, in order to accommodate unforeseen needs in these new domains. In this paper, we apply the lessons of declarative systems to the internals of a declarative engine. Specifically, we describe our design and implementation of Evita Raced, an extensible compiler for the OverLog language used in our declarative networking system, P2. Evita Raced is a metacompiler: an OverLog compiler written in OverLog. We describe the minimalist architecture of Evita Raced, including its extensibility interfaces and its reuse of P2's data model and runtime engine. We demonstrate that a declarative language like OverLog is well-suited to expressing traditional and novel query optimizations as well as other query manipulations, in a compact and natural fashion. Finally, we present initial results of Evita Raced extended with various optimization programs, running on both Internet overlay networks and wireless sensor networks.