Revision with unchanged content. Mobile applications running on personal devices, like smartphones, PDAs, or laptop computers, create a fascinating market for many new mobile services. Mobile commerce, location-based services, multimedia messaging, or mobile gaming are expected to constitute a main driving-force for technological advancements, creating a new source of revenue for infrastructure providers and developers. Based on what we observe today, the logical next steps lead to integrated infrastructures and applications supporting “pervasive computing”. Whatever this future will look like, the basic cornerstones will be: (i) highly nomadic users, (ii) personalized devices running smart applications, (iii) pervasive smart infrastructures, and (iv) efficient communication for end-to-end integration of all building blocks. This book introduces the amazing world of pervasive computing, leads step-by-step through the new design challenges for pervasive computing applications and identifies the key challenges for engineering middleware supporting pervasive applications. Based on the well-known publish/subscribe paradigm it demonstrates how middleware systems can be designed to explicitly make use of “context” of users and applications. It then shows how context information can be leveraged for optimizing the efficiency of communication inside a notification service.