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

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

Composing aspects with aspects

Published: 15 March 2010 Publication History

Abstract

Aspect-oriented programming languages modularize crosscutting concerns by separating the concerns from a base program in aspects. What they do not modularize well is the code needed to manage interactions between the aspects themselves. Therefore aspects cannot always be composed with other aspects without requiring invasive modifications. This paper proposes a join point model that makes it possible to express aspect composition itself as an aspect, liberating the composed aspects from composition-specific code. We have implemented this new join point model in our Oarta language, an extension of AspectJ, and we show how to use it to write aspects that manage aspect interactions.

References

[1]
M. Aksit, A. Rensink, and T. Staijen. A graph-transformation-based simulation approach for analysing aspect interference on shared join points. In AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development, pages 39--50. ACM, 2009.
[2]
A. Assaf and J. Noyé. Dynamic AspectJ. In DLS '08: Proceedings of the 2008 symposium on Dynamic languages, pages 1--12. ACM, 2008.
[3]
P. Avgustinov, E. Bodden, E. Hajiyev, L. Hendren, O. Lhoták, O. de Moor, N. Ongkingco, D. Sereni, G. Sittampalam, J. Tibble, and M. Verbaere. Aspects for trace monitoring. In Formal Approaches to Testing Systems and Runtime Verification (FATES/RV). Springer, 2006.
[4]
P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: An extensible AspectJ compiler. In Transactions on Aspect-Oriented Software Development, 2005.
[5]
L. Bergmans. Towards detection of semantic conflicts between crosscutting concerns. In AAOS Workshop at ECOOP 2003, 2003.
[6]
J. Brichau, M. Mezini, J. Noyé, W. Havinga, L. Bergmans, V. Gasiunas, C. Bockisch, T. D'Hondt, and J. Fabry. An initial metamodel for aspect-oriented programming languages. Deliverable D39, AOSD-Europe, Feb. 2006.
[7]
T. Dinkelaker, M. Mezini, and C. Bockisch. The art of the meta-aspect protocol. In AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development, pages 51--62. ACM, 2009.
[8]
R. Douence, P. Fradet, and M. Südholt. A framework for the detection and resolution of aspect interactions. In GPCE, pages 173--188, 2002.
[9]
R. Douence, P. Fradet, and M. Südholt. Composition, reuse and interaction analysis of stateful aspects. In AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development, pages 141--150. ACM, 2004.
[10]
P. E. A. Durr, L. M. J. Bergmans, and M. Aksit. Reasoning about behavioral conflicts between aspects. Technical Report TR-CTIT-07-15, Enschede, Feb 2007.
[11]
P. E. A. Durr, T. Staijen, L. M. J. Bergmans, and M. Aksit. Reasoning about semantic conflicts between aspects. In EIWAS 2005: 2nd European Interactive Workshop on Aspects in Software, 2005.
[12]
E. Ernst and D. H. Lorenz. Aspects and polymorphism in AspectJ. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 150--157. ACM, 2003.
[13]
B. D. Fraine, P. D. Quiroga, and V. Jonckers. Management of aspect interactions using statically-verified control-flow relations. In Proceedings of the 3rd International Workshop on Aspects, Dependencies and Interactions, 2008.
[14]
S. Hanenberg and P. Costanza. Connecting aspects in AspectJ: strategies vs. patterns. In First AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, 2002.
[15]
B. Harbulot and J. R. Gurd. A join point for loops in AspectJ. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 63--74. ACM, 2006.
[16]
W. Havinga, I. Nagy, L. Bergmans, and M. Aksit. Detecting and resolving ambiguities caused by inter-dependent introductions. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 214--225. ACM, 2006.
[17]
W. Havinga, I. Nagy, L. Bergmans, and M. Aksit. A graph-based approach to modeling and detecting composition conflicts related to introductions. In AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development, pages 85--95. ACM, 2007.
[18]
E. Katz and S. Katz. Incremental analysis of interference among aspects. In FOAL '08: Proceedings of the 7th workshop on Foundations of aspect-oriented languages, pages 29--38. ACM, 2008.
[19]
E. Katz and S. Katz. Modular verification of strongly invasive aspects. In Languages: From Formal to Natural: Essays Dedicated to Nissim Francez on the Occasion of His 65th Birthday, pages 128--147. Springer-Verlag, 2009.
[20]
B. Kessler and E. Tanter. Analyzing interactions of structural aspects. In Workshop on Aspects, Dependencies and Interactions, 2006.
[21]
J. Kienzle, E. Duala-Ekoko, and S. Gélineau. Aspectoptima: A case study on aspect dependencies and interactions. In Transactions on Aspect-Oriented Software Development V, pages 187--234. Springer-Verlag, 2009.
[22]
G. Kniesel. Detection and resolution of weaving interactions. Transactions on Aspect-Oriented Software Development, special issue on Aspect Dependencies and Interactions, pages 1--53, Apr 2009.
[23]
A. Marot and R. Wuyts. Composability of aspects. In SPLAT '08: Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies. ACM, 2008.
[24]
K. Masuhara, G. Kiczales, and C. Dutchyn. Compilation semantics of aspect-oriented programs. In FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002, pages 17--26, 2002.
[25]
F. Munoz, B. Baudry, and O. Barais. Improving maintenance in aop through an interaction specification framework. In ICSM08, 24th International conference on Software Maintentance. IEEE Computer Society Press, 2008.
[26]
A. Nicoara and G. Alonso. Dynamic aop with prose. In Proceedings of the International Workshop on Adaptive and Self-Managing Enterprise Applications (ASMEA 2005), 2005.
[27]
N. Nystrom, M. R. Clarkson, and A. C. Myers. Polyglot: An extensible compiler framework for Java. In Compiler Construction, 12th International Conference, CC 2003, volume 2622 of LNCS, pages 138--152. Springer, 2003.
[28]
R. Pawlak, L. Duchien, and L. Seinturier. Compar: Ensuring safe around advice composition. In M. Steffen and G. Zavattaro, editors, FMOODS, volume 3535, pages 163--178. Springer, 2005.
[29]
F. Sanen, E. Truyen, B. D. Win, W. Joosen, N. Loughran, G. Coulson, A. Rashid, A. Nedos, A. Jackson, and S. Clarke. Study on interaction issues. In AOSD-Europe Deliverable D44, AOSD-Europe-KUL-7, 2006.
[30]
O. Spinczyk and D. Lohmann. The design and implementation of aspectc++. In Know.-Based Syst., volume 20, pages 636--651. Elsevier Science Publishers B. V., 2007.
[31]
M. Stoerzer, J. Krinke, and U. Passau. Interference analysis for AspectJ. In In Workshop on Foundations of Aspect-Oriented Languages, 2003.
[32]
M. Storzer and F. Forster. Detecting precedence-related advice interference. In ASE '06: Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering, pages 317--322. IEEE Computer Society, 2006.
[33]
D. Suvée, W. Vanderperren, and V. Jonckers. JAsCo: an aspect-oriented approach tailored for component based software development. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 21--29. ACM, 2003.

Cited By

View all
  • (2015)Assessing Idioms for a Flexible Feature Binding TimeThe Computer Journal10.1093/comjnl/bxv054(bxv054)Online publication date: 31-Jul-2015
  • (2013)A pointcut language for setting advanced breakpointsProceedings of the 12th annual international conference on Aspect-oriented software development10.1145/2451436.2451454(145-156)Online publication date: 24-Mar-2013
  • (2013)AspectJ-Based Idioms for Flexible Feature BindingProceedings of the 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse10.1109/SBCARS.2013.17(59-68)Online publication date: 29-Sep-2013
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

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. aspect composition
  2. aspect interaction
  3. crosscutting concern
  4. semantic interference

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 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Assessing Idioms for a Flexible Feature Binding TimeThe Computer Journal10.1093/comjnl/bxv054(bxv054)Online publication date: 31-Jul-2015
  • (2013)A pointcut language for setting advanced breakpointsProceedings of the 12th annual international conference on Aspect-oriented software development10.1145/2451436.2451454(145-156)Online publication date: 24-Mar-2013
  • (2013)AspectJ-Based Idioms for Flexible Feature BindingProceedings of the 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse10.1109/SBCARS.2013.17(59-68)Online publication date: 29-Sep-2013
  • (2012)Compositional verification of events and aspectsProceedings of the 11th annual international conference on Aspect-oriented Software Development Companion10.1145/2162110.2162121(11-12)Online publication date: 25-Mar-2012
  • (2012)Detection of Interferences in Aspect-Oriented Programs Using Executable AssertionsProceedings of the 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops10.1109/ISSREW.2012.34(165-170)Online publication date: 27-Nov-2012
  • (2012)A Reliable AOP Technique Using XML to Handle Semantic Aspect ProblemsInternet of Things10.1007/978-3-642-32427-7_93(652-659)Online publication date: 2012
  • (2011)A sequence of patterns for reusable aspect libraries with easy configurationProceedings of the 10th international conference on Software composition10.5555/2025951.2025958(68-83)Online publication date: 30-Jun-2011
  • (2011)XML Based Robust Aspect Composition in Web ServiceInformatics Engineering and Information Science10.1007/978-3-642-25327-0_49(575-588)Online publication date: 2011
  • (2010)An advice for advice composition in AspectJProceedings of the 9th international conference on Software composition10.5555/1894424.1894437(122-137)Online publication date: 1-Jul-2010

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