Class Refinement and Interface Refinement in Object-Oriented Programs. Mikhajlova, A. & Sekerinski, E. In Fitzgerald, J., Jones, C., & Lucas, P., editors, FME '97: Industrial Applications and Strengthened Foundations of Formal Methods, volume 1313, of Lecture Notes in Computer Science, pages 82–101, Graz, Austria, September, 1997. Springer-Verlag.
Class Refinement and Interface Refinement in Object-Oriented Programs [pdf]Paper  doi  abstract   bibtex   4 downloads  
Constructing new classes from existing ones by inheritance or subclassing is a characteristic feature of object-oriented development. Imposing semantic constraints on subclassing allows us to ensure that the behaviour of superclasses is preserved or refined in their subclasses. This paper defines a class refinement relation which captures these semantic constraints. The class refinement relation is based on algorithmic and data refinement supported by Refinement Calculus. Class refinement is generalized to interface refinement, which takes place when a change in user requirements causes interface changes of classes designed as refinements of other classes. We formalize the interface refinement relation and present rules for refinement of clients of the classes involved in this relation.

Downloads: 4