This paper reviews concepts, principles and tools that have led to a coherent mathematical theory of causation based on structural models. The theory provides solutions to a number of problems in causal inference, including questions of confounding control, policy analysis, mediation, missing...