Dynamic Software
Architectures
This research draws on principles and mechanisms of software architectures and decision theory to make software systems self-configuring and self- adaptive to both changes in requirements and in underlying resources.
The approach is based on the following key ideas:
(a) explicit representation of functional requirements (services) and of quality of service preferences;
(b) decoupling requirement specification from the lower level mechanisms that carry out configuration and adaptation, thus making a clean separation of concerns between what is needed and how it is carried out; and
(c) efficient algorithms to calculate in real time optimal system configuration and resource allocations.
See
also Project Aura.