  Self-adaptive systems are capable of adjusting their behavior to cope with
the changes in environment and itself. These changes may cause runtime
uncertainty, which refers to the system state of failing to achieve appropriate
reconfigurations. However, it is often infeasible to exhaustively anticipate
all the changes. Thus, providing dynamic adaptation mechanisms for mitigating
runtime uncertainty becomes a big challenge. This paper suggests solving this
challenge at requirements phase by presenting REDAPT, short for
REquirement-Driven adAPTation. We propose an adaptive goal model (AGM) by
introducing adaptive elements, specify dynamic properties of AGM by providing
logic based grammar, derive adaptation mechanisms with AGM specifications and
achieve adaptation by monitoring variables, diagnosing requirements violations,
determining reconfigurations and execution. Our approach is demonstrated with
an example from the Intelligent Transportation System domain and evaluated
through a series of simulation experiments.
