— The increasing availability of sensing devices has made the possibility of context-aware pervasive computing applications real. However, constructing this software requires ext...
Scripting is a powerful, high-level, cross-platform, dynamic, easy way of composing software modules as black boxes. Unfortunately, the high runtime overhead has prevented scripti...
Networked appliances can simplify our lives, but interacting with them can be difficult in itself. KitchenSense is an early prototype of a networked kitchen full of sensors that u...
Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make app...
Communication is becoming one of the central elements in software development. As a potential typed foundation for structured communication-centred programming, session types have...