Capsule Reviews

F. Kamareddine
2005 Computer journal  
Both component-based software development (CBSD) and aspect-oriented software development (AOSD) aim to improve the modularity and evolution of distributed systems by plugging in independent and reusable entities. By representing a significant advance towards assembling systems through plugging together independent and reusable components, CBSD aims to reduce time, cost and effort, and to improve flexibility, reliability and maintainability. By introducing the aspect dimension to separate
more » ... cutting' concerns (like synchronization and coordination), AOSD solves the code tangling problem. The paper argues that CBSD and AOSD are complementary technologies and proposes a component-aspect model (CAM) which combines their benefits. In CAM, both components and aspects are first-order entities. The underlying infrastructure supporting the CAM model is a component-aspect platform referred to as DAOP (dynamic aspect oriented platform), where the plugging of software aspects into components is performed at runtime. The main characteristics of both the CAM model and the DAOP platform are illustrated through a running example, and a CAM/DAOP prototype is implemented. The main advantages of this approach include an increase in the reusability of components, a reduction in the time needed to build complete applications and a better gap bridge between design and implementation.
doi:10.1093/comjnl/bxh123 fatcat:nr7nzneqabcxxohtb2ip4jk2gq