Applications of enhanced dynamic code evolution for Java in GUI development and dynamic aspect-oriented programming

  • Thomas Würthinger
  • , Walter Binder
  • , Danilo Ansaloni
  • , Philippe Moret

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

While dynamic code evolution in object-oriented systems is an important feature supported by dynamic languages, there is currently only limited support for dynamic code evolution in high-performance, state-of-the-art runtime systems for statically typed languages, such as the Java Virtual Machine. In this tool demonstration, we present the Dynamic Code Evolution VM, which is based on a recent version of Oracle's state-of-the-art Java HotSpot(TM) VM and allows unlimited changes to loaded classes at runtime. Based on the Dynamic Code Evolution VM, we developed an enhanced version of the Mantisse GUI builder (which is part of the NetBeans IDE) that allows adding GUI components without restarting the application under development. Furthermore, we redesigned the dynamic AOP framework HotWave to take advantage of the enhanced dynamic code evolution capabilities. The new version, HotWave2, now supports most AspectJ constructs, including around() advice and static cross-cutting. We will demonstrate both the enhanced Mantisse GUI builder as well as HotWave2, weaving several aspects for dynamic analysis in sizable applications at runtime.
Original languageEnglish
Title of host publicationGPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
PublisherACM New York, NY, USA ©2010
Pages123-126
Number of pages4
ISBN (Print)978-1-4503-0154-1
DOIs
Publication statusPublished - 2010

Fields of science

  • 102 Computer Sciences

JKU Focus areas

  • Computation in Informatics and Mathematics

Cite this