Hostname: page-component-78c5997874-8bhkd Total loading time: 0 Render date: 2024-11-17T14:52:26.709Z Has data issue: false hasContentIssue false

Denotational semantics for a program logic of objects

Published online by Cambridge University Press:  17 May 2006

BERNHARD REUS
Affiliation:
Department of Informatics, University of Sussex, Brighton BN1 9QH, U.K.
JAN SCHWINGHAMMER
Affiliation:
Programming Systems Lab, Saarland University, 66041 Saarbrücken, Germany

Abstract

The object-calculus is an imperative and object-based programming language in which every object comes equipped with its own method suite. Consequently, methods need to reside in the store (‘higher-order store’), which complicates the semantics. Abadi and Leino defined a program logic for this language enriching object types by method specifications. We present a new soundness proof for their logic using denotational semantics. It turns out that denotations of store specifications are predicates defined by mixed-variant recursion. A benefit of our approach is that derivability and validity can be kept distinct. Moreover, it reveals which of the limitations of Abadi and Leino's logic are incidental design decisions and which follow inherently from the use of a higher-order store. We discuss the implications for the development of other, more expressive, program logics.

Type
Paper
Copyright
2006 Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Footnotes

This work was supported by the EPSRC under grant GR/R65190/01, ‘Programming Logics for Denotations of Recursive Objects’.