Layered system

Definition
A layered system is a system that

"separates functions, with each layer providing services to the layer above and receiving services from the layer below."