A new model of inter-module dependences is proposed. The key idea is that dependences are mediated by specifications, so that not only the existence of a dependence is recorded, but also its quality. A single module does hot necessarily offer only a single specification; each dependent module may use it through a different specification. This notion of dependence seems to explain some common programming idioms more readily than the conventional notion, and offers new opportunities for analysis and design critique.
展开▼