skip to main content
10.1145/2451598.2451603acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Modular aspect-oriented design rule enforcement with XPIDRs

Published:26 March 2013Publication History

ABSTRACT

Aspect-oriented programming (AOP) is a popular technique for modularizing crosscutting concerns. However, constructs aimed at supporting crosscutting modularity may break class modularity. For example, to understand a method call may require a whole-program analysis to determine what advice applies and what that advice does. Moreover, in AspectJ, advice is coupled to the parts of the program advised, the base code, so the meaning of advice may change when the base code changes. Such coupling also hinders parallel development between base code and aspects. We propose some simple modifications to the design of crosscut programming interfaces (XPIs) to include expressive design rule specifications. We call our form of XPIs crosscutting programming interfaces with design rules (XPIDRs). The XPIDR-based approach, by design, supports modular runtime checking and parallel development by decoupling aspects from base code. We also show how XPIDRs allow specification of interesting control flow effects, such as when advice does (or does not) proceed. We have implemented XPIDRs as a simple contract extension to AspectJ. Since XPIDRs do not require any new AspectJ constructs, they can be adopted easily by the AspectJ community.

References

  1. S. Apel, C. Kästner, T. Leich, and G. Saake. Aspect refinement -- unifying aop and stepwise refinement. Journal of Object Technology, 6(9):13--33, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  2. M. Bagherzadeh, H. Rajan, G. T. Leavens, and S. Mooney. Translucid contracts: Expressive specification and modular verification for aspect-oriented interfaces. In Proceedings of the tenth international conference on Aspect-oriented software development, AOSD '11, pages 141--152, New York, NY, USA, Mar. 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Greenwood, T. Bartolomei, E. Figueiredo, M. Dosea, A. Garcia, N. Cacho, C. Sant'Anna, S. Soares, P. Borba, U. Kulesza, and A. Rashid. On the impact of aspectual decompositions on design stability: an empirical study. In Proceedings of the 21st European conference on Object-Oriented Programming, ECOOP'07, pages 176--200, Berlin, Heidelberg, 2007. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Hanenberg and R. Unland. AspectJ idioms for aspect-oriented software construction. In EuroPlop'03, 2003.Google ScholarGoogle Scholar
  5. M. Inostroza, E. Tanter, and E. Bodden. Join point interfaces for modular reasoning in aspect-oriented programs. In ESEC/FSE '11, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP'97, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  7. G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In Proc. of the 27th International Conference on Software Engineering, pages 49--58, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. T. Leavens. JML's rich, inherited specifications for behavioral subtypes. In Z. Liu and H. Jifeng, editors, Formal Methods and Software Engineering: 8th International Conference on Formal Engineering Methods (ICFEM), volume 4260 of Lecture Notes in Computer Science, pages 2-34, New York, NY, Nov. 2006. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. ACMSIGSOFT Software Engineering Notes, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. C. Neto, A. Marques, R. Gheyi, P. Borba, and F. Castor. A design rule language for aspect-oriented programming. In SBLP '09: Proceedings of the 2009 Brazilian Symposium on Programming Languages, pages 131--144. Brazilian Computer Society, 2009.Google ScholarGoogle Scholar
  11. H. Rebelo, R. Coelho, R. Lima, G. T. Leavens, M. Huisman, A. Mota, and F. Castor. On the Interplay of Exception Handling and Design by Contract: An Aspect-Oriented Recovery Approach. In Proceedings of the 13th Workshop on Formal Techniues for Java-Like Programs, FTfJP '11, pages 7:1--7:6, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Rebelo, S. Soares, R. Lima, L. Ferreira, and M. Cornelio. Implementing Java modeling language contracts with AspectJ. In Proceedings of the 2008 ACM symposium on Applied computing, SAC '08, pages 228--233, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Reblo, R. M. F. Lima, A. Mota, C. A. L. Oliveira, and M. Ribeiro. Enforcing contracts for aspect-oriented programs with annotations, pointcuts and advice. In SEKE'12, 2012.Google ScholarGoogle Scholar
  14. S. Soares, E. Laureano, and P. Borba. Implementing distribution and persistence aspects with AspectJ. In OOPSLA '02, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. F. Steimann. The paradoxical success of aspect-oriented programming. In OOPSLA 2006: Proceedings of the 21st International Conference on Object-oriented Programming Systems, Languages, and Applications, ACM SIGPLAN Notices, pages 481--497, New York, NY, Oct. 2006. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Steimann, T. Pawlitzki, S. Apel, and C. Kästner. Types and modularity for implicit invocation with implicit announcement. ACM Trans. Softw. Eng. Methodol., 20(1):1:1--1:43, July 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Stoerzer and J. Graf. Using pointcut delta analysis to support evolution of aspect-oriented software. In ICSM '05, pages 653--656, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Sullivan, W. G. Griswold, H. Rajan, Y. Song, Y. Cai, M. Shonle, and N. Tewari. Modular aspect-oriented design with xpis. ACM Transactions on Software Engineering and Methodology, 20(2):5:1--5:42, Sept. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. tourwe, J. Brichau, and K. Gybels. On the existence of the AOSDevolution paradox. In L. Bergmans, J. Brichau, P. Tarr, and E. Ernst, editors, SPLAT: Software engineering Properties of Languages for Aspect Technologies, Mar. 2003.Google ScholarGoogle Scholar

Index Terms

  1. Modular aspect-oriented design rule enforcement with XPIDRs

                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
                  FOAL '13: Proceedings of the 12th workshop on Foundations of aspect-oriented languages
                  March 2013
                  32 pages
                  ISBN:9781450318655
                  DOI:10.1145/2451598
                  • Program Chair:
                  • Erik Ernst

                  Copyright © 2013 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: 26 March 2013

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article

                  Acceptance Rates

                  Overall Acceptance Rate5of6submissions,83%

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader