The EasyLiving project is concerned with development of an architecture and technologies for intelligent environments which
allow the dy- namic aggregation of diverse I/O devices into a single coherent user experi- ence. Components of such a system
include middleware (to facilitate distrib- uted computing), world modelling (to provide location-based context), perception
(to collect information about world state), and service description (to support decomposition of device control, internal
logic, and user interface). This paper describes the current research in each of these areas, highlighting some common requirements
for any intelligent environment.