Exploiting architectural prescriptions for self-managing, self-adaptive systems
Matthew J. Hawthorne, Dewayne E. Perry · 2004
We propose a high-level approach to software architecture that bridges the gap between system requirements (in the problem space) and the architectural design (in the solution space). We use abstract constraint- and intent-based architectural prescriptions to enable architectural reflection, reification, and distributed configuration discovery as the basis for designing adaptive, self-configuring software systems. We discuss some key architectural properties and patterns that facilitate the design and implementation of self-configuring systems, and use these as the basis for an example prototype architecture for self-evolving systems called Distributed Configuration Routing (DCR). Finally, we propose the development of architectural prescription languages (APLs) and enhanced system design environments to provide better support for intent-based architectures.