• Keine Ergebnisse gefunden

Chapter 1 Overview

1.3 Summary of Contributions

This thesis makes three main contributions. First, an architecture for im-plementing aspect-oriented languages based on late-binding join point shad-ows is proposed. A framework embodying the architecture has been devel-oped that supports the implementation of execution environments as well as language front-ends. As a proofs-of-concept one full-fledged execution environment has been developed as an instantiation of the framework, and relevant aspect-oriented programming languages have been mapped to the framework’s meta-model of aspects. The feasibility of integrating further ex-ecution environments and languages with the framework is discussed. The framework supports designers and implementers of new aspect-oriented lan-guage concepts because design and optimizing implementation are separated.

Second, optimizing implementations of dynamic aspect deployment and the cflow dynamic property of join points have been developed. The opti-mizations are facilitated by a deep integration with the virtual machine and benefit from the fact that concepts like deployment and referring to the active control flow are first-class as stipulated by the developed architecture. The optimized concepts exhibit a performance that cannot be met by conventional AO language implementations operating on bytecode.

Third, means for benchmarking the dynamic aspect-oriented features of aspect deployment and support for the cflow dynamic property have been developed. The developed benchmarks are macro-benchmarks, i.e., they ex-ecute real-world applications.

The optimizations presented here drive another more conceptual contri-bution of this thesis. The efficiency improvements that result from the inte-gration with the virtual machine emphasize an advantage of aspect-oriented quantification mechanisms, e.g., cflow and deployment, that has not been discussed so far. As yet, increased modularity has been the main argument

Summary of Contributions

for AOP. While this is certainly the key benefit of AOP, this thesis shows that AOP also has the potential to make programs more efficient as compared to object-oriented programs. The idea is that by preserving aspect-oriented con-cepts explicit also at execution time, the possibility of applying sophisticated optimizations is opened-up that are out of reach for conventional language implementations.

The publications by the author of this thesis related to these contributions are listed at the beginning of each chapter. A complete list of scientific publications by the author is as follows.

• Publications in conference proceedings:

– Christoph Bockisch, Matthew Arnold, Tom Dinkelaker, and Mira Mezini. Adapting Virtual Machine Techniques for Seamless As-pect Support. InProceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2006 – Christoph Bockisch, Sebastian Kanthak, Michael Haupt, Matthew

Arnold, and Mira Mezini. Efficient Control Flow Quantification.

InProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, 2006

– Christoph Bockisch, Michael Haupt, Mira Mezini, and Ralf Mitsch-ke. Envelope-based Weaving for Faster Aspect Compilers. In Pro-ceedings of the International Conference NetObjectDays on Ob-jects, Components, Architectures, Services, and Applications for a Networked World. GI, 2005

– Michael Haupt, Mira Mezini, Christoph Bockisch, Tom Dinke-laker, Michael Eichberg, and Michael Krebs. An Execution Layer for Aspect-Oriented Programming Languages. In Proceedings of the International Conference on Virtual Execution Environments.

ACM Press, 2005

– Klaus Ostermann, Mira Mezini, and Christoph Bockisch. Expres-sive Pointcuts for Increased Modularity. In Proceedings of the European Conference on Object-Oriented Programming, 2005 – Christoph Bockisch, Michael Haupt, Mira Mezini, and Klaus

Os-termann. Virtual Machine Support for Dynamic Join Points. In Proceedings of the International Conference on Aspect-Oriented Software Development. ACM Press, 2004

Summary of Contributions

• Publications in workshop proceedings:

– Andreas Sewe, Christoph Bockisch, and Mira Mezini. Redundancy-free Residual Dispatch. In Proceedings of the Workshop on Foun-dations of Aspect-Oriented Languages, 2008

– Christoph Bockisch and Mira Mezini. A Flexible Architecture For Pointcut-Advice Language Implementations. In Proceedings of the Workshop on Virtual Machines and Intermediate Languages for Emerging Modularization Mechanisms. ACM Press, 2007 – Christoph Bockisch, Michael Haupt, and Mira Mezini. Dynamic

