Aspect‐oriented programming and pluggable software units: a comparison based on design patterns. (3rd September 2013)
- Record Type:
- Journal Article
- Title:
- Aspect‐oriented programming and pluggable software units: a comparison based on design patterns. (3rd September 2013)
- Main Title:
- Aspect‐oriented programming and pluggable software units: a comparison based on design patterns
- Authors:
- Barros, Fernando J.
- Abstract:
- <abstract abstract-type="main" id="spe2224-abs-0001"> <title>Summary</title> <p id="spe2224-para-0001">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<abstract abstract-type="main" id="spe2224-abs-0001"> <title>Summary</title> <p id="spe2224-para-0001">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 &amp; Sons, Ltd.</p> </abstract> … (more)
- Is Part Of:
- Software, practice & experience. Volume 45:Number 3(2015)
- Journal:
- Software, practice & experience
- Issue:
- Volume 45:Number 3(2015)
- Issue Display:
- Volume 45, Issue 3 (2015)
- Year:
- 2015
- Volume:
- 45
- Issue:
- 3
- Issue Sort Value:
- 2015-0045-0003-0000
- Page Start:
- 289
- Page End:
- 314
- Publication Date:
- 2013-09-03
- Subjects:
- Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.2224 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 3363.xml