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

Modularizing design patterns with aspects: a quantitative study

Authors Info & Claims
Published:14 March 2005Publication 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.Google ScholarGoogle Scholar
  2. AspectJ Team. The AspectJ Guide. http://eclipse.org/aspectj/.Google ScholarGoogle Scholar
  3. Chidamber, S. and Kemerer, C. A Metrics Suite for OO Design. IEEE Trans. on Soft. Eng., 20-6, June 1994, 476--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Fenton, N. and Pfleeger, S. Software Metrics: A Rigorous Practical Approach. London: PWS, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Garcia, A. From Objects to Agents: An Aspect-Oriented Approach. Doctoral Thesis, PUC-Rio, Rio de Janeiro, Brazil, April 2004.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  9. Hannemann, J., Kiczales, G. Design Pattern Implementation in Java and AspectJ. Proc. OOPSLA'02, Nov 2002, 161--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Henderson-Sellers, B. Object-Oriented Metrics: Measures of Complexity. Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Java Reference Documentation. http://java.sun.com/reference/docs/index.html.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kiczales, G. et al. Aspect-Oriented Programming. Proc. of ECOOP'97, LNCS 1241, Finland, June 1997, 220--242.Google ScholarGoogle Scholar
  14. Soares, S. An Aspect-Oriented Implementation Method. Doctoral Thesis, Federal Univ. of Pernambuco, Oct 2004.Google ScholarGoogle Scholar
  15. Lopes, C. D: A Language Framework for Distributed Programming. PhD Thesis, Northeastern University, 1997.Google ScholarGoogle Scholar
  16. Modularizing Patterns with Aspects: A Quantitative Study. http://www.teccomm.les.inf.pucrio.br/alessandro/GoFpatterns/empiricalresults.htmGoogle ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  19. Tarr, P. et al. N Degrees of Separation: Multi-Dimensional Separation of Concerns. Proc. ICSE'99, May 1999, 107--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Together Technologies. http://www.borland.com/together/.Google ScholarGoogle Scholar
  21. Zhao, J. Towards a Metrics Suite for Aspect-Oriented Software. TR SE200213625, Inf. Proc. Society of Japan, 2002.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  23. Zuse, H. History of Software Measurement. Available on-line at: irb.cs.tu-berlin.de/~zuse/metrics/History_00.html. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • 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

    Copyright © 2005 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 14 March 2005

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate41of139submissions,29%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader