Abstract
This paper discusses refinement of programs that may raise and catch exceptions. We show that exceptions are expressed by a class of predicate transformers built on Arieli and Avron’s four-valued logic and develop a refinement framework for the four-valued predicate transformers. The resulting framework enjoys several refinement laws that are useful for stepwise refinement of programs involving exception handling and partial predicates. We demonstrate some typical usages of the refinement laws in the proposed framework by a few examples of program transformation.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Arieli, O., Avron, A.: Reasoning with logical bilattices. Journal of Logic, Language, and Information 5(1), 25–63 (1996)
Arieli, O., Avron, A.: The value of four values. Artificial Intelligence 102(1), 97–141 (1998)
Back, R.J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer, Heidelberg (1998)
Belnap, N.D.: A useful four-valued logic. In: Epstein, G., Dunn, J.M. (eds.) Modern Uses of Multiple-Valued Logic, pp. 7–37. Reidel Publishing Company, Dordrechtz (1977)
Bono, V., Kerber, M.: Extending Hoare calculus to deal with crash. Technical Report CSR-06-08, School of Computer Science, The University of Birmingham (2006)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Fitting, M.: Kleene’s three-valued logics and their children. Fundamenta Informaticae 20(1/2/3), 113–131 (1994)
Ginsberg, M.L.: Multivalued logics: A uniform approach to reasoning in artificial intelligence. Computational Intelligence 4, 265–316 (1988)
Groves, L.J.: Evolutionary Software Development in the Refinement Calculus. PhD thesis, Victoria University of Wellington (2000)
Hähnle, R.: Many-valued logic, partiality, and abstraction in formal specification languages. Logic Journal of the IGPL 13(4), 415–433 (2005)
Huisman, M., Jacobs, B.: Java program verification via a Hoare logic with abrupt termination. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 284–303. Springer, Heidelberg (2000)
Jones, C.B.: Systematic Software Development Using VDM. International Series in Computer Science. Prentice-Hall International, Englewood Cliffs (1986)
Jones, C.B., Middelburg, C.A.: A typed logic of partial functions reconstructed classically. Acta Informatica 31(5), 399–430 (1994)
King, S., Morgan, C.: Exits in the refinement calculus. Formal Aspects of Computing 7(1), 54–76 (1995)
Laibinis, L., von Wright, J.: Context handling in the refinement calculus framework. Technical Report 118, TUCS Technical Report (1997)
Morgan, C.: Programming from specifications. 2nd edn. Prentice-Hall International Series in Computer Science. Prentice-Hall International (1994)
Morris, J.M., Bunkenburg, A.: E3: A logic for reasoning equationally in the presence of partiality. Science of Computer Programming 34(2), 141–158 (1999)
Nishimura, S.: Refining exceptions in four-valued logic, http://www.math.kyoto-u.ac.jp/~susumu/papers/lopstr09-full.pdf
Owe, O.: Partial logics reconsidered: A conservative approach. Formal Aspects of Computing 5(3), 208–223 (1993)
Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes: The Art of Scientific Computing, 3rd edn. Cambridge University Press, Cambridge (2007)
Watson, G.: Refining exceptions using King and Morgan’s exit construct. In: 9th Asia-Pacific Software Engineering Conference (APSEC 2002), pp. 43–51. IEEE Computer Society, Los Alamitos (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nishimura, S. (2010). Refining Exceptions in Four-Valued Logic. In: De Schreye, D. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2009. Lecture Notes in Computer Science, vol 6037. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12592-8_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-12592-8_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12591-1
Online ISBN: 978-3-642-12592-8
eBook Packages: Computer ScienceComputer Science (R0)