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

Type relaxed weaving

Published: 15 March 2010 Publication History

Abstract

Statically typed aspect-oriented programming languages restrict application of around advice only to the join points that have conforming types. Though the restriction guarantees type safety, it can prohibit application of advice that is useful, yet does not cause runtime type errors. To this problem, we present a novel weaving mechanism, called the type relaxed weaving, that allows such advice applications while preserving type safety. We formalized the mechanism, and implemented as an AspectJ compatible compiler, called RelaxAJ.

References

[1]
R. Bodkin. Performance monitoring with AspectJ. AOP@Work, Sept. 2005.
[2]
C. Clifton and G. T. Leavens. MiniMAO1: Investigating the semantics of proceed. Science of Computer Programming, 63(3):321--374, 2006.
[3]
A. Colyer and A. Clement. Large-scale AOSD for middleware. In Proc. of AOSD'04, pp. 56--65, 2004.
[4]
D. S. Dantas, D. Walker, G. Washburn, and S. Weirich. AspectML: A polymorphic aspect-oriented functional programming language. TOPLAS, 30(3):1--60, 2008.
[5]
M. Erwig and D. Ren. Type-safe update programming. In Proc. of ESOP'03, pp. 269--283, 2003.
[6]
B. D. Fraine, M. Südholt, and V. Jonckers. StrongAspectJ: flexible and safe pointcut/advice bindings. In Proc. of AOSD'08, pp. 60--71, 2008.
[7]
J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java Language Specification. Prentice Hall, 3rd ed., 2005.
[8]
A. Igarashi and H. Nagira. Union types for object-oriented programming. In Proc. of SAC'06, pp. 1435--1441, 2006.
[9]
A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: a minimal core calculus for Java and GJ. In Proc. of OOPSLA'99, pp. 132--146, 1999.
[10]
G. Kiczales, et al. An overview of AspectJ. In Proc. of ECOOP'01, pp. 327--353. 2001.
[11]
R. Lämmel. A semantical approach to method-call interception. In Proc. of AOSD'02, pp. 41--55. 2002.
[12]
X. Leroy. Java bytecode verification: algorithms and formalizations. Journal of Automated Reasoning, 30(3--4):235--269, 2003.
[13]
H. Masuhara. On type restriction of around advice and aspect interference. In Proc. of Workshop on Aspects, Dependencies and Interactions (ADI'08), 2008.
[14]
H. Masuhara, H. Tatsuzawa, and A. Yonezawa. Aspectual Caml: an aspect-oriented functional language. In Proc. of ICFP'05, pp. 320--330, 2005.
[15]
M. Mezini and K. Ostermann. Conquering aspects with Caesar. In Proc. of AOSD'03, pp. 90--99, 2003.
[16]
A. Rashid and R. Chitchyan. Persistence as an aspect. In Proc. of AOSD'03, pp. 120--129. 2003.
[17]
O. Spinczyk, A. Gal, and W. Schroder-Preikschat. AspectC++: An aspect-oriented extension to C++. In Proc. of TOOLS Pacific'02, pp. 18--21, 2002.
[18]
M. Wand, G. Kiczales, and C. Dutchyn. A semantics for advice and dynamic join points in aspect-oriented programming. TOPLAS, 26(5):890--910, Sept. 2004.
[19]
D. Wiese, R. Meunier, and U. Hohenstein. How to convince industry of AOP. In Proc. of Industry Track at AOSD'07, 2007.
[20]
A. K. Wright and M. Felleisen. A syntactic approach to type soundness. Information and Computation, 115(1):38--94, 1994.

Cited By

View all
  • (2011)Supporting covariant return types and generics in type relaxed weavingProceedings of the 10th international workshop on Foundations of aspect-oriented languages10.1145/1960510.1960516(25-29)Online publication date: 21-Mar-2011

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development
March 2010
242 pages
ISBN:9781605589589
DOI:10.1145/1739230
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

  • AOSA: Aspect-Oriented Software Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 March 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. around advice
  2. aspect-oriented programming
  3. type safety

Qualifiers

  • Research-article

Conference

AOSD '10
Sponsor:
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2011)Supporting covariant return types and generics in type relaxed weavingProceedings of the 10th international workshop on Foundations of aspect-oriented languages10.1145/1960510.1960516(25-29)Online publication date: 21-Mar-2011

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