Describing and using non functional aspects in component based applications

  • Authors:
  • Frédéric Duclos;Jacky Estublier;Philippe Morat

  • Affiliations:
  • Dassault Systèmes / LSR, 220, rue de la Chimie BP53, 38041 Grenoble Cedex 9, France;LSR-IMAG, 220, rue de la Chimie BP53, 38041 Grenoble Cedex 9, France;LSR-IMAG, 220, rue de la Chimie BP53, 38041 Grenoble Cedex 9, France

  • Venue:
  • AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the major progress due to component based technology is the capability to let the "infrastructure" manage some (non functional or extra functional) aspects such as persistency, distribution and so on without having to change the application code, using a wrappers technology (containers). Aspect Oriented Programming (AOP) is a technology that provides a language in which different aspects can be applied to an application using a technology that "weaves" the code implementing the aspect inside the application code.Both technologies are addressing the same "separation of concerns" issue, but containers propose only a fixed set of services, while AOP require the capability to change the component code, and is working at the object level.In our work, we merge both approaches, allowing aspect designers to define new aspects or services and aspect users to apply these aspects or services on components without the component code availability. This goal is reached by providing two languages, one for aspect designers the other one for aspect users, and by using a palette of technologies including object (stub) generation, method call interception and run-time instrumentation.