Skip to main content

JAC: A Flexible Solution for Aspect-Oriented Programming in Java

  • Conference paper
  • First Online:
Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2192))

Included in the following conference series:

Abstract

This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java.Unlike languages such as AspectJ which are mostly class-based,JAC is object-based and does not require any language extensions to Java.It uses the Javassist class load-time MOP.An aspect program in JAC is a set of aspect objects that can be dynamically deploted and undeployed on top on running application objects.Aspect objects may define three kinds of aspect methods: wrapping mwthods (that wrap application methods and provide the ability to run code before and after the wrapped methods), role methods (that add new funchtionalities to applications objects) and exception handlers.The aspects composition issue is handled through a well defined wrapping controller that specifies for each wrapped object at wrap-time, runtime or both, the execusion order of aspect objects.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bergmans, L., and Askit, M. Software Architectures and Component Technology: The State of the Art in Research and Practice. Kluwer Academic Publishers, 2000, ch. Constructing Reusable Components with Multiple Concerns Using Composition Filters.

    Google Scholar 

  2. Brichau, J., Meuter, W. D., and Volder, K. D. Jumping Aspects. Presented at the ECOOP 2000 workshop on Aspects and Dimensios OF Concerns, June 2000. http://trese.cs.utwente.nl/Workshops/adc2000/.

  3. Buchi, M., and Weck, W. Generic wrappers. In Proceedings of the 14th European Conference on Object-Oriented Programming (ECCOOP’00) (June 2000), vol.1850 of Lecture Notes in Computer Science, Springer, pp.201–225.

    Google Scholar 

  4. Chiba, S. Load-time structural reflection in java. In Proceedings of the 14th European Conference on Object-Oriented Programming (ECOOP’00) (June 2000), vol. 1850 of Lecture Notes in Computer Science, Springer, pp. 313–336.

    Google Scholar 

  5. Douence, R., Motelet, O., and Sudholt, M. A formal definition of crosscut.in Proceedings of the International Conference on Reflection and Crosscutting Concerns (Sept. 2001).

    Google Scholar 

  6. Harrison, W., and Ossher, H. Subject-oriented programming (A critique or pure objects). In Proceedings of OOOPSLA’93 (Oct.1993), vol. 28 of SIGPLAN Notices, ACM Press,pp. 411–428.

    Google Scholar 

  7. JAC. The JAC project home page. http://www.aopsys.com/jac/.

  8. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECCOOP’01) (2001).

    Google Scholar 

  9. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., and Irwin, J. Aspect-oriented Programming.In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP’97) (June 1997), vol. 1241 of Lecture Notes in computer Science, Springer, pp.220–242.

    Google Scholar 

  10. Lieberherr, K., Lorenz, D., and Mezini, M. Programming with aspectual components. Tech.Rep. NU-CCS-99-01, Northeastern University's College of Computer Science, Apr. 1999.

    Google Scholar 

  11. Mezini, M., and Lieberherr, K. Adaptative plug-and-play components for evolutionary software development. In proceedings of OOOPSLA’98 (1998), vol.33 of SIGPLAN Notices, ACM Press, pp. 96–116.

    Google Scholar 

  12. Mezini, M., Seiter, L., and Lieberherr, K. Component integration with pluggable composite adapters. In Software Architectures and Component Technology: The State of the Art in Research and Practice (2000), L. Bergmans and M. Aksit, Eds., Kluwer Academic Publishers.

    Google Scholar 

  13. Ossher, H., Kaplan, K., Harrison, W., Matz, A., and Kruskal, V. Subject-oriented composition rules. In Proceedings of OOPSLA’95 (1995), vol. 30 of SIGPLAN Notices, ACM Press, pp.235–250.

    Google Scholar 

  14. Ossher, H., and Tarr, P. Multi-dimensional separation of concerns and the hyperspace approach. In Software Architectures and Component Technology: The State of the Art in Research and Pratice (2000), Kluwer Academic Publishers.

    Google Scholar 

  15. Parnas, D. On the Criteria to be used in decomposing systems into modules. Communications of the ACM 15, 12 (1972), 1053–1058.

    Article  Google Scholar 

  16. Pawlak, R., Duchien, L., Florin, G. An automatic aspect Weaver with a reflective programming language. In Proceedings of Reflection’99 (July 1999).

    Google Scholar 

  17. Pawlak, R., Duchien, L., Florin, G., Martelli, L., and Seinturier, L. Distributed separation of concerns with Aspect Components. In Proceedings of TOOLS Europe 2000 (June 2000).

    Google Scholar 

  18. Tarr, P., Ossher, H., Harrison, W., and Sutton, S. N degrees of separation: Multi-dimentional separation of concerns. In Proceedings of the International Conference on Software Engineering (ICSE’99) (1999), pp.107–119.

    Google Scholar 

  19. Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P., Joergensen, and Bo, N. Dynamic and selective combination of extensions in component-based applications. In Proceedings of ICSE’01 (2001).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pawlak, R., Duchien, L., Florin, G., Seinturier, L. (2001). JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-45429-2_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42618-9

  • Online ISBN: 978-3-540-45429-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics