|
Go back to
Tutorials Home |
T2: JMangler: On-the-Fly Transformation of
Java Class Files |
Presenters: - Günter
Kniesel, University of Bonn - Michael Austermann,
SCOOP Software GmbH
Date: Monday, March 17,
morning (half day)
Level:
Intermediate
Attendees should have a good understanding
of object-orientation in general and Java in particular. Prior
experience with AOSD is not required. Participants are invited
to bring their own laptop computers for hands-on examples, but
a laptop is not required for
attendance.
Abstract:
JMangler is a
freely available framework for load-time transformation of
compiled Java programs. The transformation of byte code is a
core technology that can be used for a variety of purposes,
including the implementation of new AOSD languages and tools.
This tutorial will provide attendees with a thorough
understanding of JMangler and Java byte code transformation,
from an AOSD perspective.
Unlike simple byte code
transformation libraries, JMangler provides a complete
solution for hooking into the class loading process. It does
so in a JVM and class loader independent way, which works also
for classes that employ their own custom class loaders.
Therefore, JMangler can transform any application classes and
can be used in environments such as application servers, which
make heavy use of custom class loaders.
Since JMangler
uses no source code, it can be applied even to third-party
libraries. Since it works at load time, it provides the
guarantee that transformations will be applied to every class
that will be executed at run-time, even if the class is
created dynamically or loaded from some possibly remote
host.
For programmers, we will provide guidance and
hands-on experience in writing, composing, and applying their
own transformer components. For AOSD language and tool
developers, we will show how to use JMangler's capabilities for
load-time aspect weaving and for injecting hooks that enable
run-time weaving. For managers, our aim is to convey an
understanding of the potential of load-time byte code
transformation. The tutorial will conclude with a
demonstration of CC4J, a powerful code coverage tool developed
with JMangler. CC4J is an application that transforms programs
in a way that is beyond the scope of all high-level AOSD
languages and systems that we know
of.
Biographies:
Günter Kniesel is
currently a lecturer at the Computer Science Department of the
University of Bonn. His research focuses on unanticipated
software evolution in the domain of object-oriented
programming languages and component technologies. He
co-supervised the initial development of JMangler and is
leading different follow-up projects on related topics. Günter
has more than ten years of experience in teaching software
engineering and object-oriented techniques, both as a
university lecturer and as a consultant providing training to
industrial partners. He holds a Diploma in Computer Science
from the University of Dortmund and a Ph.D. in Computer
Science from the University of Bonn.
Michael Austermann
developed the JMangler framework as part of his diploma thesis
in Günter Kniesel's research group at the University of Bonn.
Since the completion of his degree, Michael has been a
consultant at SCOOP Software GmbH, Cologne. There he has
continued evolving JMangler and has led work on CC4J, a
powerful code coverage application developed using JMangler.
For the past two years, Michael has provided extensive
hands-on training and consulting to SCOOP's clients and
partners who use JMangler and CC4J on a regular
basis.
|
Contact |
For additional information,
clarifications, questions, or special requirements, please
contact the AOSD 2003 Tutorial Chair: Eric Eide
(tutorials@aosd.net). |
| |
|