A pattern for implementing user interfaces, based around the concept of a heirachy of cooperating agents.
Each agent is a unitary aspect of the system, operating as a node in the agent heirachy. Each agent consists of Presentation, Abstraction, and Control components.
Similar to Model View Controller, in the way that the Control component connects Presentation and Abstraction.
Different to MVC in the way in which the Agent heirachy reflects transitive dependencies between agents. (Chaining controllers together?)
Human computer interaction, feedback devices. Responses to input control, specific duties of functionality.
(See Pattern-Oriented Software Architecture, Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal.)