An autonomic system is essentially characterized by quality requirements that specify that the system should be able to adapt itself (configure optimize, heal, etc.) under varying circumstances and situations. These quality requirements call for an architecture centric software engineering approach. In this paper, we discuss and illustrate the architectural design of a complex real-world distributed application with autonomic quality requirements. In particular, we present an architecture with autonomous entities (agents) for managing warehouse logistics. We illustrate how the subsequent architectural decisions are guided by a reference architecture for situated multi-agent systems on the one hand, and by functional and quality requirements of the application on the other hand.
['Danny Weyns', 'Kurt Schelfthout', 'Tom Holvoet']
Architectural design of a distributed application with autonomic quality requirements