Skip to main content

Can Aspects Implement Contracts?

  • Conference paper
Rapid Integration of Software Engineering Techniques (RISE 2005)

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

Abstract

Design by ContractTMis commonly cited as an example of the “crosscutting” concerns that aspect-oriented programming can address. We test this conjecture by attempting to implement contracts through aspects and assessing the outcome. The results of this experiment cast doubt on the validity of the conjecture, showing that aspects appear unable to capture contracts in a way that retains the benefits of the Design by Contract methodology.

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. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  2. Lieberherr, K.J., Lorenz, D.H., Mezini, M.: Building modular object-oriented systems with reusable collaborations (tutorial session). In: ICSE, p. 821. ACM Press, New York (2000)

    Google Scholar 

  3. Lopes, C.V., Kiczales, G.: Improving design and source code modularity using AspectJ (tutorial session). In: ICSE, IEEE-CS: Computer Society and SIGSOFT: ACM Special Interest Group on Software Engineering and Irish Comp Soc: Irish Computer Society, p. 825. ACM Press, New York (2000)

    Google Scholar 

  4. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: Getting started with AspectJ. Commun. ACM 44, 59–65 (2001)

    Article  MATH  Google Scholar 

  5. TheServerSide.COM: Interview with Gregor Kiczales, topic: Aspect-oriented programming (AOP) (2003), http://www.theserverside.com/talks/videos/GregorKiczalesText/interview.tss

  6. Lopes, C.V., Lippert, M., Hilsdale, E.A.: Design by contract with aspect-oriented programming. U.S. Patent No. 6, 442, 750 (2002)

    Google Scholar 

  7. Diotalevi, F.: Contract enforcement with AOP (2004), http://www-128.ibm.com/developerworks/library/j-ceaop/

  8. Skotiniotis, T., Lorenz, D.H.: Cona: aspects for contracts and contracts for aspects. In: OOPSLA Companion, pp. 196–197. ACM Press, New York (2004)

    Google Scholar 

  9. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall Professional Technical Reference (1997)

    Google Scholar 

  10. Meyer, B.: Eiffel: The Language. Prentice Hall Professional Technical Reference (1991)

    Google Scholar 

  11. Kiczales, G.: AspectJ: Aspect-oriented programming in Java. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 1–1. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  12. 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 

  13. Lopes, C.V., Kiczales, G.: Recent developments in aspect. In: Demeyer, S., Bosch, J. (eds.) ECOOP 1998 Workshops. LNCS, vol. 1543, pp. 398–401. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  14. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15, 1053–1058 (1972)

    Article  Google Scholar 

  15. Hannemann, J., Chitchyan, R., Rashid, A.: Analysis of aspect-oriented software. In: Buschmann, F., Buchmann, A., Cilia, M.A. (eds.) ECCV-WS 2003. LNCS, vol. 3013, pp. 154–164. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  16. Bergmans, L.: Towards detection of semantic conflicts between crosscutting concerns. In: Hannemann, J., Chitchyan, R., Rashid, A. (eds.) Workshop on Analysis of Aspect-Oriented Software, ECOOP 2003 (2003)

    Google Scholar 

  17. Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. In: ICSE, pp. 49–58. ACM Press, New York (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Balzer, S., Eugster, P.T., Meyer, B. (2006). Can Aspects Implement Contracts?. In: Guelfi, N., Savidis, A. (eds) Rapid Integration of Software Engineering Techniques. RISE 2005. Lecture Notes in Computer Science, vol 3943. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11751113_11

Download citation

  • DOI: https://doi.org/10.1007/11751113_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34063-8

  • Online ISBN: 978-3-540-34064-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics