Skip to main navigation Skip to search Skip to main content

Incrementalization across object abstraction

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

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 straight-forwardly in an object-oriented language; then analyzes the queries and updates, across object abstraction, in the straight-forward 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.

Original languageEnglish
Pages (from-to)473-486
Number of pages14
JournalSIGPLAN Notices (ACM Special Interest Group on Programming Languages)
Volume40
Issue number10
DOIs
StatePublished - 2005

Keywords

  • Abstraction
  • Design
  • Incrementalization
  • Invariants
  • Object-oriented
  • Program analysis
  • Program optimization
  • Program transformation

Fingerprint

Dive into the research topics of 'Incrementalization across object abstraction'. Together they form a unique fingerprint.

Cite this