A Technique for Software Module Specification
At the beginning of the 1970ies there is a growing recognition that a major contributing factor in software engineering is a lack of techniques for precisely specifying program segments without revealing too much information.
David Lorge Parnas presents an approach in his paper “A Technique for Software Module Specification with Examples” to write specifications for parts of software systems with the goal to provide precise and complete specifications. So that other pieces of software can be written to interact with the specified piece without additional information. The basis of the technique is a view of a program module as a device with a set of switch inputs and readout indicators. Possible positions of the input switches and the effect of moving the switches on the values of the readout indicators are specified by this technique.
He also describes in his paper that the usage of this technique shows that there is a great initial resistance to the use of such techniques. This approach is very unfamiliar to men with a lot of programming experience.