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 machine
2010-10-04
143
aop, virtual-machines, sicurezza, bytecode, AspectK
File in questo prodotto:
File 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

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/14043