Aspect Oriented Programming is a programming paradigm that allows separating frequently used functionalities (concerns) from the application logic, de facto 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. 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
Virtual Machines for Aspect-Oriented Systems
Battilana, Giordano
2010/2011
Abstract
Aspect Oriented Programming is a programming paradigm that allows separating frequently used functionalities (concerns) from the application logic, de facto 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. 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 machineFile | Dimensione | Formato | |
---|---|---|---|
Macchine_Virtuali_per_Sistemi_Orientati_agli_Aspetti.pdf
accesso aperto
Dimensione
1.21 MB
Formato
Adobe PDF
|
1.21 MB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/14043