Incrementalization Across Object Abstraction
San Diego Room
Thursday, 14:00, 30 minutes
Annie Liu, SUNY Stony Brook
Scott Stoller, SUNY Stony Brook
Michael Gorbovitski, SUNY Stony Brook
Tom Rothamel, SUNY Stony Brook
Yanni Liu, U of Manitoba
Object abstraction supports the separation of what operations are provided by systems and components from how the operations are implemented, and is essential in enabling the construction of complex systems from components. Unfortunately, clear and modular implementations have poor performance when expensive query operations are repeated, while efficient implementations that incrementally maintain these query results are much more difficult to develop and to understand, because the code blows up significantly and is no longer clear or modular.
This paper describes a powerful and systematic method that first allows the "what" of each component to be specified in a clear and modular fashion and implemented straightforwardly in an object-oriented language; then analyzes the queries and updates, across object abstraction, in the straightforward implementation; and finally derives the sophisticated and efficient "how" of each component by incrementally maintaining the results of repeated expensive queries with respect to updates to their parameters. Our implementation and experimental results for example applications in query optimization, role-based access control, etc. demonstrate the effectiveness and benefit of the method.