This paper proposes a way to realize the idea of calm computing by adding a dynamic task model into the pervasive computing environment. This task model contains information about the actions to undertake to help a user realize his daily tasks. The task model’s mapping onto a deployment plan guides an internal adaptation mechanism, which helps applications to evolve without causing user distraction. In addition, a foraging technique (relocation) is proposed that allows for expanding an application’s computing space automatically whenever possible. This technique involves external adaptation mechanisms. Both adaptation mechanisms are driven by resource information and resource contracts that are negotiated between the middleware and the application components. This allows the middleware to do the adaptations automatically, realizing the idea of calm computing. Categories and Subject Descriptors D.2.8 [Computer-Communication Networks]: Distributed Systems—distributed applications ...