Towards Adaptive Systems through Requirements@Runtime Liliana Pasquale 1 , Luciano Baresi 2 , Bashar Nuseibeh 1,3 1 Lero - Irish Software Engineering Research Centre, Ireland {liliana.pasquale|bashar.nuseibeh}@lero.ie 2 Politecnico di Milano, Italy baresi@elet.polimi.it 3 The Open University, Milton Keynes, United Kingdom b.nuseibeh@open.ac.uk Abstract. Software systems must adapt their behavior in response to changes in the environment or in the requirements they are supposed to meet. Despite adaptation capabilities could be modeled with great detail at design time, anticipating all possible adaptations is not always feasible. To address this problem the requirements model of the system, which also includes the adaptation capabilities, is conceived as a run- time entity. This way, it is possible to trace requirements/adaptation changes and propagate them onto the application instances. This paper leverages the FLAGS [1] methodology, which provides a goal model to represent adaptations and a runtime infrastructure to manage require- ments@runtime. First, this paper explains how the FLAGS infrastructure can support requirements@runtime, by managing the interplay between the requirements and the executing applications. Finally, it describes how this infrastructure can be used to adapt the system, and, consequently, support the evolution of requirements. 1 Introduction Software systems must be able to adapt to continue to achieve their require- ments while they are executing. The need for adaptation may be triggered by different events: the application reaches a particular execution state, the con- text changes, established requirements are not satisfied, or the objectives of the system change. Some of these events can be foreseen in advance, and thus the corresponding adaptation capabilities, foreseen adaptations, can be planned and designed carefully, while others cannot and adaptation capabilities, unforeseen adaptations, must be devised completely at runtime. Note that, besides pre- dictability, there is a tradeoff between the number of different events the system is able to react to (completeness) and the cost of embedding these reactions from the beginning. Furthermore, even if all possible adaptations could be anticipated This research has been funded by Science Foundation Ireland grant 03/CE2/I303 1 and the European Commission, Programmes: IDEAS-ERC, Project 227977 SMScom, and FP7 Network of Excellence 215483 S-Cube.