In systems engineering, every pair of subsystems that must exchange data, power, or control signals needs a defined interface. If every subsystem talks to every other one directly ("flat" architecture), the number of interfaces is the number of pairs:
I_flat = N(N-1) / 2 (N choose 2)
This grows quadratically — double the subsystems and interfaces roughly quadruple. It is the classic reason large systems (spacecraft, aircraft, chip designs) become unmanageable to integrate and verify as they scale: this is exactly what an N² interaction matrix is used to audit in real programs.
The standard remedy is modular decomposition: partition the N subsystems into groups of size k, fully connect each group internally, then let every group talk to the rest of the system through one shared, well-specified bus interface instead of a direct line to every other group:
I_hier = Σ over groups [ k(k-1)/2 ] + (number of groups)
Every interface count shown here — including the ones plotted on the growth chart — is obtained by actually building the node/edge graph for that N and mode and counting the edges, not by evaluating the formulas above as a shortcut. The formulas are shown only for reference; they should always agree with the counted values.
- N slider — total subsystem count.
- k slider — subsystems per module (hierarchical mode only).
- Flat mesh / Hierarchical modules — switch architecture; the diagram, matrix and interface count update immediately.
- Graph view / Matrix view — switch the main visualization between a node-link diagram and the raw N×N interface matrix.
- Run verification pass — sends a pulse along every live interface, the way an integration test exercises every defined interface once; more interfaces means a longer, costlier verification campaign.
The chart below the diagram plots counted interface totals against N for both architectures at the current module size k, from N=4 up to the slider's maximum. Flat mesh traces an exact parabola (N(N-1)/2). With k held fixed, hierarchical interfaces grow roughly linearly in N (a fixed number of intra-module interfaces added per module), which is sub-quadratic — far below the flat-mesh curve once N grows past a few modules.
Real-world relevance: this is why interface control documents (ICDs), bus standards (CAN, MIL-STD-1553, SpaceWire) and layered/modular architectures exist — they trade a little indirection for a large cut in integration and verification cost.