skip to main content
10.1145/1062455.1062482acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Aspect-oriented programming and modular reasoning

Published:15 May 2005Publication History

ABSTRACT

Aspects cut new interfaces through the primary decomposition of a system. This implies that in the presence of aspects, the complete interface of a module can only be determined once the complete configuration of modules in the system is known. While this may seem anti-modular, it is an inherent property of crosscutting concerns, and using aspect-oriented programming enables modular reasoning in the presence of such concerns.

References

  1. Aldrich, J., Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented Programming, Carnegie Mellon Technical Report CMU-ISRI-04-108, 2004 (Earlier version appeared in Workshop on Foundations of Aspect-Oriented Languages.)Google ScholarGoogle Scholar
  2. Bloch, J. A Metadata Facility for the Java Programming Language, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bockisch, C., Haupt, M., Mezini, M. and Ostermann, K., Virtual Machine Support for Dynamic Join Points. International Conference on Aspect-oriented Software Development (AOSD), 2004, ACM Press, 83--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Boner, J., AspectWerkz http://aspectwerkz.codehaus.org/.Google ScholarGoogle Scholar
  5. Bracha, G., Odersky, M., Stoutamire, D. and Wadler, P., Making the Future Safe for the Past: Adding Genericity to the Java Programming Language. Symposium on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA), 1998, 183--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Burdy, L., Cheon, Y., Cok, D., Ernst, M., Kiniry, J., Leavens, G.T., Rustan, K., Leino, M. and Poll, E., An overview of JML tools and applications. Workshop on Formal Methods for Industrial Critical Systems (FMICS), 2003.Google ScholarGoogle Scholar
  7. Chiba, S. and Nakagawa, K., Josh: An Open AspectJ-like Language. International Conference on Aspect-oriented Software Development (AOSD), 2004, ACM Press, 102--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Clifton, C. and Leavens, G., Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy, Iowa State University Technical Report, TR 03-15.Google ScholarGoogle Scholar
  9. Clifton, C. and Leavens, G., Observers and assistants: A proposal for modular aspect-oriented reasoning. Workshop on Foundations of Aspect-Oriented Languages (FOAL), 2002.Google ScholarGoogle Scholar
  10. DeLine, R. and Fähndrich, M., Typestates for Objects. European Conference on Object-Oriented Programming (ECOOP), 2004.Google ScholarGoogle Scholar
  11. Deng, X., Dwyer, M., Hatcliff, J. and Mizuno, M., SyncGen: An aspect-oriented framework for synchronization. Int'l Conference Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2004, 158--162.Google ScholarGoogle Scholar
  12. Eichberg, M., Mezini, M. and Ostermann, K., First-Class Pointcuts as Queries. Asian Symposium on Programming Languages and Systems (APLAS), 2004, Springer Lecture Notes on Computer Science, to appear.Google ScholarGoogle ScholarCross RefCross Ref
  13. Fowler, M. and Beck, K. Refactoring: improving the design of existing code. Addison-Wesley, Reading, MA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Furfaro, A., Nigro, L. and Pupo, F. Multimedia synchronization based on aspect oriented programming. Microprocessors and Microsystems, 8 (2). 47--56.Google ScholarGoogle Scholar
  15. Gradecki, J. and Lesiecki, N. Mastering AspectJ: Aspect-oriented Programming in Java. Wiley, Indianapolis, Ind., 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Grundy, J., Aspect-Oriented Requirements Engineering for Component-based Software Systems. International Symposium on Requirements Engineering, 1999, IEEE Computer Society Press, 84--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gybels, K. and Brichau, J., Arranging Language Features for More Robust Pattern--Based Crosscuts. International Conference on Aspect-Oriented Software Development (AOSD), 2003, ACM Press, 60--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hannemann, J. and Kiczales, G., Design pattern implementation in Java and AspectJ. Symposium on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA), 2002, 161--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hilsdale, E. and Hugunin, J., Advice Weaving in AspectJ. International Conference on Aspect-Oriented Software Development (AOSD), 2004, ACM Press, 26--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jacobson, I. and Ng, P.-W. Aspect-Oriented Software Development with Use Cases. Addison-Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J. and Griswold, W.G., An Overview of AspectJ. European Conference on Object-Oriented Programming (ECOOP), 2001, Springer, 327--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J. and Irwin, J., Aspect-oriented programming. European Conference on Object-Oriented Programming (ECOOP), 1997, 220--242.Google ScholarGoogle ScholarCross RefCross Ref
  23. Kiselev, I. Aspect-oriented programming using AspectJ. Sams, Indianapolis, Ind., 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Krakauer, D.C. Robustness in Biological Systems: a provisional taxonomy. in Complex Systems Science in Biomedicine, Kluwer, 2004.Google ScholarGoogle Scholar
  25. Krishnamurthi, S., Fisler, K. and Greenberg, M. Verifying aspect advice modularly. Foundations of Software Engineering (FSE). 137--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Laddad, R. AspectJ in action: practical aspect-oriented programming. Manning, Greenwich, CT, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Leavens, G., Cheon, Y., Clifton, C., Ruby, C. and Cok, D. How the design of JML accommodates both runtime assertion checking and formal verification. FORMAL METHODS FOR COMPONENTS AND OBJECTS, 2852. 262--284.Google ScholarGoogle Scholar
  28. Liberty, J. Programming C#. O'Reilly, Sebastopol, CA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Lippert, M. and Lopes, C.V., A Study on Exception Detection and Handling Using Aspect-Oriented Programming. International Conference on Software Engineering, 2002, ACM Press, 418--427. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Liskov, B.H. and Wing, J.M. A Behavioral Notion of Subtyping. Transactions on Programming Languages and Systems (TOPLAS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Masuhara, H. and Kawauchi, K., Dataflow Pointcut in Aspect-Oriented Programming. Asian Symposium on Programming Languages and Systems (APLAS), 2003, 105--121.Google ScholarGoogle Scholar
  32. Masuhara, H. and Kiczales, G., Modeling crosscutting in aspect-oriented mechanisms. European Conference on Object-Oriented Programming (ECOOP), 2003, Springer, 2--28.Google ScholarGoogle ScholarCross RefCross Ref
  33. Mezini, A.M. and Ostermann, A.K., Conquering aspects with Caesar. International Conference on Aspect-Oriented Software Development (AOSD), 2003, ACM Press, 90--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Rashid, A., Moreira, A. and Araujo, J. Modularisation and composition of aspectual requirements International Conference on Aspect-oriented Software Development (AOSD), ACM Press, 2003, 11--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Rashid, A., Sawyer, P., Moreira, A. and Araujo, J. Early Aspects: A Model for Aspect-Oriented Requirements Engineering International Conference on Requirements Engineering, IEEE Computer Society Press, 2002, 199--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Rinard, M., Salcianu, A. and Suhabe, B., A Classification System and Analysis for Aspect-Oriented Programs. Foundations of Software Engineering (FSE), 2004, ACM Press, 147--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Soares, S., Laureano, E. and Borba, P., Implementing distribution and persistence aspects with AspectJ. Symposium on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA), 2002, 174--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Tarr, P., Ossher, H., Harrison, W. and Sutton, S.M., N degrees of separation: multi-dimensional separation of concerns. International Conference on Software Engineering (ICSE), 1999, IEEE Computer Society Press, 107--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zhao, J. and Rinard, M., Pipa: A behavioral interface specification language for AspectJ. Fundamental Approaches to Software Engineering (FASE), 2003, Springer, 150--165.Google ScholarGoogle Scholar

Index Terms

  1. Aspect-oriented programming and modular reasoning

      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 Conferences
        ICSE '05: Proceedings of the 27th international conference on Software engineering
        May 2005
        754 pages
        ISBN:1581139632
        DOI:10.1145/1062455

        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: 15 May 2005

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate276of1,856submissions,15%

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader