We present a process calculus, CCA, for the modelling and verification of mobile systems that are context-aware. This process calculus is built upon the calculus of mobile ambients and introduces new constructs to enable ambients and processes to be aware of the environment in which they are being executed. This results in a powerful calculus where mobility and context-awareness are first-class citizens. We present the syntax and a formal semantics of the calculus. We show that CCA can encode the -calculus, and illustrate the pragmatics of the calculus through a case study of a context-aware hospital bed.