We define a predicate-transformer semantics for an object-oriented language that includes specification constructs from refinement calculi. The language includes recursive classes, visibility control, dynamic binding, and recursive methods. Using the semantics, we formulate notions of refinement. Such results are a first step towards a refinement calculus. A revised and extended version of this paper was published elsewhere.
A. L. C. Cavalcanti and D. A. Naumann. A Weakest Precondition Semantics for an Object-oriented Language of Refinement. In Jeannette M. Wing, Jim Woodcock and Jim Davies, editors, FM'99 - Formal Methods, LNCS, 1709:1439-1459. Springer-Verlag, 1999.
Click here to retrieve a compressed PostScript file containing a copy of this paper.