Skip to main content
Log in

ERC – An object-oriented refinement calculus for Eiffel

  • Published:
Formal Aspects of Computing

Abstract.

We present a refinement calculus for transforming object-oriented (OO) specifications (or ‘contracts’) of classes into executable Eiffel programs. The calculus includes the usual collection of algorithmic refinement rules for assignments, if-statements, and loops. However, the calculus also deals with some of the specific challenges of OO, namely rules for introducing feature calls and reference types (involving aliasing). The refinement process is compositional in the sense that a class specification is refined to code based only on the specifications (not the implementations) of the classes that the specification depends upon. We discuss how automated support for such a process can be developed based on existing tools. This work is done in the context of a larger project involving methods for the seamless design of OO software in the graphical design notation BON (akin to UML). The goal is to maintain model and source code integrity, i.e., the software developer can work on either the model or the code, where (ideally) changes in one view are reflected instantaneously and automatically in all views.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Richard F. Paige.

Additional information

Correspondence and offprint request to: Richard F. Paige, Department of Computer Science, University of York, Heslington, York, YO10 5DD, United Kingdom. Email: paige@cs.york.ac.uk

The authors thank the National Sciences and Engineering Research Council of Canada for their support.

Received January 2000 Accepted in revised August 2003 by B.C. Pierce

Rights and permissions

Reprints and permissions

About this article

Cite this article

Paige, R., Ostroff, J. ERC – An object-oriented refinement calculus for Eiffel. Formal Aspects of Computing 16, 51–79 (2004). https://doi.org/10.1007/s00165-003-0024-3

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-003-0024-3

Key words

Navigation