Glossary · Automation software engineering and architecture
Abstraction
Also known as: Software abstraction
German: Abstraktion
In software engineering, abstraction is the practice of representing a component by its essential behavior and interface while hiding implementation details that callers do not need. In automation software, abstraction lets application logic address a valve, drive or axis without knowing how the underlying hardware or fieldbus is accessed.
- Software engineering
In one sentence
Abstraction represents a software component by its essential behavior and interface and hides implementation details from its users.
Example
A 'Valve' function block exposes Open, Close and a feedback status, while hardware-specific output mapping stays inside the block, so the same sequence code works with different valve terminals.
Explained in context
Context cards connect this term with others to answer one question. Also in British English and German.
How it applies
- Engineering: Abstraction separates what a module does from how it does it. In PLC projects, device function blocks and equipment modules abstract field devices so sequence logic can be reused across machine variants.
- Maintenance: A well-chosen abstraction limits the impact of a hardware change to one module, which keeps Impact analysis and retesting manageable.
- Documentation: Describe each abstraction at the level users interact with: its interface, states, parameters and error behavior. Document the hidden implementation separately for developers, and keep both in sync with the Component interface definition.
Abstraction vs. encapsulation
Abstraction decides which aspects of a component are shown to its users. Encapsulation is the mechanism that enforces the boundary by restricting direct access to internal data. They usually work together: an abstract interface is only reliable if the internals behind it are encapsulated.
Too much abstraction has a cost: extra layers can add execution time, make diagnostics harder and hide behavior that commissioning engineers need to see.