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

Skip to main content

A Generative Approach to Aspect-Oriented Programming

  • Conference paper
Generative Programming and Component Engineering (GPCE 2004)

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

Abstract

Aspect-Oriented Software Development (AOSD) offers new insights and tools for the modular development of systems with cross-cutting features. Current tool support for AOSD is provided mainly in the form of code-level constructs. This paper presents a way to express cross-cutting features as logical invariants and to use generative techniques to produce the kind of code that is usually written manually in AOSD. In order to state invariants that express cross-cutting features, we often need to reify certain extra-computational values such as history or the runtime call stack. The generative approach is illustrated by a variety of examples.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  1. Aspect-Oriented Software Development, www.aosd.net

  2. Elrad, T., Filman, R., Bader, A.(eds.): Communications of the ACM– Special Issue on Aspect-Oriented Programming.  44(10) (2001)

    Google Scholar 

  3. Kiczales, G., et al.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Erlingsson, U., Schneider, F.: SASI enforcement of security policies: A retrospective. In: Proceedings of the New Security Paradigms Workshop, Ontario, Canada (1999)

    Google Scholar 

  5. Paige, R., Koenig, S.: Finite differencing of computable expressions. ACM Transactions on Programming Languages and Systems 4, 402–454 (1982)

    Article  MATH  Google Scholar 

  6. Westfold, S., Smith, D.: Synthesis of efficient constraint satisfaction programs. Knowledge Engineering Review 16, 69–84 (2001) (Special Issue on AI and OR)

    Article  MATH  Google Scholar 

  7. Paige, R.: Programming with invariants. IEEE Software 3, 56–69 (1986)

    Article  Google Scholar 

  8. Deng, X., Dwyer, M., Hatcliff, J., Mizuno, M.: Invariant-based specification, synthesis and verification of synchronization in concurrent programs. In: Proceedings of the 24th International Conference on Software Engineering (May 2002)

    Google Scholar 

  9. Pavlovic, D., Smith, D.R.: Evolving specifications. Technical report, Kestrel Institute (2004)

    Google Scholar 

  10. Kestrel Institute: Specware System and documentation. (2003), http://www.specware.org/

  11. Smith, D.R.: KIDS – a semi-automatic program development system. IEEE Transactions on Software Engineering Special Issue on Formal Methods in Software Engineering 16, 1024–1043 (1990)

    Google Scholar 

  12. Rehof, J., Mogenson, T.: Tractable constraints in finite semilattices. Science of Computer Programming 35, 191–221 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  13. Smith, D.R., Parra, E.A., Westfold, S.J.: Synthesis of planning and scheduling software. In: Tate, A. (ed.) Advanced Planning Technology, pp. 226–234. AAAI Press, Menlo Park (1996)

    Google Scholar 

  14. Lieberherr, K., Orleans, D., Ovlinger, J.: Aspect-oriented programming with adaptive methods. CACM 44(10), 39–42 (2001)

    Google Scholar 

  15. Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re)shape evolving software. CACM 44(10), 43–50 (2001)

    Google Scholar 

  16. Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. ACM Transactions on Programming Languages and Systems (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Smith, D.R. (2004). A Generative Approach to Aspect-Oriented Programming. In: Karsai, G., Visser, E. (eds) Generative Programming and Component Engineering. GPCE 2004. Lecture Notes in Computer Science, vol 3286. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30175-2_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30175-2_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23580-4

  • Online ISBN: 978-3-540-30175-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics