TY - GEN
T1 - Demand-driven incremental object queries
AU - Liu, Yanhong A.
AU - Brandvein, Jon
AU - Stoller, Scott D.
AU - Lin, Bo
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/9/5
Y1 - 2016/9/5
N2 - Object queries are essential in information seeking and decision making in vast areas of applications. However, a query may involve complex conditions on objects and sets, which can be arbitrarily nested and aliased. The objects and sets involved as well as the demand - the given parameter values of interest - can change arbitrarily. How to implement object queries efficiently under all possible updates, and furthermore to provide complexity guarantees? This paper describes an automatic method. The method allows powerful queries to be written completely declaratively. It transforms demand as well as all objects and sets into relations. Most importantly, it defines invariants for not only the query results, but also all auxiliary values about the objects and sets involved, including those for propagating demand, and incrementally maintains all of them. Implementation and experiments with problems from a variety of application areas, including distributed algorithms and probabilistic queries, confirm the analyzed complexities, trade-offs, and significant improvements over prior work.
AB - Object queries are essential in information seeking and decision making in vast areas of applications. However, a query may involve complex conditions on objects and sets, which can be arbitrarily nested and aliased. The objects and sets involved as well as the demand - the given parameter values of interest - can change arbitrarily. How to implement object queries efficiently under all possible updates, and furthermore to provide complexity guarantees? This paper describes an automatic method. The method allows powerful queries to be written completely declaratively. It transforms demand as well as all objects and sets into relations. Most importantly, it defines invariants for not only the query results, but also all auxiliary values about the objects and sets involved, including those for propagating demand, and incrementally maintains all of them. Implementation and experiments with problems from a variety of application areas, including distributed algorithms and probabilistic queries, confirm the analyzed complexities, trade-offs, and significant improvements over prior work.
KW - Complexity guarantees
KW - Demand-driven incremental computation
KW - Object queries
KW - Program transformation
UR - https://www.scopus.com/pages/publications/84991071396
U2 - 10.1145/2967973.2968610
DO - 10.1145/2967973.2968610
M3 - Conference contribution
AN - SCOPUS:84991071396
T3 - Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming, PPDP 2016
SP - 228
EP - 241
BT - Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming, PPDP 2016
PB - Association for Computing Machinery, Inc
T2 - 18th International Symposium on Principles and Practice of Declarative Programming, PPDP 2016
Y2 - 5 September 2016 through 7 September 2016
ER -