Skip to main content

Part of the book series: Studies in Computational Intelligence ((SCI,volume 733))

  • 617 Accesses

Abstract

Algorithms for the transaction rollback belong to the fundamentals of database theory and practice. Much less attention has been paid to the method rollback in the realm of object-oriented systems. This issue was studied in the context of exception handling. In a previous paper, a new algorithm for computing old attribute values has been proposed. In this paper that algorithm is used to implement a procedure for method rollback. It is shown that this procedure ensures the so called strong exception safety.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. Abrahams, D.: Exception-safety in generic components—lessons learned from specifying exception-safety for the C++ standard library. In: Jazayeri, M., Loos, R., Musser, D.R. (eds.) Generic Programming, LNCS, vol. 1766, pp. 69–79 (1998)

    Google Scholar 

  2. Alexandrescu, A., Held, D.: Smart pointers reloaded (ii): Exception safety analysis. C/C++ Users J. 21(12), 40 (2003)

    Google Scholar 

  3. Austern, M.: Standard library exception policy. C++ Standards Committee Papers (1997). http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.asc

  4. Baar, T., Chiorean, D., Correa, A., Gogolla, M., Hussmann, H., Patrascoiu, O., Schmitt, P., Warmer, J.: Tool support for OCL and related formalisms—needs and trends. In: Bruel, J.M. (ed.) Satellite Events at the MoDELS 2005 Conference, LNCS, vol. 3844 (2006)

    Google Scholar 

  5. Beck, K.: Smalltalk Best Practice Patterns. Prentice Hall (1997)

    Google Scholar 

  6. Barnett, M., Leino, R.K.M., Schulte, W.: The Spec# programming system: an overview. In: CASSIS 2004, LNCS, vol. 3362 (2004)

    Google Scholar 

  7. Conchon, S., Fillitre, J.C.: Semi-Persistent Data structures. In: Drossopoulou, S. (ed.) ESOP 2008, LNCS vol. 4960, pp. 322–336 (2008)

    Google Scholar 

  8. Driscoll, J.R., Sarnak, N., Sleator, D.D., Tarjan, R.E.: Making data structures persistent. J. Comput. Syst. Sci. 38(1) (1989)

    Google Scholar 

  9. Dzidek, W., Briand, L., Labiche, Y.: Lessons learned from developing a dynamic OCL constraint enforcement tool for java. In: Best Papers of Satellite Workshops at the Models’05 Conference, LNCS, vol. 3844, pp. 9–19 (2006)

    Google Scholar 

  10. Darvas, A., Müller, P.: Reasoning about method calls in JML specifications. In: Proceedings of the 7th Workshop on Formal Techniques for Java-like Programs (FTfJP’05), Glasgow, Scotland (2005)

    Google Scholar 

  11. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann (1993)

    Google Scholar 

  12. Griffiths, A.: More Exceptional Java (2002). http://www.octopull.demon.co.uk/java/MoreExceptionalJava.html

  13. Hussmann, H., Finger, F., Wiebicke, R.: Using previous property values in OCL postconditions: an implementation perspective. In: International Workshop ‘UML 2.0—The Future of the UML Constraint Language OCL’, 2’nd of October, York, UK (2000)

    Google Scholar 

  14. Kosiuczenko, P.: On the implementation of @pre. In: Chechik, M., Wirsing, M. (eds) Fundamental Approaches to Software Engineering, LNCS, vol. 5503, pp. 246–261 (2009)

    Google Scholar 

  15. Kosiuczenko, P.: An abstract machine for the old value retrieval. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) Mathematics of Program Construction (MPC 2010), LNCS, vol. 6120. Springer (2010)

    Google Scholar 

  16. Meyer, B.: Applying design by contract. Computer, vol. 25(10), pp. 40–51. IEEE Computer Society Press (1992)

    Google Scholar 

  17. Meyer, B.: Eiffel: The Language. Object-Oriented Series. Prentice Hall (1992)

    Google Scholar 

  18. Munkby, G., Schupp, S.: Automating exception-safety classification. Science of Computer Programming, vol. 76(4). Elsevier (2011)

    Google Scholar 

  19. OMG: OCL Specification, Version 2.0, Formal/2006-05-01 (2006)

    Google Scholar 

  20. Stroustrup, B.: Exception safety: concepts and techniques. Advances in Exception Handling Techniques, LNCS, vol. 2022, pp. 60–76. Springer (2001)

    Google Scholar 

  21. Vogel, L.: Eclipse Test and Performance Tools Platform (TPTP). http://www.vogella.de/articles/EclipseTPTP/article.html

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Piotr Kosiuczenko .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this chapter

Cite this chapter

Kosiuczenko, P. (2018). Ensuring the Strong Exception Safety. In: Kosiuczenko, P., Madeyski, L. (eds) Towards a Synergistic Combination of Research and Practice in Software Engineering. Studies in Computational Intelligence, vol 733. Springer, Cham. https://doi.org/10.1007/978-3-319-65208-5_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65208-5_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65207-8

  • Online ISBN: 978-3-319-65208-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics