Skip to main content

An Advice for Advice Composition in AspectJ

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6144))

Abstract

Aspect composition often involves advice interference and this is a crucial problem in aspect oriented programming. When multiple advices are woven at the same join point, the advices often interfere with each other. Giving appropriate precedence order is a typical solution of this problem but it cannot resolve all kinds of advice interference. To address this problem, we propose a novel language extension named Airia, which provides a new kind of around advice for resolving advice interference. This kind of advice named a resolver is invoked only at the join points when given advices conflict with each other. The resolvers can call an extended version of proceed, which takes as an argument precedence order among remaining advices. Furthermore, the resolvers are composable. They can be used to resolve interference among other resolvers and advices.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aksit, M., Rensink, A., Staijen, T.: A graph-transformation-based simulation approach for analysing aspect interference on shared join points. In: AOSD 2009: Proceedings of the 8th ACM International Conference On Aspect-Oriented Software Development, pp. 39–50. ACM, New York (2009)

    Chapter  Google Scholar 

  2. Apel, S., Leich, T., Saake, G.: Aspect refinement and bounding quantification in incremental designs. In: Asia-Pacific Software Engineering Conference, pp. 796–804 (2005)

    Google Scholar 

  3. Apel, S., Leich, T., Saake, G.: Mixin-based aspect inheritance. Technical Report Number 10. Department of Computer Science, University of Magdeburg, Germany (2005)

    Google Scholar 

  4. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, J., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Abc: an extensible AspectJ compiler. In: AOSD 2005: Proceedings of the 4th International Conference on Aspect-Oriented Software Development, pp. 87–98. ACM, New York (2005)

    Chapter  Google Scholar 

  5. Dinkelaker, T., Mezini, M., Bockisch, C.: The art of the meta-aspect protocol. In: AOSD 2009: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development, pp. 51–62. ACM, New York (2009)

    Chapter  Google Scholar 

  6. Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: GPCE 2002: Proceedings of the 1st ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering, pp. 173–188. Springer, London (2002)

    Google Scholar 

  7. Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: AOSD 2004: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development, pp. 141–150. ACM, New York (2004)

    Chapter  Google Scholar 

  8. Ekman, T., Hedin, G.: The JastAdd extensible Java compiler. In: OOPSLA 2007: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-Oriented Programming Systems and Applications, pp. 1–18. ACM, New York (2007)

    Chapter  Google Scholar 

  9. Havinga, W., Nagy, I., Bergmans, L., Aksit, M.: A graph-based approach to modeling and detecting composition conflicts related to introductions. In: AOSD 2007: Proceedings of the 6th International Conference on Aspect-Oriented Software Development, pp. 85–95. ACM, New York (2007)

    Chapter  Google Scholar 

  10. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Marot, A., Wuyts, R.: Composability of aspects. In: SPLAT 2008: Proceedings of the 2008 AOSD Workshop on Software Engineering Properties of Languages and Aspect Technologies, pp. 1–6. ACM, New York (2008)

    Chapter  Google Scholar 

  12. Marot, A., Wuyts, R.: A DSL to declare aspect execution order. In: DSAL 2008: Proceedings of the 2008 AOSD Workshop on Domain-Specific Aspect Languages, pp. 1–5. ACM, New York (2008)

    Chapter  Google Scholar 

  13. Marot, A., Wuyts, R.: Composing aspects with aspects. In: AOSD 2010: Proceedings of the 9th International Conference on Aspect-Oriented Software Development, pp. 157–168. ACM, New York (2010)

    Google Scholar 

  14. Masuhara, H., Kiczales, G., Dutchyn, C.: Compilation semantics of aspect-oriented programs. In: Proc. of Foundations of Aspect-Oriented Languages Workshop, AOSD 2002, pp. 17–26 (2002)

    Google Scholar 

  15. Schrli, N., Ducasse, S., Nierstrasz, O., Black, A.P.: Traits: Composable units of behaviour. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 327–339. Springer, Heidelberg (2003)

    Google Scholar 

  16. Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: an aspect-oriented approach tailored for component based software development. In: AOSD 2003: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development, pp. 21–29. ACM, New York (2003)

    Chapter  Google Scholar 

  17. Takeyama, F.: A new kind of advice for advice composition without interference. Master’s thesis, Tokyo Institute of Technology, Japan (2010)

    Google Scholar 

  18. Tanter, E.: Aspects of composition in the Reflex AOP kernel. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 98–113. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Takeyama, F., Chiba, S. (2010). An Advice for Advice Composition in AspectJ. In: Baudry, B., Wohlstadter, E. (eds) Software Composition. SC 2010. Lecture Notes in Computer Science, vol 6144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14046-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14046-4_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14045-7

  • Online ISBN: 978-3-642-14046-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics