Strategic IST-FET / NSF Workshops organised by ERCIM on the 'Disappearing Computer' and on 'Unconventional Programming Paradigms'
ERCIM has just published two reports on the workshops 'The Disappearing Computer' and 'Unconventional Programming Paradigms'; as part of the strategic workshop series under the auspices of the European Union (Information Society Technologies - Future and Emerging Technologies action) and the US National Science Foundation (Computer and Information Sciences and Engineering division).
The Disappearing Computer
The strategic research workshop on 'The Disappearing Computer' was organised in Vienna, on 24 April 2004. The event was designed to present and discuss visions, key research challenges and future R&D directions in the area of the disappearing computer and ubiquitous computing. About 20 leading experts from Europe and the United States participated in the workshop, representing perspectives from academia and research institutes as well as industry labs and consulting.
Computers are with us everywhere and we are aware of their increasing significance for our lives. Still, we are only beginning to accept that the increasing ubiquity of computers and related devices and their diffusion into our environment demands a rethink of the complex interplay between people and technology. In line with this, a number of themes emerged from the workshop. They cover basic technology and infrastructure issues, the role of sensors and the pressing issues of privacy and security as well as how to design the interaction of people with computers that disappear. The main conclusions from the wide ranging discussions held at the workshop can be summarized as follows.
Interaction Design: As computers disappear from the scene, become invisible and disappear from the perception of the users, a new set of issues is emerging concerning the interaction with computers embedded in everyday objects (smart artefacts): How can people interact with 'invisible' devices? How can we design implicit interaction for sensor-based interfaces? How can we design for transparency and coherent experiences? Returning to the real world as the starting point for design and trying to exploit the affordances of real world objects seems to be one way of tackling these problems. Therefore, a major approach in this domain is to combine the best of real and virtual worlds resulting in hybrid worlds.
Sensing and Context: How can we sense and capture the 'world around us', the parameters of our external physical and internal (eg, body) environments that inform and guide human behaviour? What are the relevant parameters to be used by systems supporting us? Location is certainly central but it is one parameter of a larger set determining the overall context. If context is key, what constitutes context and how can it be captured, processed and exploited for providing the services appropriate in a given situation? How do we arrive at context-aware systems? Does the collection of every facet of the sensed world, storage of every bit of information, and predicting the behaviour of users point in the right direction? Are the underlying mental models of interaction and perception sufficient? There are still major gaps towards solutions for real-world situations, not only in terms of scale but also in terms of open questions re decisions such as: How much should the system (or the infrastructure) remember? When does the system (or the infrastructure) try to predict the user's intentions and when are the users presented with choices?
Essential Infrastructure: Any infrastructure deployed to support ambient and ubiquitous computing will by definition have to be long lived and robust. Consequently new approaches to the evolution of the infrastructure, in situ upgrade and update, will be required. Given the potentially vast collection of devices, sensors and personalised applications, this update problem is significantly more complex than previously encountered. Additionally, since the infrastructure is meant to be invisible it will be necessary to develop an understanding of what failure means and how malfunctioning is communicated to the users. Consequently, new approaches to developing robust systems and applications will be required; ones that are fault tolerant, highly available, and that degrade gracefully.
Discovery: One of the key requirements to the provision of any disappeared computing infrastructure is an approach or service capable of assimilating and filtering information from various sources and determining relevance. This is essential for allowing users and applications to discover the necessary information from the environment to achieve a defined goal or complete an activity.
Programming Approaches: Models, languages, and support tools need to be radically redesigned to address the problem. Several issues were highlighted. In particular, the joint development of sensors, devices, applications and resources by designers, programmers and end-users, the programming in the face of uncertainty and partial knowledge, etc.
Privacy, Trust, and Security: The vast amounts of personal information collected by ubiquitous systems has led to growing concerns about the security, privacy, and trustworthiness of such systems and the data they hold. Moreover, it was identified that these observations are not merely an amplification of the current concerns of Internet users with desktop computers. New approaches are required that take even more into account the underlying social and technical aspects that will, in the end, determine the acceptance of this technology by the general public.
The workshop showed progress towards the goal of the disappearing computer and a calm technology that serves people in an unobtrusive way. Despite the time that has passed since the early visions and implementations about 15 years ago, it is still a long way from achieving the complete vision. We have islands of results providing dedicated services and serving specific applications. They provide a test bed for the approaches that have been proposed and constitute milestones on our way towards a people-centred information and knowledge society.
The workshop report can be downloaded from: http://www.ercim.eu/EU-NSF/
A more elaborate presentation of work in this area can be found in the special section
on 'The Disappearing Computer' in the March 2005 issue of Communications of the
ACM (CACM) that was based on the discussions in this workshop.
Workshop website: http://www.smartlab.cis.strath.ac.uk/EC-NSF/
Norbert A. Streitz, Chair of the Steering Group of 'The Disappearing Computer' initiative, Integrated Publication and Information Systems Institute - IPSI, Fraunhofer ICT Group
Paddy Nixon, Vice-Chair of the Steering Group of 'The Disappearing Computer' initiative, University of Strathclyde, UK
Unconventional Programming Paradigms
Programming paradigms or their concrete instantiations in programming languages are inspired either by the peculiarities of a computer or by a metaphor of what a computation should be. Considering the history of programming languages, metaphors that are working well today are mainly based on artefacts or on the notions and concepts that structure a domain of abstract activities (office, mathematics). In general however, various functional, object-oriented and logical programming methods developed in the 80s and 90s have not proved good enough to deal with modularity, reliability, re-usability, and maintainability, expressiveness, evolution, encapsulation, portability and ease of programming. In addition, the proliferation of existing software (and hardware) environments, the ever increasing user demands and the need for sharing information, skills and services stemming from the generalisation of data bases & communication networks generate additional difficulties to the traditional design of programmes. Programmes need now to be seen in an open & evolving framework, making it possible to dynamically incorporate services not initially foreseen. The new programming paradigm calls for new data & control structures, new programming strategies & computing models and evolving algorithms.
To cope with the above problems, as well as with needs from specific application areas, a number of new proposals based on 'natural metaphors' have been proposed. Examples include membrane and cell computing, artificial chemistry, declarative flow programming, bio-inspired computing systems such as L- and P-systems, amorphous computing, visual programming systems, musical programming, multi-media interaction, etc.
Overall, these new programming paradigms provide new abstractions and notations or propose new ways of interacting with programmes (ie visual programming, non linear programme representations, etc). They are implemented by embedding new data structures in a classical programming model, by extending an existing programming language with new constructs (for handling concurrency and exceptions and for evolving in open environments), by conceiving new software life cycles and programme execution (eg aspect-oriented programming, run time compilation) or by using entirely new computing metaphors. The practical applications of these new programming paradigms drive research investigations to address also the expressivity, semantics and implementation of programming languages and systems architectures, as well as the algorithmic complexity and optimization of programs.
Such programming paradigms are increasingly seen today as a reservoir of alternative avenues for counteracting the programming crisis we are experiencing. A representative sample of latest approaches was presented and discussed at the EU/NSF workshop on 'Unconventional Programming Paradigms'. The workshop was held on 15-17 September 2004 in Mont St Michel, France, with the participation of approximately 40 researchers coming from all over the world. Participants exchanged views on progress made in programming languages, to foster fertilization between theory and practice, and to promote the dissemination and take-up of new programming paradigms.
The workshop was designed around five leading tracks: Bio-inspired Computing, Chemical Computing, Amorphous Computing, Autonomic Computing, and Generative Programming.
The detailed workshop report and all the presentations made can be downloaded from: http://www.ercim.eu/EU-NSF/
Rémi Ronchaud, ERCIM office