Ubiquitous Computing

Ubiquitous computing (hereafter called Ubicomp) is a vision, conceived about two decades ago, of informatic systems that will increasingly pervade our world in the 21st century. Our technology for sensors, effectors and communication will enable us to build systems that autonomously manage our environment. Without our awareness they will make decisions previously made by us. Examples are individual health care and control of traffic on motorways.

This vision, though exciting, also arouses a cautious reaction. Bearing in mind the patchy reliability of current large informatic systems, we cannot expect current software engineering practice to cope with Ubicomp; these new autonomous systems will be huge in size and novel in quality, and expected to adapt to changing requirements without our intervention.

Around 2004, as part of the UK's initiative of Grand Challenges for Computing Research, a Challenge called Ubiquitous Computing: Experience, Design and Science was defined [1]. Its manifesto distinguishes three essential themes of the research required:

A community of researchers in these three themes is growing. Via discussion meetings and workshops, it unites researchers who would not otherwise meet, yielding new insights.

The tower of models

This website introduces a proposal for the foundational aspect of Ubicomp. It rests firmly upon earlier research by many people. In 2006, two papers [2,3] advocated the notion of a tower of models for Ubicomp. It arises from the daunting range of concepts needed to understand Ubicomp: data provenance, privacy, authorisation, trust (among agents), self-awareness, self-management, reconfiguration, failure recovery, goals, beliefs, ..., and the list can be extended much further.

No single model can handle all these concepts, so a hierarchy of models is needed. The concepts at each higher-level model must be represented or implemented at a lower level, and where possible this representation must be proved sound. We therefore think of the notion of explanation of one model by another. In addition, we must cater for combination of two models at the same level, each explaining a part of a lower-level model.

The essay [4] explores these ideas in greater detail, with illustrations. This work does not impose a preconceived definition of `model' on our science. It aims to promote debate upon what kinds of models will be useful, and above all what kind of relationship they bear to each other. It allows that many useful models, and the corresponding explanations and combinations, will be informal; and it acknowledges that much existing informatic science can be readily cast in terms of models.

At a Royal Society Discussion Meeting [5], where a wide range of research in Ubicomp was presented, three panelists gave position papers [6,7,8] representing the three themes. The paper on the science theme [8] is reproduced here, as a concise summary of the approach to models I have put forward.

Finally, as anticipated in [3], the Lecture Slides at [9] give an outline of how the other strand of this work, bigraphs, may provide a generic foundational model for Ubicomp.


  1. D Chalmers, M Chalmers, J Crowcroft, M Kwiatkowska, R Milner, E O'Neill, T Rodden, V Sassone and M Sloman (2006), Ubiquitous Computing: Experience, Design and Science . A Grand Challenge in Computing Research sponsored by the UK Computing Research Committee. Read its manifesto.
  2. R M (2006), Ubiquitous computing: Shall we understand it? (the first Computer Journal Lecture). Includes comments by several discussants. The Computer Journal 49(4), pp383-399.
  3. R M (2006), Scientific foundation for global computing. In: Transactions on Computational Biology IV, eds. C Priami, L Cardelli and S Emmott. Lecture Notes in Bioinformatics, LMBI 3939, pp1-13 (Springer).
  4. R M (2008), The tower of informatic models (invited lecture). In: From semantics to Computer Science; Essays in Memory of Gilles Kahn. Cambridge University Press, to appear, 14 pages.
  5. Eds. M Kwiatkowska, T Rodden and V Sassone.(2006), From Computers to Ubiquitous Computing, by 2020, Proceedings of a Royal Society Discussion Meeting, Phil. Trans. R. Soc. A 366.
  6. T Rodden (2006), Living in a ubiquitous world. In [5], pp3837--3838.
  7. J Crowcroft (2006), Engineering global ubiquitous systems. In [5], pp3833--3834.
  8. R M (2006), Understanding ubiquitous computing . In [5], pp3835--3836.
  9. R M (2008), The space and motion of large informatic systems. Lecture at Visions of Computer Science, British Computer Society Conference, Imperial College, London.