Notations for Software Design aims to explain formal specification and design to practitioners in software development, and to set out the ingredients of a sound software design process. It examines COLD-1, which is currently being implemented by Philips in many of its business centres. The fact that it is a wide-spectrum language which supports many styles of specification makes it an excellent basis for the volume. It also examines some widely-used informal techniques, such as Venn diagrams and Petri nets, thus creating a strong link between current and future practice. Rather than proposing new pictorial notations the authors place existing ones into a coherent framework, and explain practical ways of exploiting them in conjunction with COLD-1.Notations for Software Design aims to explain formal specification and design to practitioners in software development, and to set out the ingredients of a sound software design process. It examines COLD-1, which is currently being implemented by Philips in many of its business centres. The fact that it is a wide-spectrum language which supports many styles of specification makes it an excellent basis for the volume. It also examines some widely-used informal techniques, such as Venn diagrams and Petri nets, thus creating a strong link between current and future practice. Rather than proposing new pictorial notations the authors place existing ones into a coherent framework, and explain practical ways of exploiting them in conjunction with COLD-1.1 Introduction.- 1.1 Software Design.- 1.2 Software Specification.- 1.3 Notations for Software Design.- 2 The Vending Machine Case.- 2.1 Objectives.- 2.2 Analysing the Application.- 2.3 Analysing the Building Blocks.- 2.4 Design.- 2.5 Realization.- 2.6 Concluding Remarks.- 3 Patterns for Definitions.- 3.1 Introduction and Motivation.- 3.2 States and State Transformers.- 3.3 Patterns for Function Definitions.- 3.4 Patterns folC)