Skip to content

Abstraction Layering

Complex systems become manageable when organized into layers where each layer only depends on abstractions provided by layers below, not their implementations.

Tension Addressed

Abstraction vs. Concreteness; Flexibility vs. Safety

Recognizable As

OSI model, clean architecture layers, compiler phases, virtual machines, API layers

Canonical Sources

Dijkstra, THE Multiprogramming System (1968); Clean Architecture (Robert Martin); Hennessy & Patterson on ISA abstraction

Transfers To

System Architecture, Network Design, Compiler Design, Operating Systems, Database Engines

Each layer presents a simpler interface upward while hiding complexity below. This is how we build systems more complex than any human can fully understand.