Adaptive architecture


Adaptive architecture is a system which changes its structure, behaviour or resources according to demand. The adaptation made is usually to non-functional characteristics rather than functional ones.
Something of a misnomer, because the thing that adapts is the working system, rather than the architecture which defines the adaptability that is required of that system.
Adaptive software architecture: Used by programmers in relation to a program. An adaptive algorithm "is an algorithm which changes its behavior based on the resources available. For example… in the C++ Standard Library, the stable partition acquires as much memory as it can get and applies the algorithm using that available memory."
Adaptive infrastructure architecture: Used by infrastructure engineers in relation to the configuration of processors. The computing resources used by applications are configured so that they shrink or grow with demand.
Adaptive business architecture: Could also be used in connection with a workflow system that assigns human resources to a task or service to match the demand for that task or service. Or an organisation structure that flexes in response to business changes.