Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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
  • Get Citation Alerts
  • 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)6
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 11 Aug 2024

    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

    Get Access

    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