Chapter 10. Every System Is Perfect…
For What It Was Designed to Do!
Analyzing system behavior
Much of what architects do is reason about the behavior of complex systems: systems that have many pieces and complex interrelationships. There’s an entire field dedicated to such reasoning, called systems thinking or complex systems theory. While popular software architecture definitions focus on a system’s components and interrelationships, systems thinking emphasizes behavior (Chapter 8). As architects, we should view structure simply as a means to achieve a desired behavior. Thinking in systems helps us do so.
Heater as a System
A residential heater provides a canonical example of a system, which we also look at when we realize that control is an illusion (Chapter 27). As demonstrated in Figure 10-1, a heating system’s typical architecture diagram would depict the components and their relationships: a furnace generates hot water or air, a radiator or air duct delivers the heat to the room, and a thermostat controls the furnace. The structural/control system theory point of view, shown at the top of the figure, considers the thermostat the central element: it switches the furnace on and off as needed to regulate the room temperature.