Reasoning about classes in object-oriented languages: Logical models and tools [chapter]

Ulrich Hensel, Marieke Huisman, Bart Jacobs, Hendrik Tews
1998 Lecture Notes in Computer Science  
A formal language CCSL is introduced for describing specifications of classes in object-oriented languages. We show how class specifications in CCSL can be translated into higher order logic. This allows us to reason about these specifications. In particular, it allows us (1) to describe (various) implementations of a particular class specification, (2) to develop the logical theory of a specific class specification, and (3) to establish refinements between two class specifications. We use the
more » ... dependently typed) higher order logic of the proof-assistant PUS, so that we have extensive tool support for reasoning about class specifications. Moreover, we describe our own front-end tool to PVS, which generates from CCSL class specifications appropriate PVS theories and proofs of some elementary results.
doi:10.1007/bfb0053566 fatcat:s7jrg52v5jeqhmvh4sckz7ljvi