UK-UbiNet: The UK Ubiquitous Computing Networks
| /Events /Links /Overview /People /Publications /UbiCompGC /WinesProgramme |
Page Contents
Ubiquitous Computing Grand Challenge: Introduction
There is burgeoning population of 'effectively invisible' computers around us, embedded in the fabric of our homes, shops, vehicles, farms and some even in our bodies. They are invisible in that they are part of the environment and we can interact with them as we go about our normal activities. However they can range in size from large Plasma displays on the walls of buildings to microchips implanted in the human body. They help us command, control, communicate, do business, travel and entertain ourselves, and these 'invisible' computers are far more numerous than their desktop cousins. How many computers will you be using, wearing, or have installed in your body, in 2020? How many other computers will they be talking to? What will they be saying about you, doing for you, or to you? By that time computers will be ubiquitous and globally connected. Shall we be able to manage such large-scale systems, or even understand them? How do people interact with them and how does this new pervasive technology affect society? How can non-computing people configure and control them? What tools are needed for design and analysis of these constantly adapting and evolving systems? What theories will help us to understand their behaviour?
These are the sort of issues which make Ubiquitous Computing a Grand Challenge; join us in addressing them.
The Ubiquitous Computing Grand Challenge (UbicompGC) is one of the 6 UKCRC Grand Challenges. It was formed by merging two of the original Grand Challenges GC2 "Science for global ubiquitous computing" which focused on theory and GC4 "Scalable ubiquitous computing systems" which focused on engineering aspects. UbicompGC is formulating a research manifesto which postulates the need for combined Science (theory) as well as addressing the Engineering and Social issues related to building Ubiquitous Systems. So far, most research in the UK and elsewhere has focussed on the Engineering with very little attention on the theory required to underpin the design and analysis of ubiquitous systems which are intrinsically large-scale and complex. Some of the work in the Equator project has addressed social aspects and how people will interact with Ubiquitous Systems. The [# overview overview section] summarises the goals of the challenge.
Background information on the Grand Challenges together with a report describing each of the challenges can be found on the UKCRC Grand Challenges site. We intend to hold a mini-workshop as part of the Grand Challenges Conference in Glasgow 22-24 March 2006.
UbicompGC activities are currently being promoted by the EPSRC funded UK-UbiNet Network grant which predated UbiCompGC and runs from April 2003 - March 2006. The Ubicomp steering committee are all members of the UK-UbiNet management committees.
We welcome discussion of all aspects of UbicompGC. For this purpose, please subscribe to the UbicompGC email list. We especially invite discussion on the final draft of the UbicompGC manifesto, which we aim to finalise by 1 September 2005.
There will be a sequence of evolving Annexes to the manifesto, including descriptions of "foothill projects", also published for discussion with the manifesto. Two threads of discussion, called 'Manifesto' and 'Foothills', have been created for these discussions.
More generally, wide-ranging discussion will greatly help the steering committee in building a community around the Grand Challenge, and in coordinating its activity.
Ubiquitous Computing Grand Challenge: Overview
By 2020 how many computers will you be using, wearing, have in your home, or even in your body? Computers are ubiquitous and will soon be globally connected. Shall we be in control of the complex emerging behaviour arising from their aggregation in a "ubiquitous" global network, or even understand it? As these devices become smaller, more numerous, more independent from users and more deeply embedded in the world around us, they raise formidable scientific and engineering challenges.
We have have produced a draft manifesto (available from the above web link) which identifies three views on the challenge for ubiquitous computing:
The experience (user) perspective focuses on how people might share a world with ubiquitous computing environments. What interactive principle underpins our interaction with them, and how might a ubiquitous computing society be shaped from a socio-technical perspective?
The design (engineering) perspective focuses on the architectural and network challenges posed by the large scale, heterogeneous and dynamic nature of ubiquitous computing. What engineering principles are needed to allow a vast array of devices to be interconnected in a system, and how might we understand and respond to the system’s emergent behaviour?
The science (theoretical) perspective focuses on concepts and rigorous models that capture the behaviour of ubiquitous systems at varying levels of abstraction. How do we reason about such a system, in order to understand its aggregate behaviour in terms of the behaviour of its subsystems?
The core of Ubiquitous Computing lies in the convergence of these different perspectives, leading to a successful blend among them. This requires fundamental research into each of the constituent areas. While each of these has its own distinct perspectives and goals, they are closely linked. They may advance with somewhat distinct time-scales, tools, principles and milestones, but their development will be coordinated by projects that contribute to each perspective. We have identified 3 subgoals for the grand challenge
Experience Goal
- to develop ubiquitous computing methods and techniques that are sensitive both to the needs of individuals and society, and the impact upon them;
- these will support the realisation of human experiences;
- to develop new forms of interaction and new interaction paradigms that make ubiquitous computing usable by all.
Engineering Goal
To define engineering design principles
- that pertain to all aspects of ubiquitous computing;
- are agreed among both academic and professional engineers;
- are taught regularly in Master’s Degree courses;
- are instantiated in the design and rigorous documentation of several computational systems with a successful operational history.
Science Goal
- to develop a coherent informatics science whose concepts, calculi, models, theories and tools allow descriptive, explanatory and predictive analysis of ubiquitous computing at many levels of abstraction;
- to employ these theories to derive all its systems and software, including languages;
- to analyse and justify all its constructions by these theories and tools.
UbicompGC Steering Committee
Prof. Morris Sloman, Department of Computing, Imperial College London (Chairman)
Dr. Dan Chalmers, Informatics, University of Sussex
Prof. Jon Crowcroft, Computer Laboratory University of Cambridge
Prof. Marta Kwiatkowska, School of Computer Science, University of Birmingham
Prof. Robin Milner, Computer Laboratory University of Cambridge
Prof. Tom Rodden, Computer Science and IT, University of Nottingham
Prof. Vladimiro Sassone, Informatics, University of Sussex
Ubiquitous Computing Grand Challenge: Manifesto
The current version of the manifesto can be found here:
Manifesto (PDF) - 23-2-06
Annexe to Manifesto: Foothill Projects
The manifesto sets out the issues and goals to be addressed, the next step is to trace a roadmap to bring us towards meeting the challenge. It is the nature of a Grand Challenge that we cannot immediately define a path to its goals. There are still many aspects of ubiquitous computing we have to understand better in order to be ready to map our way to it. Our next step will therefore to propose and work on so called "foothill" projects (FPs), so that exploratory research can be marshalled towards define the roadmap. The description of these foothill projects is separate to the manifesto and will be joined here by other work towards the challenge as work is undertaken. Several UK computing research communities are involved in this phase, and you too are invited to participate by proposing an FP (400-word abstracts to start with), or by cooperating with defining and working on an existing one.
Some outline FPs have already been written. These outlines don't correspond necessarily to research projects that are running or about to run. Each one should be regarded as defining a topic for several possible projects, which may or may not be coordinated, but would follow the profiles of the FP. Ideally such projects would have something to say on three aspects: engineering principles, underlying theories and specific application.
Each author has included some links in their outline FP topic. However, we are well aware that, over the world, there must be projects running that are relevant to the topic, researchers already proposing a relevant project, research centres with special concern for the topic, funding programmes that are concerned with the topic, and so on. Further, we would like to evolve longer, truer, more refined outlines for them. We therefore encourage people to send us (via the GC mailing list) information and contributions to the debate of any kind that will be useful to researchers who wish to take the topic further. These discussions do more than help to improve documents; they help to form a research community of those whose interests lie in any topic involved in UbicompGC. So don't hesitate to take part.
The current set of foothill projects is below. The order of the examples is alphabetical, and has no other significance. As a result of discussion this annexe is expected to grow, both in the number and variety of topics and in the detail of each proposal.
- Agent Technologies
- Business Processes
- Sensor Networks
Analysing movement in a sentient environment
Pervasive computing will involve movement of agents in environments equipped with sensors that may also move. Many such mobile systems with particular purposes have been realised in practical experiment, or simulated. One example of a purpose is "sentient computing", defined by Hopper as "Using sensor and resource status data to maintain a model of the world which is shared between users and applications". (A.Hopper: Sentient Computing, Phil. Trans Roy. Soc. A, 358(1773) pp 2349-2358, 2000.)
Other purposes are possible; for example, sensors (fixed or mobile) may be programmed to collaborate in guiding an agent to a goal. The variety of applications is large, and suggests that a first step is to study and analyse locality and movement per se, without prejudice towards a particular application.
The problem addressed in this outline proposal is: What is a fruitful conceptual framework in which to express a variety of rules of motion, allowing systems to be programmed conveniently, simulated (with the help of stochastic information in the rules), and analysed rigorously? An example of rigorous analysis would be that certain invariants are maintained (or maintained with certain probability) by all behaviour allowed by the rules.
To underpin both description and analysis, it is convenient to use a spatial model which can represent both discrete and continuous space, and movement in such space, as well as the usual forms of data and processes involved in traditional computing. Examples of such models are suggested by calculi of interactive computing, such as the calculus of mobile ambients or the pi calculus. But the aim of the project is not just to design a calculus; it is to derive from the calculus a programming language, and define a programming methodology, so that the language may be used and evaluated by people whose primary interest is in applications.
The ultimate goal of the project is to unify theory and practice in this basic but challenging facet of pervasive computing. One approach, involving bigraphical systems, is already under way at the IT University of Copenhagen. An example of a system that may convince users, suggested by the group at ITU, is to model (and program) a "reflective" building: one equipped with sensors, which continually transmit data of the building's occupancy to a monitor that maintains a data structure which faithfully records the occupancy.
Automating the highway
Monitoring and control of private vehicles on the public highway is high on the political agenda; this is because it is becoming feasible, and may be desirable for at least two reasons: first, from the economic perspective, it may achieve more efficient use of road resources; second, from the safety perspective, it may achieve a significant drop in injury and death on the roads. Various prototypes exist, and various projects are current. Many technologies interact, and there are numerous legal, political and economic stakeholders. We propose a foothill project to study monitoring and control with particular concern for efficiency and safety, in the context of ubiquitous systems for transport. For efficiency (of road use) the monitoring and control may be either distributed or centralised, or a combination of the two. In a distributed system the car receives information from navigation systems and roadside monitors concerning routes, conditions and prices; it (or its driver) then makes a decision and pays. on the other hand a centralised system, such as the London congestion-charging scheme, depends entirely on a network of roadside monitors, recording data about vehicles, drivers and journeys on a central database used as the basis for billing. 1
To improve safety, there a spectrum of possible solutions from distributed to centralised systems. At the centralised extreme, `car-trains' have been proposed; vehicles joining trunk routes would be logically clumped, and controlled by a single aggregate unit. At the distibuted extreme, each vehicle always chooses its own velocity, using data from on-board and remote sensors. There are many research problems; for example:
- What are the design spaces for distributed and/or centralised systems in the two cases? Can they me mixed, e.g. distributed for efficiency of road-use but centralised for safety?
- By what measures can each solution in the space be assessed for its contribution to both efficiency and safety?
- In each possible design, what threats arise from neglect or malevolence? These threats may attack endanger correct technical function, or they may endanger privacy (for example, centralised records may be illegally mined to deduce driver habits).
Success in addressing these problems will involve a variety of theoretical or simulational models of distributed and mobile processes; and will prompt the further development of such models.
A longer paper addressing these issues is also available.
Model-checking for ubiquity
Wireless sensor networks and body sensor networks already exist, or are planned, for many purposes. Such systems must deal with continuous streams of data, analogue and digital, ans must be adaptive, fault-tolerant, dependable, context-aware and energy efficient. Above all, especially in a safety-critical situation, they must work correctly; for example, a failure to identify a dangerous pattern during heart-monitoring may lead to patient death.
Model checking is an automatic technique that can establish, via exhaustive analysis of the model of a system, whether its behaviour is correct with respect to a given specification. It relies on logics or calculi that define the state space; hence its development must be closely linked to those logics and calculi. These themselves have to be developed, as part of the theoretical goal of the challenge.
Following major successes in detecting genuine errors in standardised protocols, model checking techniques are now widely used in industry, e.g. for hardware verification at Intel and source code compliance checking at Microsoft. However, sensor networks raise new scientific challenges:
- Sensor networks are dynamic, adaptive and context-aware. What model checking techniques are appropriate for these infinite-state systems?
- Sensor networks are often decentralised, communication failures are frequent, and techniques such as randomisation are used for their coordination. Probabilistic model checking techniques are needed to accommodate these features.
- In a healthcare monitoring scenario patients are mobile, and this affects both power usage and reliability of communication. Stochastic models of social behaviours must be developed to analyse the effectiveness such systems.
- Monitoring scenarios involve streams of data, requiring fast analysis and response. How can we ensure the correctness of such responses?
- Quantitative model checking techniques are needed to predict the power usage of sensor networks over time and to select the best network configuration given some constraints.
- How can we ensure that the methods are scalable to realistic systems? Compositionality, abstraction and component-based techniques for ubiquity are needed.
Success in meeting these challenges will depend on working closely with designers of sensor networks, to gain an understanding of the key issues and to secure acceptance of the techniques. Some current projects are:
Design, Implementation and Adaptation of Sensor Networks through Multi-dimensional Co-design
NICTA funded programme (NICTA is National ICT Australia, Australia's new ICT Research Centre of Excellence)
Rigorous protocol design
Communication protocols will form a key part of any ubiquitous computing system. Traditional Internet communication is dominated by the UDP and TCP transport protocols, together with various routing protocols, above IP. These rely on properties of the existing network — relatively stable connectivity, loss dominated by router congestion, and so on — that will not hold for the variety of network technologies in ubiquitous systems. New protocols will be needed.
If these are to be predictable and robust they must be well-understood, for which new design techniques are also needed. Traditional internet protocol design is largely based on natural language specifications and interoperability testing between implementations. This often leads to unnecessary complexity and subtle flaws and implementation differences.
We therefore have an opportunity and test-bed for an integrated systems and semantics approach to protocol design. The goal of this foothill project is to establish a suite of protocols for particular GUC scenarios, developing and using rigorous design techniques for the purpose. It may build on the Netsem project, which has demonstrated a viable approach to the formal specification of existing real-world protocols, expressing their behaviour with operational semantics in the automated proof assistant HOL and developing symbolic model-checking techniques to validate the specification against captured traces.
The main challenges are:
- The large-scale systems question of broadly what protocols are required, their APIs and design principles.
- Establishing idioms for expressing detailed design that:
- are an effective means of communication in the design and implementation teams, among those with theoretical and practical backgrounds;
- support direct and automated conformance testing of production implementations against the protocol designs; and
- can be refined (i.e. resolving any looseness in the specifications) to give prototype implementations that can be used for experimentation and simulation.
- Establishing higher-level (more abstract) models that are suitable for approximate (probabilistic or stochastic) reasoning and simulation, ideally with mathematically rigorous relationships to the detailed designs.
- Verifying (with automated proof and/or model-checking) properties of both detailed and high-level models.
- Deploying the protocols and gaining experience in their use.
Ubiquitous computing and the urban environment
In urban areas we have the greatest opportunities and the strongest demands to design and build ubiquitous systems, yet we have no fundamental theory, knowledge base, principled methods or tools for designing and building ubiquitous computing systems as integral elements of the urban landscape. We are interested in designing not just the architectural space in which people move and behave and interact but also the interaction spaces for information and services that they discover and use and which support their movements, behaviour and interactions within architectural space. To design these integrated systems, we need to extend and adapt our understanding and practice of both urban design and ubiquitous computing. We need to understand and design for people's behaviour and their relationships with urban space and ubiquitous technologies. In addition, we need to solve the technical and engineering challenges of implementing city-scale ubiquitous systems.
A systematic approach to designing the urban environment as an integrated system of physical architecture and ubiquitous technologies demands a coming together of the disciplines of Architecture and Computer Science. In a system of heterogeneous devices, diverse users and varying network provision, the design and implementation of such systems require significant advances in research and practice across a range of themes that have both human-computer interaction (HCI) and distributed systems (DS) aspects. These include context awareness; service discovery; trust, security and privacy; and the physical, psychological and social impacts of ubiquitous systems. Solving these problems is made even more complex by the challenges of scaling up from laboratory-based examples to a city-scale operational system. From the HCI perspective, developing successful city-scale systems requires significant advances in areas such as interface design, context awareness and service discovery, to help people manage the demands on their attention and make the best use of their limited ability to descry what they want or need from this new combination of physical cityscape and digital services. From the DS perspective, city-scale ubiquitous systems require a fresh approach to many of the classical DS issues such as communication, fault-tolerance and security. Classical solutions such as caching, multicasting and peer-to-peer sharing will require adaptation to take into account ubiquitous technologies, while newer approaches, such as those in autonomic computing, may offer some solutions.
A few recent and current projects have begun to explore at least some of these challenges. See for examples:
A longer discussion of these issues is also available.
Ubiquitous healthcare
Healthcare is coming under increasing pressure to improve the quality of care delivered to patients through effective prevention and post-operative care. This comes at a time when there is a need to curtail growth in healthcare spending fuelled by ageing populations, and the prevalence of obesity, diabetes, cancer and chronic heart and lung diseases.
Miniaturised implantable and on-body wireless biosensors will reshape common practice in clinical medicine especially for the prevention of terminal illness, monitoring the progression of chronic disease, and assessing post-operative care and body reaction to complex therapeutic drug regimes. Ubiquitous healthcare systems will monitor patients as they maintain their normal everyday activities, in order to warn the patients or healthcare workers of problems as well as collecting data for trend analysis and medical research. The use of continuous monitoring circumvents the drawbacks of conventional diagnostics and monitoring (generally limited to brief time points and frequently unrepresentative physiological states or artificially introduced exercise tests), allowing both transient and progressive abnormalities to be reliably captured. The integration of body sensors with home environment sensors can also be used for monitoring of the elderly to determine state of well-being and warn family or social care workers of potential problems related to physical fitness, social activity and cognitive engagement.
The key research challenges include:
- Development of new biosensors to accurately measure medical state.
- Power management - including micropower electronic circuitry and wireless communications, MEMS based power generation from body movement, and integration of multiple power sources with power storage.
- Fusion of multiple sensor information to determine human activity and medical state.
- Inferencing normal conditions and activity and hence detecting abnormal conditions.
- The infrastructure required for very large scale monitoring and analysis of medical information and activity of millions of people, and the need to automatically warn patients, social services, medical service, friends or family about the need for intervention when abnormal conditions are detected.
- Social, ethical, security and privacy issues related to continuous monitoring of people, storing and analysing the data and how to verify the safety, security and privacy aspects of the system.
A number of UK projects are already addressing these issues:

