archives

Towards Efficient Java Virtual Machine Support for Dynamic Deployment of Inter-type Declarations


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Gharaibeh, Bashar, Rajan, Hridesh and Chang, J. Morris (2009) Towards Efficient Java Virtual Machine Support for Dynamic Deployment of Inter-type Declarations. Technical Report 09-23a, Computer Science, Iowa State University.

Full text available as:Adobe PDF

There is a later version of this eprint available: Click here to view it.

Abstract

Dynamic deployment is an important feature of an aspect-oriented language design that has many applications, e.g. in runtime monitoring, runtime adaptation to fix bugs or add features to long running applications, runtime update of dynamic policy changes, etc. Many recently proposed language designs support these use cases. In previous work, researchers have demonstrated that the ability to support unanticipated deployment enables simpler and often more efficient implementations. These works have addressed an important subset of aspect-oriented features namely those that can be represented as the pointcut-advice model. In this work, we describe the design, formal semantics, and implementation of our strategy for efficiently supporting dynamic deployment of inter-type declarations, which is another important aspect-oriented feature. Additional contributions of this work are: a detailed real world case study that demonstrates the need for supporting dynamic deployment of inter-type declaration for online update of long running applications, and a prototype based on the Jikes Virtual Machine that supports these features. We evaluate our prototype via a rigorous performance analysis, which shows that flexible, dynamic deployment of inter-type declarations can be efficiently supported in a JVM.

Keywords:Nu, inter-type declarations, invocation, weaving, aspect-oriented intermediate-languages, aspect-oriented virtual machines
Subjects:Software: PROGRAMMING TECHNIQUES (E): Object-oriented Programming
Software: PROGRAMMING LANGUAGES: Language Constructs and Features (E.2)
Software: PROGRAMMING LANGUAGES: Processors
ID code:00000628
Deposited by:Hridesh Rajan on 25 December 2009

Available Versions of This Paper



Contact site administrator at: ssg@cs.iastate.edu