Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1081706.1081734acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Information hiding interfaces for aspect-oriented design

Published: 01 September 2005 Publication History

Abstract

The growing popularity of aspect-oriented languages, such as AspectJ, and of corresponding design approaches, makes it important to learn how best to modularize programs in which aspect-oriented composition mechanisms are used. We contribute an approach to information hiding modularity in programs that use quantified advising as a module composition mechanism. Our approach rests on a new kind of interface: one that abstracts a crosscutting behavior, decouples the design of code that advises such a behavior from the design of the code to be advised, and that can stipulate behavioral contracts. Our interfaces establish design rules that govern how specific points in program execution are exposed through a given join point model and how conforming code on either side should behave. In a case study of the HyperCast overlay network middleware system, including a real options analysis, we compare the widely cited oblivious design approach with our own, showing significant weaknesses in the former and benefits in the latter.

References

[1]
J. Aldrich. Open modules: Modular reasoning about advice. In 2005 European Conference on Object-Oriented Programming (ECOOP'05, to appear), July 2005.
[2]
AspectJ project. http://www.eclipse.org/aspectj/.
[3]
C. Y. Baldwin and K. B. Clark. Design Rules: The Power of Modularity. MIT Press, Cambridge, MA, 2000.
[4]
C. Constantinides and T. Skotiniotis. Reasoning about a classification of cross-cutting concerns in object-oriented systems. In P. Costanza, G. Kniesel, K. Mehner, E. Pulvermüller, and A. Speck, editors, Second Workshop on Aspect-Oriented Software Development of the German Information Society. Institut für Informatik III, Universität Bonn, Feb. 2002. Technical report IAI-TR-2002-1.
[5]
T. Elrad, R. E. Filman, and A. Bader. Aspect-oriented programming: Introduction. Commun. ACM, 44(10):29--32, 2001.
[6]
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In Workshop on Advanced Separation of Concerns (OOPSLA 2000), Oct. 2000.
[7]
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In Aspect-Oriented Software Development, pages 21--35. Addison-Wesley, 2005.
[8]
E. Gamma, R. Helm, J. Vlissides, and R. E. Johnson. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[9]
W. G. Griswold. Coping with crosscutting software changes using information transparency. In Reflection 2001: The Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, pages 250--265, Kyoto, Sept. 2001.
[10]
Hypercast project. http://www.cs.virginia.edu/ mngroup/hypercast/.
[11]
S. Katz. Diagnosis of harmful aspects using regression verification. In C. Clifton, R. Lämmel, and G. T. Leavens, editors, FOAL: Foundations Of Aspect-Oriented Languages, pages 1--6, Mar. 2004.
[12]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In 15th European Conference on Object-Oriented Programming (ECOOP 2001), pages 327--353, June 2001.
[13]
G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In ICSE '05: Proceedings of the 27th international conference on software engineering, 2005.
[14]
R. Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications, 2003.
[15]
J. Liebeherr and T. K. Beam. Hypercast: A protocol for maintaining multicast group members in a logical hypercube topology. In Networked Group Communication, pages 72--89, 1999.
[16]
J. Liebeherr, M. Nahas, and W. Si. Application-layer multicasting with delaunay triangulation overlays. EEE Journal on Selected Areas in Communications, 20(8), oct 2002.
[17]
C. V. Lopes and S. K. Bajracharya. An analysis of modularity in aspect oriented design. In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 15--26. ACM Press, 2005.
[18]
J. Marshall, D. Orleans, and K. J. Lieberherr. DJ: Dynamic structure-shy traversal in pure Java. Technical report, Northeastern University, May 1999.
[19]
D. L. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053--1058, Dec. 1972.
[20]
H. Rajan and K. Sullivan. Aspect language features for concern coverage profiling. In the Fourth International Conference on Aspect-Oriented Software Development (AOSD 2005), March 2005.
[21]
H. Rajan and K. Sullivan. Classpects: Unifying aspect- and object-oriented language design. In Proceedings of the 27th International Conference on Software Engineering ICSE 2005), page To appear, May 2005.
[22]
G. Steele. Common LISP: The Language. Digital Press, 2nd edition, 1990.
[23]
D. V. Steward. The design structure system: A method for managing the design of complex systems. IEEE Transactions on Engineering Management, 28(3):71--84, 1981.
[24]
K. J. Sullivan, W. G. Griswold, Y. Cai, and B. Hallen. The structure and value of modularity in software design. SIGSOFT Softw. Eng. Notes, 26(5):99--108, 2001.
[25]
P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In Proceedings of the 1999 International Conference on Software Engineering, pages 107--119, May 1999.

Cited By

View all
  • (2022)Cooperative negotiation in value-driven engineering and systems design: a technical noteJournal of Engineering Design10.1080/09544828.2022.214917933:11(919-944)Online publication date: 3-Dec-2022
  • (2021)A Study of Feature Scattering in the Linux KernelIEEE Transactions on Software Engineering10.1109/TSE.2018.288491147:1(146-164)Online publication date: 1-Jan-2021
  • (2020)On decomposing a deep neural network into modulesProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409668(889-900)Online publication date: 8-Nov-2020
  • Show More Cited By

Index Terms

  1. Information hiding interfaces for aspect-oriented design

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
    September 2005
    402 pages
    ISBN:1595930140
    DOI:10.1145/1081706
    • cover image ACM SIGSOFT Software Engineering Notes
      ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 5
      September 2005
      462 pages
      ISSN:0163-5948
      DOI:10.1145/1095430
      Issue’s Table of Contents
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 September 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. aspect-oriented programming
    2. design rules
    3. options

    Qualifiers

    • Article

    Conference

    ESEC/FSE05
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)24
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 23 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Cooperative negotiation in value-driven engineering and systems design: a technical noteJournal of Engineering Design10.1080/09544828.2022.214917933:11(919-944)Online publication date: 3-Dec-2022
    • (2021)A Study of Feature Scattering in the Linux KernelIEEE Transactions on Software Engineering10.1109/TSE.2018.288491147:1(146-164)Online publication date: 1-Jan-2021
    • (2020)On decomposing a deep neural network into modulesProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409668(889-900)Online publication date: 8-Nov-2020
    • (2017)Aspect-Oriented Programming ReloadedProceedings of the 21st Brazilian Symposium on Programming Languages10.1145/3125374.3125383(1-8)Online publication date: 21-Sep-2017
    • (2017)AccessCSforallACM SIGACCESS Accessibility and Computing10.1145/3124144.3124145(3-8)Online publication date: 13-Jul-2017
    • (2017)The shape of feature codeSoftware and Systems Modeling (SoSyM)10.1007/s10270-015-0483-z16:1(77-96)Online publication date: 1-Feb-2017
    • (2015)Feature scattering in the large: a longitudinal study of Linux kernel device driversProceedings of the 14th International Conference on Modularity10.1145/2724525.2724575(81-92)Online publication date: 16-Mar-2015
    • (2015)Modular reasoning in the presence of event subtypingProceedings of the 14th International Conference on Modularity10.1145/2724525.2724569(117-132)Online publication date: 16-Mar-2015
    • (2015)A Bounded Budget Network Creation GameACM Transactions on Algorithms10.1145/270161511:4(1-25)Online publication date: 13-Apr-2015
    • (2015)An Improved Competitive Algorithm for Reordering Buffer ManagementACM Transactions on Algorithms10.1145/266334711:4(1-15)Online publication date: 23-Jun-2015
    • 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