||Virtual Machines for Aspect-Oriented Systems
||Probst, Christian W. (Language-Based Technology, Institut for Informatik og Matematisk Modellering, Danmarks Tekniske Universitet, DTU, DK-2800 Kgs. Lyngby, Denmark)
||Technical University of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark
||Aspect Oriented Programming is a programming paradigm that allows separating frequently used functionalities (concerns) from the application logic, defacto enhancing the modularization of the code. Aspects are generally woven
into the code at compilation time and thereafter left untouched. If an aspect is
modified, a re-compilation is required in order to propagate the change into the
code. In a scenario where aspects are used to dynamically change the behavior
of an application according to environmental conditions, this is a relevant limitation.
In recent years, virtual-machines-based solutions for the dynamic weaving of
aspects have started to gain popularity [1, 2, 3].
This thesis presents the design and implementation of the AspectK virtual machine, a virtual machine that supports the dynamic weaving and unweaving of
aspects while a program is in execution. AspectK  is a coordination language
that natively supports the Aspect-Oriented Programming paradigm.
The dynamic weaving of aspects in the code is performed by a special component of the virtual machine, the weaver. The weaver supports three different
strategies for weaving the aspects, each of them targeted to a different type of
workload. The thesis presents the details of such strategies and the implications
that their implementation have on the overall design of the virtual machine.
Creation date: 2008-09-01
Update date: 2008-09-01