Authors:
Luis Vinuesa
;
Francisco Ortin
;
José M. Félix
and
Fernando Álvarez
Affiliation:
University of Oviedo, Spain
Keyword(s):
Aspect Oriented Programming, static, dynamic, reflection, code instrumentation, performance, flexibility.
Related
Ontology
Subjects/Areas/Topics:
Aspect-Orientation
;
Programming Languages
;
Software Engineering
Abstract:
Aspect Oriented Software Development is an effective realization of the Separation of Concerns principle. A key issue of this paradigm is the moment when components and aspects are weaved together, composing the final application. Static weaving tools perform application composition prior to its execution. This approach reduces dynamic aspectation of running applications. In response to this limitation, dynamic weaving aspect tools perform application composition at runtime. The main benefit of dynamic weaving is runtime adaptability; its main drawback is runtime performance. Existing research has identified the suitability of hybrid approaches, obtaining the benefits of both methods in the same platform. Applying static weaving where possible and dynamic weaving when needed provides a balance between runtime performance and dynamic adaptability. This paper presents DSAW, an
aspect-oriented system that supports both dynamic and static weaving homogeneously over the .Net platform. A
n aspect can be used to adapt an application both statically and dynamically, without needing to modify its source code. Moreover, DSAW is language and platform neutral, and source code of neither components nor aspects is required.
(More)