Publisher Summary Communication diagrams generalize data flow diagrams (DFDs) by adding some notational conventions that allow one to represent type-level components, component hierarchy, and closely coupled components. They are intended to be used to represent the requirements-level architecture of the system under development (SuD), which is the architecture it would have if perfect implementation technology were available. A communication diagram shows the components of a system and their interconnections by boxes and arrows. A component is an element of the system that delivers a service to its environment. Components are represented by rectangles, and the decomposition relationship between components is represented by the containment relationship between rectangles. A communication channel is a connection between components through which one component can cause another component to do something. An event channel is a connection through which one component can cause another component to provide a service. The channel is named after the service itself or after the event that the service is caused. An event channel is represented by a dashed arrow, where the direction of the arrow represents the direction of causality. A data channel is a connection through which one component can get information about another one and is represented by a solid arrow, where the direction of the arrow represents the direction of information flow.