Hostname: page-component-6bf8c574d5-xtvcr Total loading time: 0 Render date: 2025-02-20T23:46:39.807Z 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
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

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

Footnotes

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