Bridging the Gap between Services, Devices and Humans in AmI Environments