Logo image
An Object-Oriented Refinement Calculus with Modular Reasoning
Dissertation

An Object-Oriented Refinement Calculus with Modular Reasoning

Mark Utting
Doctor of Philosophy, University of New South Wales
1992

Abstract

Computer Software
In this thesis, the refinement calculus is extended to support a variety of object-oriented programming styles. The late binding of procedure calls in object-oriented languages is modelled by defining an object-oriented system to be a function from procedure names and argument values to the procedures that are invoked by late binding. The first model allows multiple dispatch late binding, in the style of CLOS. This model is then specialised to the single dispatch case, giving a model that associates types with objects, which is similar to existing class based object-oriented languages. Both models are then restricted so that they support modular reasoning. The concept of modular reasoning has been defined informally in the literature, both for non-object-oriented systems and for object-oriented systems. This thesis gives the first formal definition of modular reasoning for object-oriented languages. Intuitively, the definition seems to capture the minimum possible requirements necessary to support modular reasoning. For simplicity, the definition only allows data refinement between the implementation and specification of an object, not between types and subtypes. The removal of this restriction is discussed in the section on further work.

Details

Metrics

665 Record Views
Logo image