Supporting dynamic aspect-oriented features
Robert Dyer,Hridesh Rajan +1 more
TL;DR: The Nu model provides a higher level of abstraction compared to traditional object-oriented ILs, making it easier to efficiently support dynamic AO features and an improved compilation target for dynamic deployment features, which makes it harder to support such features with corresponding software engineering benefits.
read more
Abstract: Dynamic aspect-oriented (AO) features have important software engineering benefits such as allowing unanticipated software evolution and maintenance. It is thus important to efficiently support these features in language implementations. Current implementations incur unnecessary design-time and runtime overhead due to the lack of support in underlying intermediate language (IL) models. To address this problem, we present a flexible and dynamic IL model that we call Nu. The Nu model provides a higher level of abstraction compared to traditional object-oriented ILs, making it easier to efficiently support dynamic AO features. We demonstrate these benefits by providing an industrial-strength VM implementation for Nu, by showing translation strategies from dynamic source-level constructs to Nu and by analyzing the performance of the resulting IL code. Nu's VM extends the Sun Hotspot VM interpreter and uses a novel caching mechanism to significantly reduce the amortized costs of join point dispatch. Our evaluation using standard benchmarks shows that the overhead of supporting a dynamic deployment model can be reduced to as little as ˜1.5p. Nu provides an improved compilation target for dynamic deployment features, which makes it easier to support such features with corresponding software engineering benefits in software evolution and maintenance and in runtime verification.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
2.9K
An In-Depth Look at ALIA4J
TL;DR: This paper provides a meta-model of dispatching as a rich, extensible intermediate language and presents implementations of the three different execution strategies together with a generic visual debugger available to any ALIA4J-based language implementation.
20
Language features for software evolution and aspect-oriented interfaces: an exploratory study
Robert Dyer,Hridesh Rajan,Yuanfang Cai +2 more
- 01 Jan 2013
TL;DR: A rigorous empirical study that evaluates the effectiveness of a variety of language features to modularize cross-cutting concerns by applying them to 35 different releases of a software product line called MobileMedia and 50 different release of a Web application called Health Watcher.
An overview of ALIA4J: an execution model for advanced-dispatching languages
Christoph Bockisch,Andreas Sewe,Mira Mezini,Mehmet Aksit +3 more
- 28 Jun 2011
TL;DR: This paper presents the ALIA4J approach to bring such re-use to language families with advanced dispatching mechanisms like pointcut-advice or predicate dispatching, and shows that a significant amount of them can be re-used across language families.
Design, Semantics and Implementation of the Ptolemy Programming Language: A Language with Quantified Typed Events
Hridesh Rajan,Gary T. Leavens +1 more
- 01 Jan 2015
TL;DR: Quantified, typed events, as implemented in the language Ptolemy, solve all the problems of implicit invocation languages and explore its advantages relative to both II and AO languages.
3
References
Aspect-oriented programming
Gregor Kiczales,Erik Hilsdale +1 more
- 01 Sep 2001
TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
5.6K
•Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
2.9K
Software maintenance and evolution: a roadmap
Keith H. Bennett,Vaclav Rajlich +1 more
- 01 May 2000
TL;DR: The production of new management approaches to evolution, leading to understanding of the relationships between technology and business, and the development of a service-based model of software, to replace a product view.
807
The java hotspot TM server compiler
Michael H. Paleczny,Christopher A. Vick,Cliff Click +2 more
- 23 Apr 2001
TL;DR: The Java HotSpotTM Server Compiler achieves improved asymptotic performance through a combination of object-oriented and classical-compiler optimizations.
324