Virtual Join Point Dispatch. In Proceedings of the Workshop on Software Engineering Properties of Languages and Aspect Tech-nologies, 2006

– Christoph Bockisch, Mira Mezini, and Klaus Ostermann. Quanti-fying over Dynamic Properties of Program Execution. In Proceed-ing of the Dynamic Aspects Workshop, 2005

• Technical reports:

– Christoph Bockisch, Andrew Jackson, and David Cousins. Second Review of Atelier Content and Performance. Technical Report AOSD-Europe-TUD-10, Technische Universit¨at Darmstadt, 2008 – Christoph Bockisch, Andreas Sewe, Mira Mezini, Arjan de Roo, Wilke Havinga, Lodewijk Bergmans, and Kris de Schutter. Mod-eling of Representative AO Languages on Top of the Reference Model. Technical Report AOSD-Europe-TUD-9, Technische Uni-versit¨at Darmstadt, 2008

– Christoph Bockisch, Mira Mezini, Kris Gybels, and Johan Fab-ry. Initial Definition of the Aspect Language Reference Model and Prototype Implementation Adhering to the Language Imple-mentation Toolkit Architecture. Technical Report AOSD-Europe-TUD-7, Technische Universit¨at Darmstadt, 2007

– Christoph Bockisch, Mira Mezini, Wilke Havinga, Lodewijk Berg-mans, and Kris Gybels. Reference Model Implementation. Techni-cal Report AOSD-Europe-TUD-8, Technische Universit¨at Darm-stadt, 2007

– Andrew Jackson, Siobh´an Clarke, Matt Chapman, and Christoph Bockisch. Deliver Preliminary Support for Next-Priority Use Cases.

Technical Report AOSD-Europe-IBM-80, IBM UK, 2007

Structure of this Thesis

– Christoph Bockisch and Michael Haupt. Taxonomy of Implemen-tation Techniques in Relation to the Aspects of the Meta-Model.

Technical Report AOSD-Europe-TUD-6, Technische Universit¨at Darmstadt, 2006

– Johan Brichau, Mira Mezini, Jacques Noy´e, Wilke Havinga, Lode-wijk Bergmans, Vaidas Gasiunas, Christoph Bockisch, Johan Fabry, and Theo D’Hondt. An Initial Metamodel for Aspect-Oriented Programming Languages. Technical Report AOSD-Europe-VUB-12, Vrije Universiteit Brussel, 2006

– Andrew Jackson, Siobh´an Clarke, Matt Chapman, Andy Dean, and Christoph Bockisch. Deliver Preliminary Support For Top Priority Use Cases. Technical Report AOSD-Europe-IBM-64, IBM UK, 2006

– Johan Brichau, Michael Haupt, Nicholas Leidenfrost, Awais Rashid, Lodewijk Bergmans, Tom Staijen, Istvan Anis Charfi, Christoph Bockisch, Ivica Aracic, Vaidas Gasiunas, Klaus Ostermann, Lionel Seinturier, Renaud Pawlak, Mario S¨udholt, Jacques Noy´e, Davy Suvee, Maja D’Hondt, Peter Ebraert, Wim Vanderperren, Shiu Lun Tsang Monica Pinto, Lidia Fuentes, Eddy Truyen, Adriaan Moors, Maarten Bynens, Wouter Joosen, Shmuel Katz, Adrian Coyler, Helen Hawkins, Andy Clement, and Olaf Spinczyk. Re-port describing survey of aspect languages and models. Technical Report AOSD-Europe-VUB-01, Vrije Universiteit Brussel, 2005 – Michael Haupt, Christoph Bockisch, Mira Mezini, and Klaus

Os-termann. Towards Aspect-Aware Execution Models. Technical Report TUD-ST-2003-01, Technische Universit¨at Darmstadt, 2003