Summary

Component-based approaches work best when interfaces expose the right information: assumptions, guarantees, and constraints. This page keeps a practical view: how to reason about behaviour at boundaries and how to avoid accidental coupling.

Short notes

  • Assume / guarantee framing When describing a component, separate what it requires from its environment (assumptions) from what it provides (guarantees). This makes composition failures much easier to diagnose.
  • Boundary behaviour matters Most incidents occur at boundaries: timeouts, retries, partial failure, and ordering issues. Document these behaviours explicitly to prevent “hidden contracts”.
  • Measurement is part of the model If performance is relevant, make measurement part of the engineering process: establish budgets and track tail behaviour. It’s easier to maintain a budget than to “optimise” indefinitely.

Reading pointers

A small set of starting points (general reference pages).