Previous [ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] [ 9] [ 10] [ 11] [ 12] [ 13] [ 14]


Journal of Information Science and Engineering, Vol. 22 No. 2, pp. 375-390 (March 2006)

A Case Study on Improving Changeability of COTS-Based System Using Aspect-Oriented Programming*

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
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.

Keywords: object-oriented programming (OOP), aspect-oriented programming (AOP), commercial-off-the-shelf (COTS)-based development, component-based software engineering (CBSE), changeability

Full Text () Retrieve PDF document (200603_09.pdf)

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.