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
- WifiBotST: a framework for building control architecture for wifibot robots. Allows alos building simulations.
- MalevaST: an infrastructure for developing using the component model Maleva. Experimented to build a simulator of a vacuum cleaner robot.
- UbiquiTalk: an infrastructure and framework supporting automatic service discovery over ad hoc networks and the internet alike
- LCSTalk: a learning classifier system platform for multi-agent learning
- Flocking-Based Multi-Robot Exploration, Noury Bouraqadi, Arnaud Doniec. 4th National Conference on “Control Architectures of Robots” (CAR09). 23-24 april 2009. Toulouse, France. [Paper PDF, Presentation PDF]
- Making Networked Robot Connectivity-Aware. Van Tuan Le, Noury Bouraqadi, Serge Stinckwich, Victor Moraru, Arnaud Doniec. IEEE International Conference on Robotics and Automation (ICRA2009), 12-17 May 2009. Kobe Japan
- Connectivity Awareness in Networked Robotic Systems. Van Tuan Le, Noury Bouraqadi, Serge Stinckwich, Victor Moraru. Technical Report 20081001. Ecole des Mines de Douai. October 2008. [PDF]
- Towards an Adaptive Robot Control Architecture. Noury Bouraqadi and Serge Stinckwich. Second National Workshop on “Control Architectures of Robots: from models to execution on distributed control architectures”. May 31 and June 1st, 2007 - Paris - France
- Towards A Generic Anticipatory Agent Architecture for Mobile Robots. Noury Bouraqadi and Serge Stinckwich. In proceedings of The Third International Workshop on Multi-Agent Robotic Systems (MARS 2007). Mai 2007, Angers, France.
- MaDcAr: an Abstract Model for Dynamic and Automatic (Re-)Assembling of Component-Based Applications. Guillaume Grondin, Noury Bouraqadi, and Laurent Vercouter. The 9th International SIGSOFT Symposium on Component-Based Software Engineering (CBSE 2006). June 29th -1st July 2006. Mälardalen University, Västerås near Stockholm, Sweden.
- Assemblage automatique de composants pour la construction d’agents avec MADCAR. Guillaume Grondin, Noury Bouraqadi, and Laurent Vercouter. Journée Multi-Agent et Composant (JMAC 2006). 21 Mars 2006. Nîmes, France. [PDF]
- Ludovic Guégan. Hybridation d’agents pour systèmes embarqués. Master thesis supervised by N. Bourqadi and S. Stinckwich. September 2005. [PDF]
- R. Robbes, N. Bouraqadi, and S. Stinckwich. Un modèle multi-agent unifiant les notions de groupe et d'aspect. In Systèmes multi-agents défis scientifiques et nouveaux usages - Actes des JFSMA 2004, Paris, France, November 2004.
- R. Robbes, N. Bouraqadi, and S. Stinckwich. An aspect-based multi-agent system. In Research Track of the ESUG 2004 Smalltalk Conference, Köthen (Anhalt), Germany, September 2004. [PDF]
- Romain Robbes. Mise en oeuvre de la programmation par aspects dans le cadre des systèmes multi-agents. Master thesis supervised by N. Bourqadi and S. Stinckwich. [PDF]. September 2003.
Some Bibliographical References
- Supporting Unanticipated Dynamic Adaptation of Application Behaviour. B. Redmond and V. Cahill. Proceedings of ECOOP'02. June 2002, Málaga, Spain
- Partial Behavioral Reflection: Spatial and Temporal Selection of Reification. Éric Tanter et al. Proceedings of OOPSLA'03. October 2003, Anaheim, California, USA
- ARM : un modèle réflexif asynchrone pour les objets répartis et réactifs. J. Malenfant and S. Denier. Proceedings of LMO 2003, Vannes, France.
- Mirrors: Design Principles for Meta-Level Facilities of Object-Oriented Programming Languages. G. Bracha and D. Ungar. Proceedings of OOPSLA'04. October 2004, Vancouver, British Columbia, Canada.
- Design, implementation, and evaluation of the Resilient Smalltalk embedded platform. J. R. Andersen et al. Elsevier International Journal on Computer Languages, Systems & Structures, Volume 31, Numbers 3-4, October/December 2005.
Some Related Projects and Software