Are patches cutting it?: structuring distribution within a JVM using aspects

  • Authors:
  • Jennifer Baldwin;Yvonne Coady

  • Affiliations:
  • Department of Computer Science, University of Victoria;Department of Computer Science, University of Victoria

  • Venue:
  • CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distribution is hard to modularize. Consequently, its addition to a software system can jeopardize fundamental software engineering principles such as maintainability, understandability and evolvability. The distributed Java Virtual Machine (dJVM) is a cluster aware implementation of a JVM, designed specifically for evaluating distributed runtime support algorithms [1]. A prototype implementation of the dJVM relies on a patch file applied to IBM's Jikes Research Virtual Machine (RVM) [6], introducing distribution code into roughly 55% of the original 1500 files.An initial experiment using AspectJ [7] to introduce this same distribution code as aspects demonstrates the benefits of a modularized approach versus the original patched approach. Preliminary results show that aspects can improve the overall quality of the implementation from a software engineering perspective. Specifically, the aspects improved the internal structure of distribution code and made its external interaction explicit. Additionally, consolidating and structuring previously scattered code reduced its size by a factor of three.