This research introduces a new way of thinking about software systems for supporting the activities of end-users.
In AoC, models of user activities are promoted to first class entities, and software systems are assembled and configured dynamically based on such models. This constitutes a fundamental change of perspective over traditional applications: user activities take the main stage and may be long-lived, whereas the agents that carry them out are plentiful and interchangeable. The models explored by this research include user needs and preferences for the activity, probabilistic models of workflow, and cognitive and attention models.
This research has applications to ubiquitous computing, autonomous agents and to assisting users with complex tasks. An important goal of AOC is to reduce the cognitive load on users, by making software systems more aware of, and customized to, each activity of the users.