Morphing aspects: incompletely woven aspects and continuous weaving

  • Authors:
  • Stefan Hanenberg;Robert Hirschfeld;Rainer Unland

  • Affiliations:
  • University of Duisburg-Essen, Essen, Germany;DoCoMo Communications, Laboratories Europe, Future Networking Lab, Munich, Germany;University of Duisburg-Essen, Essen, Germany

  • Venue:
  • Proceedings of the 3rd international conference on Aspect-oriented software development
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Weaving is one of the fundamental mechanisms of aspect-oriented systems. A weaver composes different aspects with the base system by determining and adapting all parts where aspect specific elements are needed eventually. At runtime, timeconsuming join point checks are necessary to determine if at a certain join point aspect-specific code needs to be executed. Current technologies enforce such checks even in locations that only temporarily or under restrictive conditions (or even never) execute aspect-specific code. In more complex applications, a large number of these checks fail and just cause a substantial runtime overhead without contributing to the system's overall behavior. The main reason for this flaw is complete weaving, the way how aspects are woven to an application using current technologies. In this paper we discuss the problem of unnecessary join point checks caused by complete weaving. We introduce morphing aspects - incompletely woven aspects in combination with continuous weaving - to overcome the problem of futile join point checks.