Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
March 13th 2003
Computer Laboratory > Research > Systems Research Group > NetOS > Seminars > March 13th 2003

Fundamental Challenges for Ubiquitous Computing

David Greaves
There is a serious gap between theory and practice today, despite great advances in theory it cannot provide what we need in the world of real systems. In a world of ubiquitous computing, an important new form of failure is interoperability between an old and new version of software where the interface API has evolved. High-level programming languages still need to develop a long way before they neatly encapsulate all that is required. Today, it is still impossible to write a complete operating system in a high-level language that does not have to violate the type-safety of that language at some point or other, with the most notable points being the marshalling code used for RPC and the code generation phase at the output of a compiler. There appears to be a fundamental issue stemming from the Russell Paradox that must be encapsulated or buried somewhere in all real systems. The correct place to hide it is still far from clear in the envisaged world of first-class ubiquitous computing. The wide variety of fundamentally different ways of processing XML using Java is another illustration of this problem.