Learning from software failures is an essential step towards the development of more reliable software systems and processes. However, as more intricate software systems are devel...
Attentive systems pay attention to what users do so that they can attend to what users need. Such systems track user behavior, model user interests, and anticipate user desires an...
Paul P. Maglio, Rob Barrett, Christopher S. Campbe...
Traditionally, designers organize software system as active end-points (e.g. applications) linked by passive infrastructures (e.g. networks). Increasingly, however, networks and i...
Paul Dourish, W. Keith Edwards, Jon Howell, Anthon...
We report on experience from teaching OO technology to undergraduate students. Before they can successfully tackle the projects they have to successfully shift to the OO paradigm,...
The management of complexity in large systems is traditionally focused on the modeling and management of classes and hierarchies of classes. In order to improve the compositional ...