| Previous | [ 1] | [ 2] | [ 3] | [ 4] | [ 5] | [ 6] | [ 7] | [ 8] | [ 9] | [ 10] | [ 11] | [ 12] | [ 13] | [ 14] |
¡@
Jingyue Li1, Axel Anders Kvale1 and Reidar Conradi1,2
1Department of Computer and Information Science
Norwegian University of Science and Technology
No-7491 Trondheim, Norway
E-mail: jingyue@idi.ntnu.no
2Simula Research Laboratory
P.O. Box 134, No-1325 Lysaker, Norway
More and more software projects are using COTS (commercial-off-the-shelf) components.
One of the most challenging problems in COTS-based development is to evolve
a system to follow changes in the customer requirements. It is therefore important to increase
the changeability of the COTS-based system, so that new component can easily
replace the problematic COTS components. Aspect-Oriented Programming (AOP)
claims to make it easier to develop and maintain certain kinds of application. We performed
a case study to investigate whether AOP can help to build an easy-to-change
COTS-based system. This compared the changes when adding and replacing components
between a COTS system implemented using Object-Oriented Programming (OOP)
and the same system implemented using AOP. The results show that integrating COTS
components using AOP may help to increase the changeability of the COTS-based system
if the cross-cutting concerns in the code used to glue the COTS component are homogeneous
(i.e., have a consistent application of the same or very similar policy in multiple
places). Extracting heterogeneous or partially homogeneous cross-cutting concerns
in glue-code as aspects does not give any benefits. This study also discovered some
limitations in the AOP tool that makes it difficult or even impossible to integrate COTS
components with AOP.
Received July 1, 2005; accepted November 24, 2005.
Communicated by Sung Shin.
*The preliminary version of this paper was presented at the Software Engineering Track of the 20th Annual
ACM Symposium on Applied Computing (ACM SAC 2005), Santa Fe, New Mexico, March 13-17, 2005.