Section 19.9. CONCLUSION


19.9. CONCLUSION

Software design is an important activity in the development lifecycle, but its benefits are often not realized. Scattering and tangling of crosscutting behavior with other elements causes problems with comprehensibility, traceability, evolvability, and reusability. Attempts have been made to address this problem in the programming domain, but the problem has not been addressed effectively at earlier stages in the lifecycle. This chapter presents an approach to addressing this problem at the design stage with Theme/UML. Theme/UML is an extension to the standard UML to support the modularization of a design into "themes." A theme is any feature, concern, or requirement of interest that must be handled in the design. Examples are presented that illustrate the flexible and reusable nature of Theme/UML as a design approach for crosscutting behavior. The chapter illustrates how both separation of aspects and composition with other design models may be specified and demonstrates the impact of possible composition at the design stage. The chapter also shows how the separation may be maintained to the programming phase by mapping the Theme/UML model constructs for crosscutting themes to Hyper/J and AspectJ constructs.

While many of the ideas evolved from subject-oriented programming, the ease with which its concepts are mapped to the aspect-oriented programming constructs in AspectJ for crosscutting behavior illustrates that it is not closely tied to a particular programming paradigm. Therefore, it is insulated from changes to programming environment constructs. In addition, extensions to the UML are minimaluse is made, where possible, of standard UML constructs (e.g., templates). This should make usage of Theme/UML intuitive to UML designers. However, tool support is essential for successful usage, and therefore one of our next primary foci is the inclusion of support for Theme/UML in a design tool. Automation of the mapping to programming environments would also be useful.



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