skip to main content
10.1145/1052898.1052899acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Modularizing design patterns with aspects: a quantitative study

Published: 14 March 2005 Publication History

Abstract

Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn decrease the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare OO and aspect-oriented implementations of classical patterns with respect to important software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares aspect-based and OO solutions for the 23 Gang-of-Four patterns. We have used stringent software engineering attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although only 4 aspect-oriented implementations have exhibited significant reuse.

References

[1]
Alencar, P. et al. A Query-Based Approach for Aspect Measurement and Analysis. TR CS-2004-13, School of Computer Science, Univ. of Waterloo, Canada, Feb 2004.
[2]
AspectJ Team. The AspectJ Guide. http://eclipse.org/aspectj/.
[3]
Chidamber, S. and Kemerer, C. A Metrics Suite for OO Design. IEEE Trans. on Soft. Eng., 20-6, June 1994, 476--493.
[4]
Fenton, N. and Pfleeger, S. Software Metrics: A Rigorous Practical Approach. London: PWS, 1997.
[5]
Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, 1995.
[6]
Garcia, A. From Objects to Agents: An Aspect-Oriented Approach. Doctoral Thesis, PUC-Rio, Rio de Janeiro, Brazil, April 2004.
[7]
Garcia, A. et al. Separation of Concerns in Multi-Agent Systems: An Empirical Study. In Software Engineering for Multi-Agent Systems II, Springer, LNCS 2940, January 2004.
[8]
Garcia, A., Silva, V., Chavez, and C., Lucena, C. Engineering Multi-Agent Systems with Aspects and Patterns. J. of the Brazilian Computer Society, 1, 8 (July 2002), 57--72.
[9]
Hannemann, J., Kiczales, G. Design Pattern Implementation in Java and AspectJ. Proc. OOPSLA'02, Nov 2002, 161--173.
[10]
Henderson-Sellers, B. Object-Oriented Metrics: Measures of Complexity. Prentice Hall, 1996.
[11]
Java Reference Documentation. http://java.sun.com/reference/docs/index.html.
[12]
Kersten, M. and Murphy, G. Atlas: A Case Study in Building a Web-based Learning Environment Using Aspect-Oriented Programming. Proceedings of OOPSLA '99, November 1999.
[13]
Kiczales, G. et al. Aspect-Oriented Programming. Proc. of ECOOP'97, LNCS 1241, Finland, June 1997, 220--242.
[14]
Soares, S. An Aspect-Oriented Implementation Method. Doctoral Thesis, Federal Univ. of Pernambuco, Oct 2004.
[15]
Lopes, C. D: A Language Framework for Distributed Programming. PhD Thesis, Northeastern University, 1997.
[16]
Modularizing Patterns with Aspects: A Quantitative Study. http://www.teccomm.les.inf.pucrio.br/alessandro/GoFpatterns/empiricalresults.htm
[17]
Sant'Anna, C. et al. On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. Proc. of Brazilian Symposium on Software Engineering (SBES'03), Manaus, Brazil, Oct 2003, 19--34.
[18]
Sant'Anna, C. et al. Design Patterns as Aspects: A Quantitative Assessment. Proc. of Brazilian Symposium on Software Engineering (SBES'04), Brasília, Brazil, Oct 2004.
[19]
Tarr, P. et al. N Degrees of Separation: Multi-Dimensional Separation of Concerns. Proc. ICSE'99, May 1999, 107--119.
[20]
Together Technologies. http://www.borland.com/together/.
[21]
Zhao, J. Towards a Metrics Suite for Aspect-Oriented Software. TR SE200213625, Inf. Proc. Society of Japan, 2002.
[22]
Zhao, J. and Xu, B. Measuring Aspect Cohesion. Proc. Conf. on Fundamental Approaches to Software Engineering (FASE'04), LNCS 2984, Barcelona, March 2004, 54--68.
[23]
Zuse, H. History of Software Measurement. Available on-line at: irb.cs.tu-berlin.de/~zuse/metrics/History_00.html.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development
March 2005
210 pages
ISBN:1595930426
DOI:10.1145/1052898
  • General Chair:
  • Mira Mezini,
  • Program Chair:
  • Peri Tarr
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Illinois Institute of Technology
  • BEA Systems, Inc.
  • Siemens AG, CT SE 2
  • IBMR: IBM Research
  • AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development
  • Oracle Corporation
  • AOSA: Aspect-Oriented Software Association, Inc
  • TheServerSide.COM

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. design patterns
  3. metrics

Qualifiers

  • Article

Conference

AOSD05
Sponsor:
  • IBMR
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)208
  • Downloads (Last 6 weeks)10
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media