View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

VerySmallTalk = VERY SMALL smallTALK

Context: Ubiquitous Computing

Nowadays, because of miniaturization, most devices in our surrounding are equipped with microprocessors. Such devices include cars, washing machines, phones, PDAs or mobile robots. Moreover, wireless networks enable communications and interactions among these equipments and their environment. This tendency seems to increase in the future, especially because of nanotechnologies, leading to a world where computing will be available everywhere, a world with ubiquitous computing.

In the world described above, machine's environment will be changing very frequently. As for mobile robots, they will be moving in order to perform alone or collectively tasks assigned by humans. Because these devices has to peform autonomously, embedded softwares w should adapt to context changes both automatically (i.e. without intervention of the user) and dynamically (i.e. without stopping the execution).

Yet another facet of ubiquitous computing is related to resources scarcity. Most of small devices hold few resources compared to desktop computers. This is the case as well in term of communication capabilities (networking), energetic autonomy (battery), data storage (memory), and processing capability (CPU). This fundamental characteristic must be taken into account in the software infrastructures dedicated to ubiquitous computing.

Goal: A Lightweight and Adaptive Resource Aware Platform

The goal of this project is to design and build VerySmallTalk a software infrastructure dedicated to applications for ubiquitous computing. That is a minimal and efficient Smalltalk supporting unanticipated dynamic adaptation, i.e. a solution to support unanticipated adaptation while taking into account resources constraints.

In order to support unanticipated adaptation at run-time, VerySmallTalk should enable dynamic applications restructuring. Components building an application must bear reconnections and reconfiguration without stopping the application. Therefore, the infrastructure should provide reflective facilities. The aim is to provide applications with capabilities to observe and alter themselves in order to perform required adaptations.

Resource constraints should be taken into account on two levels. On the one hand, VerySmallTalk should have a minimal memory footprint. And on the other hand, adaptation primitive operations should be efficient. They should require few memory and CPU cycles to perform. That is, reflective facilities should introduce only a very little overhead. VerySmallTalk will be validated both theoretically and using experiments on various small devices (Smart-Phones, PDAs, Robot, ...) with wirless networks (WiFi, Bluetooth, ...).

Currently, beside a set of wifi enabled PDAs, smart-phones and iPhones, we also experiment with a fleet of mobile robots.

Results: softwares, papers and talks



Some Bibliographical References

Some Related Projects and Software