Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 4334))

  • 1693 Accesses

Abstract

Specification languages typically offer idealistic data types that are not available in programming languages. For example, the integer data types available in the specification languages UML/OCL, Z, B, and Java Card DL (which can also be seen as a specification language) are isomorphic to the mathematical integers ℤ having an infinite domain. On the other hand, the built-in integer types in Java and many other programming languages have finite domains. As a consequence the semantics of data types on specification and implementation level differ (at least on the boundaries of the domain).

In this section we clarify the quite subtle relation between integer data types in Java Card DL and Java. It turns out that the Java integers are not a refinement of the type integer in Java Card DL but a so-called retrenchment which constitutes a generalisation of refinement. Note, that the problems and solutions given in this section are not restricted to Java Card DL and Java. They analogously apply to other specification languages like e.g., UML/OCL, Z and B and to several programming languages like e.g., C and C++.

This section may also serve as a lightweight introduction to refinement and retrenchment (for a more detailed and systematic introduction we recommend [Derrick and Boiten, 2001] and [Banach and Poppleton, 1998], respectively). This section is based on material published in [Beckert and Schlager, 2004, 2005, Schlager, 2002].

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

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.

Authors

Editor information

Bernhard Beckert Reiner Hähnle Peter H. Schmitt

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this chapter

Cite this chapter

Schlager, S. (2007). Java Integers. In: Beckert, B., Hähnle, R., Schmitt, P.H. (eds) Verification of Object-Oriented Software. The KeY Approach. Lecture Notes in Computer Science(), vol 4334. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69061-0_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69061-0_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-68977-5

  • Online ISBN: 978-3-540-69061-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics