next up previous
Next: 2 Position Up: Interface Consistency Previous: Interface Consistency

1 Background

This paper stresses the importance of interface design and verification in the development of large modular designs. The primary reason for separating a design into distinct components is to enable the designer(s) to separate their concerns and work on one component at a time. These components need to communicate and coordinate their computations, the mechanism for doing this is called their interface, e.g., parameters to procedures and methods.

The separation of a design into distinct components creates the possibility that an interface is not treated consistently in all components communicating through the interface leading to errors and delays in design and development projects. When working on one component, the designer might treat the signaling on a communication line in one way and later when working on another component the signaling is treated differently. This is a very common source of errors in particular in large designs done by a large group of designers. What often happens is that the designers initially have an informal agreement about the conventions for using the interface. Later in the design process the details of this agreement are then interpreted differently in different components leading to an inconsistency. Interface verification consists of verifying that there are no such inconsistencies.


next up previous
Next: 2 Position Up: Interface Consistency Previous: Interface Consistency

Jorgen Staunstrup
Sept. 2, 1997