Aspect-oriented programming and pluggable software units: a comparison based on design patterns
Article first published online: 3 SEP 2013
Copyright © 2013 John Wiley & Sons, Ltd.
Software: Practice and Experience
How to Cite
Barros, F. J. (2013), Aspect-oriented programming and pluggable software units: a comparison based on design patterns. Softw: Pract. Exper.. doi: 10.1002/spe.2224
- Article first published online: 3 SEP 2013
- Manuscript Accepted: 13 AUG 2013
- Manuscript Revised: 22 APR 2013
- Manuscript Received: 18 SEP 2012
- Portuguese Foundation for Science and Technology. Grant Number: PTDC/EIA-EIA/100752/2008
- software composition;
- aspect programming;
- design patterns
The support for software reuse has been a major goal in the design of programming languages. This goal, however, has proven difficult to reach, being only partially enabled by current software tools. In particular, reuse is not fully supported by object-oriented programming (OOP). Aspect-oriented programming (AOP) has introduced new operators that extend OOP, enabling a superior support for reusability. However, AOP operators exhibit limitations in supporting software reuse and more powerful constructs are still required. We consider the ability to define software in an independent manner as the key construct to enable systematic software reuse. To bridge the gap between independence and practical software tools, we have developed the concept of Independent and Pluggable Software Unit (PU), a construct that supports the definition of software topologies. In this paper, we compare PUs with AOP in their support for reusable software. To enable comparison, we employ some well described problems addressed by Software Design Patterns (SDPs). We provide PU and AOP versions of several SDPs, including, Observer, Composite, Command, Chain of Responsibility, and Proxy. In particular, we show that, whereas PUs provide a unified representation of design patterns, AOP representations do not achieve this unification. We also show that AOP solutions do not promote independent and reusable software.Copyright © 2013 John Wiley & Sons, Ltd.