The specification of a system is the conjunction of its components' specifications. Properties of the system are proved by reasoning about its components. We consider both the decomposition of a given system into parts, and the composition of given parts to form a system. The authors show that writing specifications of a finite set of components in a certain fashion enables their logical conjunction to represent the system arising from their parallel combination. The idea is disarmingly simple, but in practice the possibility of interference between components can make proving correctness rather complicated.
Several examples illustrate the ideas and potential difficulties well.
The authors discuss TLA, the temporal logic of actions, which is used to represent both specifications and implementation designs. The kernel of the paper is section 4, which discusses the decomposition theorem. This paper provides an important step in furthering our understanding of complex systems. To those familiar with TLA, the paper will be easy to follow. The authors present a method for deducing properties of a concurrent system by reasoning about its components.