A Case Study on Improving Changeability of COTS-Based System Using Aspect-Oriented Programming
Jing‐Yue Li, Axel Anders Kvale, Reidar Conradi · 2006
More and more software projects are using COTS (commercial-off-the-shelf) com-ponents. 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 in-crease 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 per-formed 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 compo-nents 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 sys-tem if the cross-cutting concerns in the code used to glue the COTS component are ho-mogeneous (i.e., have a consistent application of the same or very similar policy in mul-tiple 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.