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

An analysis of modularity in aspect oriented design

Published:14 March 2005Publication History

ABSTRACT

We present an analysis of modularity in aspect oriented design using the theory of modular design developed by Baldwin and Clark [10]. We use the three major elements of that theory, namely: i) Design Structure Matrix (DSM), an analysis and modeling tool; ii) Modular Operators, units of variations for design evolution; and iii) Net Options Value (NOV), a quantitative approach to evaluate design. We study the design evolution of a Web Services application where we observe the effects of applying aspect oriented modularization.Based on our analysis we get to the following three main conclusions. First, on the structural part, it is possible to apply the DSM to aspect oriented modularizations in a straightforward manner, i.e. without modifications to DSMs basic model. This shows that aspects can, in fact, be treated as modules of design. Second, the evolution of a design into including aspect modules uses the modular operators proposed by Baldwin and Clark, with a variant of the Inversion operator. This variant captures taking redundant, scattered information hidden in modules and moving it down or keeping it at the same level in the design hierarchy. Third, when calculating and comparing NOVs of the different designs of our application, we obtained higher NOV for the design with aspects than for the design without aspects. This shows that, under this theory of modularity, certain aspect oriented modularizations can add value to the design.

References

  1. Tutorials and resources on DSM, DSM web site http://www.dsmweb.org.Google ScholarGoogle Scholar
  2. AspectJ project web site. http://www.aspectj.org.Google ScholarGoogle Scholar
  3. MapPoint Object Model, available from MSDN online http://msdn.microsoft.com/.Google ScholarGoogle Scholar
  4. Concern Manipulation Environment (CME), project web site http://www.eclipse.org/cme/.Google ScholarGoogle Scholar
  5. The Apache Foundation. Apache AXIS. http://ws.apache.org/axis/.Google ScholarGoogle Scholar
  6. MapPoint web services. http://www.mappoint.com.Google ScholarGoogle Scholar
  7. Spatialpoint. http://www.spatialpoint.com.Google ScholarGoogle Scholar
  8. Sun Microsystems. Java Servlet Specifiation. http://java.sun.com/products/servlet/.Google ScholarGoogle Scholar
  9. Sun Microsystems. J2EE, Java 2 Enterprise Edition Specification. http://java.sun.com/j2ee/.Google ScholarGoogle Scholar
  10. C. Y. Baldwin and K. B. Clark. Design Rules vol I, The Power of Modularity. MIT Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Fowler. Inversion of control containers and the dependency injection pattern. http://www.martinfowler.com/articles/injection.html.Google ScholarGoogle Scholar
  12. M. Fowler. Module assembly. IEEE Software, 21 (2), March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Fowler, K. Beck, J. Brant, O. Opdyke, and D. Roberts. Refactoring: improving the design of existing code. Object Technology Series. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. W. H. Harrison and H. L. Ossher. Member-group relationships among objects. Technical Report IBM Technical Report RC22048, April 2002.Google ScholarGoogle Scholar
  15. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, 11th Europeen Conf. Object-Oriented Programming, volume 1241 of LNCS, pages 220--242. Springer Verlag, 1997.Google ScholarGoogle Scholar
  16. K. Lieberherr, D. Lorenz, and M. Mezini. Programming with Aspectual Components. Technical Report NU-CCS-99-01, College of Computer Science, Northeastern University, Boston, MA, March 1999.Google ScholarGoogle Scholar
  17. H. Masuhara and G. Kiczales. Modeling crosscutting in aspect-oriented mechanisms. In ECOOP 2003-Object-Oriented Programming 17th European Conference, pages 2-28. Springer-Verlag, July 2003.Google ScholarGoogle ScholarCross RefCross Ref
  18. N. Medvidovic and R. N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng., 26(1):70--93, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. L. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053--1058, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. L. Parnas. On a "Buzzword": Hierarchical structure. In Software pioneers: contributions to software engineering, pages 429-440. Springer-Verlag New York, Inc., 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes, 17(4):40--52, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. P. Robillard and G. C. Murphy. Concern graphs: finding and describing concerns using structural program dependencies. In Proceedings of the 24th International Conference on Software Engineering (ICSE-02), pages 406--416, New York, May 19-25 2002. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Sharman and A. Yassine. Characterizing complex product architectures. Systems Engineering Journal, 7(1), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Shaw and D. Garlan. Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. K. J. Sullivan, W. G. Griswold, Y. Cai, and B. Hallen. The structure and value of modularity in software design. In Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, pages 99-108. ACM Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. W3C. SOAP (Simple Object Access Protocol) version 1.2 specification. http://www.w3.org/TR/soap12.Google ScholarGoogle Scholar
  27. W3C. Web services description language (WSDL). http://www.w3.org/TR/wsdl.Google ScholarGoogle Scholar

Index Terms

  1. An analysis of modularity in aspect oriented design

            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