Optimization of visitor performance by reflection-based analysis

  • Authors:
  • Markus Lepper;Baltasar Trancón y Widemann

  • Affiliations:
  • Semantics GmbH, Berlin;Universität Bayreuth

  • Venue:
  • ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Visitors are a well-known and powerful design pattern for processing regular data structures and for combining declarative and imperative coding styles. The authors' umod model generator creates Java data models from a concise and algebraic notation. It is primarily used to model intermediate representations of computer languages. The user defines visitor code by extending skeleton classes, which are generated according to traversal annotations in the model. Since the generated code on its own executes the pure traversal and no semantic side-effects, traversals are redundant unless some user-overridden method is eventually invoked. We present a reflection-based control flow analysis to detect this situation and prune the traversal transparently. With a well-stratified model, this may lead to substantial increase in performance.