Within reconfigurable computing, an Adaptive architecture is a system which changes its structure, behaviour or resources according to demand. The adaptation made is usually [always?] to non-functional characteristics rather than functional ones.

Something of a misnomer, because the thing that adapts is the working system, rather than the (more abstract) 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 [program] acquires as much memory as it can get (up to what it would need at most) 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 (the partition size, or the number of servers in a cluster, or the share of a processor, or the number of processes) are configured so that they shrink or grow with demand.

Adaptive business architecture: Could also be used (for example) 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.

See also

References

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.