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 2005 Publication 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.
[2]
AspectJ project web site. http://www.aspectj.org.
[3]
MapPoint Object Model, available from MSDN online http://msdn.microsoft.com/.
[4]
Concern Manipulation Environment (CME), project web site http://www.eclipse.org/cme/.
[5]
The Apache Foundation. Apache AXIS. http://ws.apache.org/axis/.
[6]
MapPoint web services. http://www.mappoint.com.
[7]
Spatialpoint. http://www.spatialpoint.com.
[8]
Sun Microsystems. Java Servlet Specifiation. http://java.sun.com/products/servlet/.
[9]
Sun Microsystems. J2EE, Java 2 Enterprise Edition Specification. http://java.sun.com/j2ee/.
[10]
C. Y. Baldwin and K. B. Clark. Design Rules vol I, The Power of Modularity. MIT Press, 2000.
[11]
M. Fowler. Inversion of control containers and the dependency injection pattern. http://www.martinfowler.com/articles/injection.html.
[12]
M. Fowler. Module assembly. IEEE Software, 21 (2), March 2004.
[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.
[14]
W. H. Harrison and H. L. Ossher. Member-group relationships among objects. Technical Report IBM Technical Report RC22048, April 2002.
[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.
[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.
[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.
[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.
[19]
D. L. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053--1058, 1972.
[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.
[21]
D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes, 17(4):40--52, 1992.
[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.
[23]
D. Sharman and A. Yassine. Characterizing complex product architectures. Systems Engineering Journal, 7(1), 2004.
[24]
M. Shaw and D. Garlan. Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., 1996.
[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.
[26]
W3C. SOAP (Simple Object Access Protocol) version 1.2 specification. http://www.w3.org/TR/soap12.
[27]
W3C. Web services description language (WSDL). http://www.w3.org/TR/wsdl.

Cited By

View all
  • (2021)Visual exploration of dependency graph in source code via embedding-based similarityJournal of Visualization10.1007/s12650-020-00727-xOnline publication date: 14-Jan-2021
  • (2016)Unveiling and reasoning about co-change dependenciesProceedings of the 15th International Conference on Modularity10.1145/2889443.2889450(25-36)Online publication date: 14-Mar-2016
  • (2014)A Classification of Domain-Specific Language IntentsInternational Journal of Modeling and Optimization10.7763/IJMO.2014.V4.3494:1(67-73)Online publication date: 2014
  • Show More Cited By

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 and design
  2. design space matrix
  3. modularity
  4. net options value

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)19
  • Downloads (Last 6 weeks)6
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Visual exploration of dependency graph in source code via embedding-based similarityJournal of Visualization10.1007/s12650-020-00727-xOnline publication date: 14-Jan-2021
  • (2016)Unveiling and reasoning about co-change dependenciesProceedings of the 15th International Conference on Modularity10.1145/2889443.2889450(25-36)Online publication date: 14-Mar-2016
  • (2014)A Classification of Domain-Specific Language IntentsInternational Journal of Modeling and Optimization10.7763/IJMO.2014.V4.3494:1(67-73)Online publication date: 2014
  • (2014)Guiding Flexibility Investment in Agile ArchitectingProceedings of the 2014 47th Hawaii International Conference on System Sciences10.1109/HICSS.2014.590(4807-4816)Online publication date: 6-Jan-2014
  • (2013)Trading obliviousness for modularity with cooperative aspect-oriented programmingACM Transactions on Software Engineering and Methodology10.1145/2491509.249151622:3(1-46)Online publication date: 30-Jul-2013
  • (2013)A formal model for automated software modularity and evolvability analysisACM Transactions on Software Engineering and Methodology10.1145/2377656.237765821:4(1-29)Online publication date: 7-Feb-2013
  • (2013)Variations on Using Propagation Cost to Measure Architecture Modifiability PropertiesProceedings of the 2013 IEEE International Conference on Software Maintenance10.1109/ICSM.2013.57(400-403)Online publication date: 22-Sep-2013
  • (2011)Analyzing software updatesProceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software10.5555/1987434.1987469(371-385)Online publication date: 26-Mar-2011
  • (2011)A design perspective on modularityProceedings of the tenth international conference on Aspect-oriented software development10.1145/1960275.1960307(265-280)Online publication date: 21-Mar-2011
  • (2011)Analyzing Software Updates: Should You Build a Dynamic Updating Infrastructure?Fundamental Approaches to Software Engineering10.1007/978-3-642-19811-3_26(371-385)Online publication date: 2011
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media