Chapter26.Smartweaver: A Knowledge-Driven Approach for Aspect Composition


Chapter 26. Smartweaver: A Knowledge-Driven Approach for Aspect Composition

J. ANDRÉS DíAZ PACE, MARCELO R. CAMPO, AND FEDERICO U. TRILNIK

Many researchers recognize the need to raise the level of abstraction in AOSD. This will enable moving more seamlessly from aspect-oriented specifications to particular aspect technologies, allowing developers to specify their applications using generic aspect models (for example, through a CASE tool), reuse parts of these models in other applications, and employ multiple strategies in mapping these models to specific aspect implementations.

The specification of crosscutting elements in modular units and the designation of elements being crosscut have received much attention and have produced some good solutions. However, the procedures to effectively merge all this information during weaving still require understanding many implementation-specific details. Moreover, this complexity is often compounded by aspect interactions. For example, determining how to weave interacting aspects is still a central issue. Newly added aspects must be prevented from subverting the behavior of existing aspects [17]. In the general case, there are different variants for the weaving, depending on the implementation approaches supporting the aspect infrastructure (e.g., aspect languages or aspect frameworks). Developers have to provide the aspect tool with instructions that direct weaving.

We believe that the specification of aspect-oriented applications is a critical technology. The challenge is not developing a specific tool for a specific AOP language but rather the general issue of guiding developers through weaving. Tools and CASE environments that help developers bridge the gap between aspect-based models and aspect technologies are becoming increasingly necessary.

In this work, we describe Smartweaver, an approach for assisting weaving activities in aspect-oriented development [8]. Smartweaver is a Java tool that provides semiautomated support to the process of aspect composition. It relies on the Smartbooks documentation method [16], which extends framework documentation techniques with instantiation schemes specifying how a piece of software should be specialized or used to implement a given functionality. Smartbooks can be used for documenting aspect-based models. Smartweaver allows developers to express their requirements in terms of classes, aspects, and crosscutting relationships among them. All this information is collected by a special planning engine. This engine is also provided with adequate Smartbooks knowledge to implement generic aspect-based specifications using a given aspect implementation. Using this knowledge, the engine produces a list of programming activities to be carried out to get a final application.

This chapter is organized into six sections. Section 26.1 introduces the notion of smart-weaving and the foundations of the Smartbooks method. Sections 26.2, 26.3, and 26.4 present the Smartweaver approach, centered on an example application involving concurrency, authorization, and logging aspects. The example shows the role that both the developer (final user) and the designer (documenter) play in the process. In Section 26.5, we discuss related work. Finally, in Section 26.6, we draw conclusions and speculate on directions for future research.



Aspect-Oriented Software Development
Aspect-Oriented Software Development with Use Cases
ISBN: 0321268881
EAN: 2147483647
Year: 2003
Pages: 307

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net