Developing and managing today's distributed applications is hard. Three important reasons for the increasing complexity are: (1) stakeholders of systems have various, often conflicting quality requirements; (2) the systems are subject to highly dynamic and changing operating conditions; (3) activity in the systems is inherently localized, global control is hard to achieve or even impossible. In this dissertation, we present an approach for developing such complex systems. Key aspects of the approach are architecture-centric software development, self-management, and decentralized control. Architecture-centric software development compels the stakeholders of a system to deal explicitly with quality goals and tradeoffs. Self-management enables a software system to adapt autonomously with changing operating circumstances. Decentralized control exploits collaboration between subsystems, which is essential to cope with the inherent locality of activity. We present a reference architecture for a family of multiagent systems that architects can use when applying the approach, and we demonstrate how we have successfully applied the approach to an industrial AGV transportation system.
ThriftBooks sells millions of used books at the lowest everyday prices. We personally assess every book's quality and offer rare, out-of-print treasures. We deliver the joy of reading in recyclable packaging with free standard shipping on US orders over $20. ThriftBooks.com. Read more. Spend less.