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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
Alexandrescu, A., Held, D.: Smart pointers reloaded (ii): Exception safety analysis. C/C++ Users J. 21(12), 40 (2003)
Austern, M.: Standard library exception policy. C++ Standards Committee Papers (1997). http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.asc
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)
Beck, K.: Smalltalk Best Practice Patterns. Prentice Hall (1997)
Barnett, M., Leino, R.K.M., Schulte, W.: The Spec# programming system: an overview. In: CASSIS 2004, LNCS, vol. 3362 (2004)
Conchon, S., Fillitre, J.C.: Semi-Persistent Data structures. In: Drossopoulou, S. (ed.) ESOP 2008, LNCS vol. 4960, pp. 322–336 (2008)
Driscoll, J.R., Sarnak, N., Sleator, D.D., Tarjan, R.E.: Making data structures persistent. J. Comput. Syst. Sci. 38(1) (1989)
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)
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)
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann (1993)
Griffiths, A.: More Exceptional Java (2002). http://www.octopull.demon.co.uk/java/MoreExceptionalJava.html
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)
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)
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)
Meyer, B.: Applying design by contract. Computer, vol. 25(10), pp. 40–51. IEEE Computer Society Press (1992)
Meyer, B.: Eiffel: The Language. Object-Oriented Series. Prentice Hall (1992)
Munkby, G., Schupp, S.: Automating exception-safety classification. Science of Computer Programming, vol. 76(4). Elsevier (2011)
OMG: OCL Specification, Version 2.0, Formal/2006-05-01 (2006)
Stroustrup, B.: Exception safety: concepts and techniques. Advances in Exception Handling Techniques, LNCS, vol. 2022, pp. 60–76. Springer (2001)
Vogel, L.: Eclipse Test and Performance Tools Platform (TPTP). http://www.vogella.de/articles/EclipseTPTP/article.html
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)