Object models as heap invariants

  • Authors:
  • Daniel Jackson

  • Affiliations:
  • Lab. for Computer Science, 200 Technology Square, Cambridge, Massachusetts

  • Venue:
  • Programming methodology
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object models are widely used for describing structural properties of object-oriented programs, but they suffer from two problems. First, their semantics is usually unclear. Second, the textual constraints that are often used to annotate diagrams are not integrated with the diagrammatic notation itself. In this paper, we show how to interpret an object model as a heap invariant by translation to a small relational logic. With a few additional shorthands, this logic can be used for textual constraints, so that annotation is just conjunction. Our semantics is simpler than those proposed by others, and accounts for features of the object model that have not been addressed in treatments that focus on more abstract models.