language: en

[Formal Aspects of Computing (1998) 3: 1-000 c 1998 BCS]

Protective Interface Specifications

Gary T. Leavens 2 and Jeannette M. Wing 3
1 Department of Computer Science, Iowa State University,
Ames, IA 50011 USA
2 Computer Science Department, Carnegie Mellon University,
Pittsburgh, PA 15213 USA

Abstract. The interface specification of a procedure describes the procedure's behavior using pre- and postconditions. These pre- and postconditions are written using various functions. If some of these functions are partial, or underspec-ified, then the procedure specification may not be well-defined. We show how to write pre- and postcondition specifications that avoid such problems, by having the precondition "protect" the postcondition from the effects of partiality and underspecification. We formalize the notion of protection from partiality in the context of specification languages like VDM-SL and COLD-K. We also formalize the notion of protection from underspecification for the Larch family of specification languages, and for Larch show how one can prove that a procedure specification is protected from the effects of underspecification.

1. The Problem