{"@context":"http://iiif.io/api/presentation/2/context.json","@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/manifest.json","@type":"sc:Manifest","label":"Demand-Driven Incremental Computation of Object Queries","metadata":[{"label":"dc.description.sponsorship","value":"This work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree."},{"label":"dc.format","value":"Monograph"},{"label":"dc.format.medium","value":"Electronic Resource"},{"label":"dc.identifier.uri","value":"http://hdl.handle.net/11401/78238"},{"label":"dc.language.iso","value":"en_US"},{"label":"dcterms.abstract","value":"Object queries are a powerful construct for writing clear and concise high-level code, but are difficult to implement efficiently. A programmer who is not satisfied with the performance of a straightforward implementation may craft an ad hoc low-level solution. However, this forfeits the productivity benefits that declarative queries bring. We present a novel static transformation for generating demand-driven incremental implementations of object queries. The queries may involve objects and sets that are arbitrarily nested, and may also use aggregate operators and nested queries. All possible updates are handled, even in the presence of aliasing, without requiring sophisticated runtime support. The method defines invariants for the query result and auxiliary values, and provides precise asymptotic bounds for running time and space usage. Different high-level choices in the selection of the demand strategy and join orders lead to different invariants and different time and space tradeoffs. Previous methods do not handle such expressive queries while obtaining precise cost bounds for the generated code. We demonstrate IncOQ, a prototype implementation of our method, and verify that the transformed programs conform to their predicted costs. We compare our method both analytically and experimentally with prior work and alternative approaches, and justify our formulation of demand. Finally, we show successful applications to queries from a variety of problem domains including distributed algorithms, access control, and approximate probabilistic inference."},{"label":"dcterms.available","value":"2018-06-21T13:38:40Z"},{"label":"dcterms.contributor","value":"Stoller, Scott"},{"label":"dcterms.creator","value":"Brandvein, Jonathan Glenn"},{"label":"dcterms.dateAccepted","value":"2018-06-21T13:38:40Z"},{"label":"dcterms.dateSubmitted","value":"2018-06-21T13:38:40Z"},{"label":"dcterms.description","value":"Department of Computer Science"},{"label":"dcterms.extent","value":"183 pg."},{"label":"dcterms.format","value":"Application/PDF"},{"label":"dcterms.identifier","value":"http://hdl.handle.net/11401/78238"},{"label":"dcterms.issued","value":"2016-05-01"},{"label":"dcterms.language","value":"en_US"},{"label":"dcterms.provenance","value":"Made available in DSpace on 2018-06-21T13:38:40Z (GMT). No. of bitstreams: 1\nBrandvein_grad.sunysb_0771E_12880.pdf: 1465874 bytes, checksum: 13f359d8c129c47fe3a379bd949e46bb (MD5)\n Previous issue date: 5"},{"label":"dcterms.subject","value":"Computer science"},{"label":"dcterms.title","value":"Demand-Driven Incremental Computation of Object Queries"},{"label":"dcterms.type","value":"Dissertation"},{"label":"dc.type","value":"Dissertation"}],"description":"This manifest was generated dynamically","viewingDirection":"left-to-right","sequences":[{"@type":"sc:Sequence","canvases":[{"@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/canvas/page-1.json","@type":"sc:Canvas","label":"Page 1","height":1650,"width":1275,"images":[{"@type":"oa:Annotation","motivation":"sc:painting","resource":{"@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/11%2F20%2F93%2F112093234027824556179644899076010878730/full/full/0/default.jpg","@type":"dctypes:Image","format":"image/jpeg","height":1650,"width":1275,"service":{"@context":"http://iiif.io/api/image/2/context.json","@id":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/11%2F20%2F93%2F112093234027824556179644899076010878730","profile":"http://iiif.io/api/image/2/level2.json"}},"on":"https://repo.library.stonybrook.edu/cantaloupe/iiif/2/canvas/page-1.json"}]}]}]}