Nu: Towards an Aspect-Oriented Invocation Mechanism

By: Hridesh Rajan, Robert Dyer, Harish Narayanappa, and Youssef Hanna

PDF Download Download Paper

Abstract

The contribution of this work is the design, implementation and evaluation of a new aspect-oriented invocation mechanism for preserving design modularity in object code. We call our mechanism Bind. We make three basic claims. First, it is feasible to realize a programming model that supports Bind to preserve design modularity in object code. Second, the new invocation mechanism further improves the conceptual integrity of the aspect-oriented programming models by allowing advising and runtime properties of aspect-like constructs to be modeled as simple combinations of invocation primitives as opposed to new language constructs. Third, it brings new possibility for structuring aspect-oriented systems, removing the commitment to a single aspect-language model, and expanding the program design space to include arbitrary combinations of language models and advising structures. To support these claims, we present the design and implementation of Nu, a programming model based on the .NET Framework that supports Bind as an invocation mechanism. We show that Nu supports aspect-oriented program designs where multiple aspect-language models can be emulated using Bind, and used in arbitrary combinations without compromising the design modularity in the object code.

ACM Reference

Rajan, H. et al. 2006. Nu: Towards an AspectOriented Invocation Mechanism. Technical Report #414. Iowa State University, Dept. of Computer Science.

BibTeX Reference

@techreport{rajan2006nu,
  title = {Nu: Towards an AspectOriented Invocation Mechanism},
  author = {Rajan, Hridesh and Dyer, Robert and Narayanappa, Harish and Hanna, Youssef},
  year = {2006},
  institution = {Iowa State University, Dept. of Computer Science},
  number = {414},
  abstract = {
    The contribution of this work is the design, implementation and evaluation of
    a new aspect-oriented invocation mechanism for preserving design modularity in
    object code. We call our mechanism Bind. We make three basic claims. First, it
    is feasible to realize a programming model that supports Bind to preserve
    design modularity in object code. Second, the new invocation mechanism further
    improves the conceptual integrity of the aspect-oriented programming models by
    allowing advising and runtime properties of aspect-like constructs to be
    modeled as simple combinations of invocation primitives as opposed to new
    language constructs. Third, it brings new possibility for structuring
    aspect-oriented systems, removing the commitment to a single aspect-language
    model, and expanding the program design space to include arbitrary
    combinations of language models and advising structures. To support these
    claims, we present the design and implementation of Nu, a programming model
    based on the .NET Framework that supports Bind as an invocation mechanism. We
    show that Nu supports aspect-oriented program designs where multiple
    aspect-language models can be emulated using Bind, and used in arbitrary
    combinations without compromising the design modularity in the object code.
  }
}