Program Functions and Abstraction Functions for the TTP Table Holder

Ms. MeiHong Wang

Software Engineering Research Group
CRL, McMaster University,
Hamilton, Ontario, Canada L8S 4K1


In [1], Parnas et al. proposed a formal method to document the internal design of a software module. This method uses a program function to document every program's effect on the module's data structure and uses an abstraction function to connect the concrete data state of a module with its abstract state as described in the module interface specification. The resulting document is called the module internal design document. This document can be used to verify the correctness of the module design.

The Software Engineering Research Group (SERG) of McMaster University is working on a project called Table Tool Project (TTP). One part of this project is to produce a software tool system, namely Table Tool System (TTS). The module called Table Holder (TH) is the basic module of the TTS. A black box description of the TH was available (see appendix A). One of the most urgent tasks which remained open to the TTP was obtaining a rigorous clear box description of the code implementing the TH and to use it to verify that this code conformed to the black box specification of the TH. This report provides the needed documentation. The organizational and notational issues are discussed in this report.