Perspectives
Causality Through a Systems Architect's Eyes
Incident analysis teaches causal humility: engineers distinguish a trigger, latent conditions, contributing factors and structural weaknesses instead of searching for one…
I approach causality with an occupational habit: I want to draw boxes and arrows. That habit is useful because architecture forces questions about state, boundaries, interfaces, resources and failure. It is dangerous because natural systems were not designed to respect our diagrams.
Real causal systems can contain multiple necessary conditions, feedback, common causes, probabilistic effects and interactions. Correlation alone does not identify which intervention would change an outcome.
Where does state live?
Real causal systems can contain multiple necessary conditions, feedback, common causes, probabilistic effects and interactions. Correlation alone does not identify which intervention would change an outcome.
Software gives us the expectation that important state should have an owner. Natural systems often distribute state across structure, concentrations, relationships and history. A snapshot can therefore tell us less than the process that produced it.
Where are the interfaces?
Incident analysis teaches causal humility: engineers distinguish a trigger, latent conditions, contributing factors and structural weaknesses instead of searching for one villain.
Engineered interfaces are declarations. Natural boundaries are often material: membranes, tissues, ecological borders, channels, gradients or social conventions. They can leak, adapt and participate in the behavior they constrain.
What is the failure model?
Nature does not provide a canonical distributed trace with every causal edge labeled. The causal model depends on the question, intervention and level of description.
Failure analysis is useful because normal operation hides assumptions. A healthy component can coexist with an unhealthy whole. A local optimization can damage the larger system. Robustness at one level can create fragility at another.
History is part of the architecture
From Hume's skepticism about directly perceiving causation to modern experimental and statistical methods, causal reasoning became a formal problem about interventions and counterfactuals.
In a designed system, legacy structure may be accidental baggage. In an evolved or historically accumulated system, legacy structure can be the reason the current architecture exists at all. The path is not documentation around the system; sometimes it is part of the system.
The zoom test
A good architectural description should survive zooming. Going down a level should reveal mechanisms capable of implementing the higher-level pattern. Going up should reveal regularities that justify discussing the larger entity in its own vocabulary.
Causality is partly about what happened and partly about what would differ under a change.
When many conditions are necessary, what justifies calling one of them the cause?
Reading trail
These links are starting points for the scientific and historical ideas. The systems interpretation, analogies and conclusions here are my own.