Orthogonality of specifications

Orthogonal (or at least, loosely coupled) specifications allow independed evolution of components and facilitate re-use in unforseen combinations.

Orthogonal abstractions deserve orthogonal specifications. Specifications should clearly indicate those features that simultaneously access information from otherwise orthogonal abstractions. For example a specification should draw attention to a feature that requires information from both the header and the body of a message.