Glossary · Automation software engineering and architecture
Component-based architecture
Also known as: Component-based software engineering (CBSE)
German: Komponentenbasierte Architektur
In software engineering, component-based architecture is an architecture pattern in which a system is composed of reusable, independently deployable components that interact only through well-defined interfaces, so components can be replaced or reused without changing the rest of the system.
- Software engineering
In one sentence
Component-based architecture composes a system from reusable, replaceable components that interact only through defined interfaces.
Example
A machine builder assembles control software for each order from tested components for infeed, forming and palletizing, configured rather than reprogrammed.
How it applies
- Engineering: In automation, component-based design often mirrors the mechanical structure: each machine module has a matching software component. IEC 61499 function blocks and object-oriented IEC 61131-3 extensions support this approach.
- Product management: Components enable modular machine concepts and faster engineering of variants. The price is investment in stable interfaces, versioning and component documentation.
- Documentation: Documentation can follow the same modular structure: one documentation module per component, reused wherever the component is used. This matches topic-based authoring, and DITA maps can assemble manuals from component documentation just as the software is assembled from components.
Component-based vs. layered architecture
Component-based architecture divides a system vertically into functional building blocks; Layered architecture divides it horizontally into levels of abstraction. Many automation systems combine both: components per machine module, each internally layered into hardware access, device logic and sequences.