GRAND CHALLENGES for COMPUTING RESEARCH

advertisement
GRAND CHALLENGES
for
COMPUTING RESEARCH
This pack contains the abstracts of seven proposals for Grand Challenges that will
help to focus UK computing research upon long-term scientific objectives over
the coming two decades.
This exercise was initiated in 2002. The accompanying document Criteria of
Maturity for a Grand Challenge explains what is meant by the term ‘Grand
Challenge’.
Another accompanying document, Report of the Programme Committee on a
Workshop on Grand Challenges for Computing Research, explains how these
seven proposals were distilled from submissions from the UK computer science
community, at a Workshop held in Edinburgh in November 2002.
These proposals are under continuing discussion on a website, www.nesc.ac.
uk/esi/events/Grand_Challenges, which is open to all. A small team
managing each proposal is continually refining it, and enlisting support for it.
These proposals, and further submissions for new proposals, will be discussed at
a conference at Newcastle in the spring of 2004. By these means the community
will develop and update its long-term research goals.
September 2003
1
IVIS: In Vivo ⇔ In Silico
The Worm, the Weed and the Bug:
Breathing Life into the Biological Data Mountain
Ronan Sleep, University of East Anglia
Biology continues to advance by leaps and bounds. Hard on the heels of the
Genome project are, among others, the Proteome and Metabolome projects generating still more data for Biologists to digest.
This data is collected, processed, and stored in computer form, but accessing and
making it all fit together presents a major challenge. It takes years of experience
to gain familiarity with even one sort of biological data, let alone the many new
forms emerging with ever increasing frequency. To meet this challenge, a new
breed of scientist who understands both biology and computing is emerging in
a new cross-disciplinary field of Biocomputing. Projects such as the Medical
Research Council Mouse Atlas Project at Edinburgh are beginning to show how
modern computing technology can draw the data together in a more convenient
and accessible manner, and similar projects are being mooted for other life forms.
An Atlas sounds rather a passive thing. Could computing play a much more active
role, by breathing life into the data in the form of an advanced simulation model?
Such a simulation would allow the scientist to perform an increasing range of
experiments with virtual life forms. Even rudimentary simulations would allow
rapid checking of new theories on existing data, in a way which just is not possible with raw biological data in its various forms. As the fidelity of the virtual
life form improved, a point might be reached where the model moves beyond
its experimental base to generate predictions, which could be checked with ’wet’
experiments. We routinely use simulations to design aeroplanes, bridges and to
predict weather: can we apply the same techniques to living systems?
Building a faithful simulation (in silico) model of real (in vivo) life form is a
Grand Challenge indeed. Where should we start? Which life forms should it target initially? What aspects of the life form should be the focus of the challenge?
The IVIS Grand Challenge has selected developmental biology as the focus, and
identified some of the most studied and stable life forms as possible targets, including the Nematode Worm (C. elegans), the common weed Arabidopsis, and the
bug Streptomyces (the worm, the weed and the bug). There is already a considerable amount of precise data about these very studied life forms. This provides
a sharp set of targets for the challenge, which will either deliver a convincing in
silico model or not, and even a lay person will be able to detect outright failure.
For the expert, the touchstone of success will be widespread use of IVIS models
by biologists.
The potential benefits from a successfully mounted challenge are enormous, ranging from an understanding of regeneration processes in plants and animals with
potentially revolutionary implications for disease and accident victims, to adaptive and self-repairing software, hardware, and even social systems. The coping
stone of a successful challenge would be a generic approach to modelling of complex systems which becomes the standard medium for expressing and reasoning
in the life sciences and which also has major applications in the design of man
made complex distributed reactive adaptive systems. Even partial success would
open major commercial opportunities.
2
Science for Global Ubiquitous Computing
Robin Milner, University of Cambridge
How many computers will be 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 doing to you?
By that time computers will be ubiquitous and globally connected. It is better
not to count them, but to regard them collectively as a single Global Universal
Computer (GUC). Who then will program the GUC, and how, and for whose
benefit? Shall we still be in control of it, or even understand it?
These questions underlie two Grand Challenges. This one is theoretical: what are
the models and theories we need to understand the GUC? The other, “Scalable
Ubiquitous Computing Systems”, is concerned with engineering: how shall we
design and build the GUC? The two are strongly linked, but the attack will be
sharper if their goals are set separately.
The GUC entails large-scale networks of computing devices and agents. They
are hardware or software; static or mobile; permanent or ephemeral; interactive
and location-aware. They may be reflective, i.e. they may monitor and adapt their
own performance. They operate in highly distributed scenarios involving both
processes and data, at low power and in a timely fashion, guaranteeing privacy
and security, locally prone to failure yet reliable as a whole. The GUC is partly
engineering artefacts, and partly a natural phenomenon (i.e. not fully designed).
The theoretical Challenge is this:
• To develop a coherent informatic science whose concepts, calculi, theories
and automated tools allow descriptive and predictive analysis of the GUC
at many levels of abstraction;
• That every system and software construction – including languages – for
the GUC shall employ only these concepts and calculi, and be analysed and
justified by these theories and tools.
We deliberately pose this as an ideal goal. It will never be fully achieved, but we
pose it in this ideal form because we see no argument that limits the degree of
attainable success. The second part of the Challenge is a stern test: that theories
should inform the creation of systems, not merely be retrofitted to analyse them.
Many engineering disciplines meet this test to a high degree, but our current GUC
—the Internet— fails it. This is because we have only recently attained some
grasp of the range of concepts involved. They include: Non-determinism and
concurrency; Space and mobility; Security and Privacy; Boundaries, resources
and trust; Distributed data; Game-theoretic modelling; Hybrid systems; Stochastics; Model-checking.
To address the Challenge, three categories are defined for its sub-projects: (1) experimental applications (Exemplars); (2) experimental generic systems; (3) evolving theories at many levels of abstraction. These are all essential, so that the theoretical Challenge both informs and is informed by practical systems. The first
two categories must be collaborative. Examples of applications are ‘A Sentient
Building’, and ‘Healthcare Coordinated across a City’. On experimental generic
systems we shall collaborate with our sister Grand Challenge, ‘Scalable Ubiquitous Computing Systems’.
The third category, evolving a hierarchy of theories, is the only way to render
the GUC susceptible to scientific explanation. Why a hierarchy? Consider just
one example: at one level of abstraction we must explain the GUC in terms of
notions like trust. We have to develop a logic of trust, which codifies when and
why one agent (of billions) may trust another that seeks to interact with it. But
the behaviour which conforms to this trust model will be enacted at a lower, more
concrete, level in terms of purely operational concepts. Our theory must demonstrate that this enactment is sound. Notions like reflectivity or security demand
similar treatment.
So the hierarchy of theories lies at the heart of the proposed research. We already have a precedent for this kind of work in calculi, logics and tools already
developed for concurrent interactive systems, so we are not starting from scratch.
Success in meeting our Challenge may be measured by how far such theories are
not merely developed but applied in practice.
3
Memories for Life
Ehud Reiter, University of Aberdeen
There is probably a tremendous amount of information about you in the various electronic devices you own (PC, mobile, TV, etc): emails you have sent
and received, telephone numbers you have called, TV programmes you have
watched, perhaps digital photographs and audio recordings. These are your computer ”memories”, and they will almost certainly grow in size and richness, and
in their importance to you, over the next 10-20 years. Imagine the possibilities if
this information could be accessed and used easily (while remaining under your
complete control to preserve privacy). For example, imagine being able to easily
search for anything about your nephew Peter, regardless of whether its in an email,
digital photo, or audio recording. In the longer term, imagine a computer maths
tutoring system for your daughter Mary that based its lessons on things Mary had
been doing, so she could see that maths was important and relevant - and a system
that helped grandpa George create ”stories” about his life (perhaps a summary of
his experiences as a soldier in the 2003 Iraq war, for his grandson Peter) by finding
and integrating relevant computer memories.
Achieving this vision is an enormous challenge for computer science. Among the
many questions that need to be answered are
• (computer systems challenge) how can ”memories” be stored reliably over
a period of decades, especially if hardware and software continue to change
rapidly (have you tried to listen to a 78 record recently?)
• (computer security challenge) how should privacy be protected, especially
when you are present in someone else’s memory (if your ex-lover has a
digital photo of you and him together, what rights do you have over his
photo?)
• (database and information retrieval challenge) how should a diverse range
of memories be stored, indexed, and searched in an integrated and seamless fashion? How can queries that require sophisticated interpretation be
handled, such as ”find a picture of me playing with Peter when he was a
toddler”?
• (artificial intelligence challenge) how can information from a diverse assortment of memories be combined and reasoned with, and how can knowledge
extracted from this process be used by applications (can we deduce from
Mary’s memories that her cat has had kittens, and use this in a maths tutoring system?)
• (human-computer interaction challenge) how should people interact with
(view, update, delete, annotate) memories and associated knowledge? Can
we provide appropriate tools for people of widely different backgrounds
and preferences (virtual reality for Peter, smart paper for you, speech-based
interface for grandpa George as he can’t see well?)
We believe that the accumulation of personal digital memories is inevitable; people are going to be storing their emails, digital photos, etc regardless of what
computer scientists do. The general challenge for computer science is to develop
ideas and techniques that help people get the maximum benefit from these memories, while at the same time giving people complete control over memories so as
to preserve their privacy.
4
Scalable Ubiquitous Computing Systems
Jon Crowcroft, University of Cambridge
We are all acquainted with the Personal Computer. We are less aware of the
burgeoning numbers of invisible, embedded computers around us in the fabric of
our homes, shops, vehicles and even farms.
They help us command, control, communicate, entertain, and commerce, and
these invisible computers are far, far more numerous than their desktop cousins.
The visible face of computing, the ubiquitous PC, is nowadays generally networked. To date, embedded computing systems have been largely used to replace
analog control systems (for reasons of price, performance and reliability). Increasingly, however, we will find systems are integrated into a whole.
This will lead to a challenge for Computer Science in the form of system complexity. Complexity is at the core of the skillset of computer science and engineering,
but it is also becoming a key piece of the formalisms used to understand other
systems in the natural world, in ecology and biology and in physics. With the
Internet as large and organic as it already is, we see a complex set of interactions
with graph theory, control theory, economics and game theory, and a number of
other disciplines being bought to bear and even extended to understand its behaviour. We also see a set of engineering rules of thumb maturing into design
principles, which can be applied to other systems.
Some principles already established in the world of Internet-scale engineering
give us hope that we can build systems early (and there are many Ubiquitous
Computing projects underway in the UK, EU and world today), with some hope
that they will work. However, as systems grow, new problems for performance
(stability, availability, etc) will emerge. Critical new areas for concern are the
control of multiple resources (scheduling for battery life, randomising timing of
events to avoid correlated overload, statistical failure tolerance in very large scale
sensor systems). WIthin the timescales of this challenge, components will even
start to draw resources (power) directly from their environment (ambient heat,
RF etc), and this has hidden consequences (radio opacity in unusual places for
example). The more we look at how such systems will be built, the more we see
them vanish into the substance (and ether) around us!
The core of this challenge then, is to abstract out these engineering design principles, and this will be achieved largely through a process of “build and learn”.
This is a natural complement and sister to the challenge to uncover the Science
for Global Ubiquitous Computing, which will have descriptive power. We will
have prescriptive solutions (patterns) for the mixed reality environment that will
form the next phase of development of cyberspace.
5
Architecture of Brain and Mind
Aaron Sloman, University of Birmingham
Introduction What is the most powerful and most complicated computer on the
planet? Wrong! it’s not a machine you can buy for millions of dollars, it’s the
amazing system that we all own, the few kilos of grey and white mush in our
heads.....
Biological information processing systems produced by evolution still far outstrip
both our understanding and our practical achievements.
In order to reduce both the theoretical and the practical gap, we need to look
closely at two of the most impressive products of evolution: human brains and
human minds – and attempt to construct a combined vision of how they work:
Brains, the contents of our skulls, are composed of extraordinarily intricate physical structures, performing many tasks in parallel at many scales, from individual
molecules to large collections of cooperating neurones or chemical transport systems.
Minds are more abstract and contain ideas, percepts, thoughts, feelings, memories,
mathematical knowledge, motor control skills and other things that cannot be seen
by opening up skulls. Yet their existence and their power to do things depends on
all the ‘wetware’ components that make up brains.
Can we ever replicate all that functionality? At least we can improve our understanding, by developing new deep theories, tested in working models.
The Challenge We aim to combine insights from several disciplines: from neuroscientists studying brain mechanisms, from psychologists, linguists, social scientists, ethologists and philosophers studying what minds can and cannot do, and
from researchers in computer science and AI developing techniques for implementing many kinds of abstract mechanisms and processes in concrete physical
machines.
We should be able to implement many kinds of abstract mental processes and
mechanisms in physical systems, just as abstract machines like spelling checkers, email systems, databases and AI planners and problem-solvers are already
implemented in electronic computers and networks.
This research will address two age-old quests: the attempt to understand what we
are, and the attempt to make artificial human-like systems, whether entertaining
toys, surrogate humans to work in inhospitable environments or intelligent robot
helpers for the aged and the infirm.
How will it be done? Several mutually-informing tasks will be pursued in parallel:
Task 1 Build computational models of brain function, at various levels of abstraction, designed to support as many as possible of the higher level functions
identified in other tasks.
Task 2 Codify typical human capabilities, for instance those shared by young
children, including perceptual, motor, communicative, emotional and learning capabilities and use them to specify a succession of increasingly ambitious design goals for a fully functioning (partially) human-like system.
Task 3 Develop a new theory of the kinds of architectures capable of combining
all the many information-processing mechanisms operating at different levels of abstraction, and test the theory by designing and implementing a succession of increasingly sophisticated working models, each version adding
more detail.
Analysing what those models can and cannot do and why, will feed back information to the other two tasks.
A possible 15 to 20 year target providing an extremely demanding test of the
scientific advances might be demonstration of a robot with some of the general
intelligence of a young child, able to learn to navigate a typical home and perform
a subset of domestic tasks, including some collaborative and communicative tasks.
Unlike current robots it should know what it is doing and why, and be able to
discuss alternatives. Linguistic skills should include understanding and discussing
simple narratives about things that can happen in its world, and their implications.
Achieving all this will require major scientific advances in the aforementioned
disciplines, and could provide the foundation for a variety of practical applications
in many industries, in unmanned space exploration, in education, and in the evergrowing problem of caring for disabled or blind persons wishing to lead an active
life without being dependent on human helpers. Perhaps many people reading this
will welcome such a helper one day.
6
Dependable systems evolution
Jim Woodcock, University of Kent
CNN News, June 4th, 1996: “The Ariane 5 rocket was destroyed seconds after it
took off,” a spokesman for Arianespace said today. The European Space Agency
spent 10 years and $7 billion developing the giant rocket that can put six tonnes of
satellite into orbit. So what went wrong? A piece of software that had been extensively tested, and which worked well in Ariane 4, caused a simple arithmetic error
in Ariane 5. This led the guidance system to make a dramatic, but unnecessary
change to the rocket’s course. A backup system took over control, and repeated
the same mistake. The rocket was destroyed before aerodynamic forces ripped it
apart.
The millions of software faults that afflict ordinary PC users every day are less
dramatic, but much more familiar, and collectively more expensive even than the
loss of Ariane 5. Each software fault offers an opening to a virus. Just one infection like the Code Red virus was estimated to have caused losses of $4 billion
world wide. It all adds up. In May 2002, the US department of Commerce estimated that the total cost to the US economy of avoidable faults in software is
$60 billion.
A computing system is dependable if we can justify the reliance that we place
on the things that it does for us. Evidence is needed in advance to back up any
promises about a computer system’s future service, and this evidence must be
scientifically rigorous. At the moment it’s very expensive and difficult to produce
such evidence. Exhaustive testing is usually out of the question: checking every
test case in an aircraft control system would take thousands of computers hundreds
of years to complete. A more sophisticated approach to checking correctness is
based on mathematics. This was used to show, for instance, that certain smart
cards don’t let crooks counterfeit money. But even these techniques can be costly
to use. It took over 100 man-years of effort to produce the safety case for the
Sizewell B nuclear power station.
We need the scientific foundation to be able to build systems whose dependability
can be justified, even in the face of the most extreme threats. We need to be able to
put systems in inaccessible places, knowing that they will continue to work over
decades. We need to be able to build very large scale systems with controllable
costs and risks. We need the ability to evolve such systems rapidly, at costs which
reflect the size of change, not the scale of the system. The scientific and technical
advances that we hope will result from this Grand Challenge could be the basis
and trigger of a radical change in the practice of developing computer systems.
We want suppliers to sell software for its safety, security, and reliability, as well
as for its functionality. Perhaps in the future:
• Commercial and industrial-scale software can be developed to be truly dependable, at lower cost and with less development risk than today.
• The vulnerabilities in existing computer systems can be discovered and corrected more effectively, improving their dependability.
• Dependable systems can be evolved dependably including, for a class of
applications, just-in-time creation of required services.
The various technologies are now sufficiently advanced that this project can be
planned with a reasonable prediction of success. Within fifteen years we hope to
produce prototype tools and examples of their successful use that are sufficiently
persuasive to encourage the industry to make these improvements.
7
Journeys in Non-Classical Computation
Robust, adaptable, powerful computation, as inspired by Nature
Susan Stepney, University of York
How can we build complex computational systems - systems that are autonomous,
adaptable, and robust - from millions of less reliable and simpler components?
How can we build them to perform correctly and safely in an unpredictable,
changing and hostile environment, and over long periods of time? Such tasks
are currently well beyond the state of our computational art, and as our technology moves towards ever smaller and ever more numerous nano-scale and quantum
devices, these tasks will get only more difficult.
And yet biological processes manage to do such things routinely. Living creatures are remarkably robust and adaptable. They can survive injury, damage, wear
and tear, and continual attack from other creatures. Biology manages to take
huge amounts of potentially unreliable matter and use self-checking, self-repair,
self-reconfiguration, multiple levels of redundancy, multiple levels of defence, to
develop adaptable complex biological organisms that continue to work for long
periods of time in an extremely hostile environment.
So, in an attempt to cope with complexity, researchers are drawing inspiration
from biology, which seems to have already discovered the answers, to develop a
host of bio-inspired algorithms in evolution (genetic algorithms, genetic programming), neurology (artificial neural networks), immunology (artificial immune systems), plant growth (L-systems), social networks (ant colony optimisation), and
more.
Researchers are also beginning to explore open complex adaptive systems, where
new resources, and new kinds of resources can be added at any time, either by
external agency, or by the actions of the system itself. Such new resources can
fundamentally alter the character of the system dynamics, and so allow new possibilities, new adaptations. Our current computational systems are beginning to
open themselves, for example, through the continuing dialogue between user and
machine, through continued new connections to networks such as the Internet, and
through robotic systems controlling their own energy sources.
One of the most exciting, and seemingly weird, recent developments is the nonclassical paradigm of quantum computing. This has emphasised the fundamental
link between computation and its physical embodiment in the real world. Still
in relative infancy, it holds out the promise of massive increases in computation power, of untappable communication channels, and of spooky effects such
as quantum teleportation.
Classical physics did not disappear when modern physics came along: rather its
restrictions and domains of applicability were made explicit. Similarly, these various forms of non-classical computation — bio-inspired algorithms, open complex adaptive systems, quantum computation, and more — will not supersede
classical computation: they will augment and enrich it. This Grand Challenge
seeks to explore, generalise, and unify all these many diverse non-classical computational paradigms, to produce a fully mature and rich science of all forms of
computation, that unifies the classical and non-classical (natural) computational
paradigms. This Challenge will additionally provide some of the infrastructure
and context for sister Grand Challenges in Biological Modelling and in Ubiquitous Computing.
Such a mature computational science will allow us to design and build robust,
adaptable, powerful, safe, complex computational systems. It will help researchers
to uncover deep biological truths: which features of biology are necessary for
correct robust functioning (so true of any living organism)? Which are necessary only because of the particular physical realisation (carbon-based terrestrial
life-forms)? Which are merely contingent evolutionary aspects (and so could be
different if “the tape were played again”)? And it will help researchers to uncover
deep physical truths: what is the relationship between logical information (bits)
and physical reality?
Download