A Calculus of Mobility and Communication for Ubiquitous Computing