Glossary · Automation software engineering and architecture
Layered architecture
Also known as: N-tier architecture, Layers pattern
German: Schichtenarchitektur
In software engineering, layered architecture is an architecture pattern that organizes a system into horizontal layers, each providing services to the layer above and using services of the layer below, such as hardware access, device logic, process logic and user interface.
- Software engineering
In one sentence
Layered architecture organizes software into horizontal layers, each serving the layer above and using the layer below.
Example
The machine software has four layers: I/O mapping, device function blocks, equipment modules and recipe-driven sequences; each layer only calls the one directly below.
How it applies
- Engineering: Layers separate concerns and make each part replaceable: new hardware changes the lowest layer, new process requirements change upper layers. In automation, layering often follows the ISA-88 physical model and the automation pyramid defined in ISA-95.
- Maintenance: Layer violations, such as HMI code writing directly to I/O, create hidden dependencies. Architecture reviews and naming conventions help keep layers clean.
- Documentation: Describe each layer's responsibility, interfaces and allowed dependencies in the architecture documentation. Library and service documentation can follow the same structure, so readers know where to look for device-level versus process-level information.
Layered vs. hexagonal architecture
In layered architecture, dependencies point downward, often toward infrastructure. Hexagonal architecture puts the domain logic at the center and makes infrastructure depend on it. Layered designs are easy to understand; hexagonal designs isolate core logic more strictly from technology changes.