att_abstract={{The problem of self-optimization and adaptation in the context of customizable systems is becoming increasingly important with the emergence of complex software systems and unpredictable execution environments. Here, a general framework for automatically deciding on when and how to adapt a system whenever it deviates from the desired behavior is presented. In this framework, the system’s target behavior is described as a high-level policy that establishes goals for a set of performance indicators. The decision process is based on information provided independently for each component that describes the available adaptations, their impact on performance indicators, and any limitations or requirements. The technique consists of both offline and online phases. Offline, rules are generated specifying component adaptations that may help to achieve the established goals when a given change in the execution context occurs. Online, the corresponding rules are evaluated when a change occurs to choose which adaptations to perform. Experimental results using a prototype framework in the context of a web-based application demonstrate the effectiveness of this approach.}},
	att_authors={mh7921, rs2497},
	att_categories={C_NSS.4, C_NSS.5},
	att_copyright_notice={{This version of the work is reprinted here with permission of IEEE for your personal use. Not for redistribution. The definitive version was published in 2012. {{, 2012-08-01}}
	att_tags={adaptive systems, distributed systems},
	author={Liliana Rosa and Luis Rodrigues and Antonia Lopes and Matti Hiltunen and Richard Schlichting},
	institution={{IEEE Transactions on Software Engineering}},
	title={{Self-management of Adaptable Component-based Applications}},