Skip to main content

Refining Exceptions in Four-Valued Logic

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6037))

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

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arieli, O., Avron, A.: Reasoning with logical bilattices. Journal of Logic, Language, and Information 5(1), 25–63 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  2. Arieli, O., Avron, A.: The value of four values. Artificial Intelligence 102(1), 97–141 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  3. Back, R.J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer, Heidelberg (1998)

    MATH  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  7. Fitting, M.: Kleene’s three-valued logics and their children. Fundamenta Informaticae 20(1/2/3), 113–131 (1994)

    MATH  MathSciNet  Google Scholar 

  8. Ginsberg, M.L.: Multivalued logics: A uniform approach to reasoning in artificial intelligence. Computational Intelligence 4, 265–316 (1988)

    Article  Google Scholar 

  9. Groves, L.J.: Evolutionary Software Development in the Refinement Calculus. PhD thesis, Victoria University of Wellington (2000)

    Google Scholar 

  10. Hähnle, R.: Many-valued logic, partiality, and abstraction in formal specification languages. Logic Journal of the IGPL 13(4), 415–433 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. Jones, C.B.: Systematic Software Development Using VDM. International Series in Computer Science. Prentice-Hall International, Englewood Cliffs (1986)

    MATH  Google Scholar 

  13. Jones, C.B., Middelburg, C.A.: A typed logic of partial functions reconstructed classically. Acta Informatica 31(5), 399–430 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  14. King, S., Morgan, C.: Exits in the refinement calculus. Formal Aspects of Computing 7(1), 54–76 (1995)

    Article  MATH  Google Scholar 

  15. Laibinis, L., von Wright, J.: Context handling in the refinement calculus framework. Technical Report 118, TUCS Technical Report (1997)

    Google Scholar 

  16. Morgan, C.: Programming from specifications. 2nd edn. Prentice-Hall International Series in Computer Science. Prentice-Hall International (1994)

    MATH  Google Scholar 

  17. 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)

    Article  MATH  MathSciNet  Google Scholar 

  18. Nishimura, S.: Refining exceptions in four-valued logic, http://www.math.kyoto-u.ac.jp/~susumu/papers/lopstr09-full.pdf

  19. Owe, O.: Partial logics reconsidered: A conservative approach. Formal Aspects of Computing 5(3), 208–223 (1993)

    Article  MATH  Google Scholar 

  20. 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)

    MATH  Google Scholar 

  21. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics