Quatrièmes Journées sur les Architectures Logicielles pour la Robotique Autonome, les Systèmes Cyber-Physiques et les Systèmes Auto-Adaptables 

avec un accent particulier sur le thème Génie logiciel pour la robotique autonome, les systèmes cyber-physiques et les systèmes autonomiques

couplées avec les journées SHARC 2016 ” Software and Hardware Architectures for Robots Control” (faisant suite à la série de conférences CAR organisées depuis 2006)

organisées par le Laboratoire Lab-STICC, soutenue par l’action transversale ALROB des GDR GPL et Robotique du CNRS
Brest, 30 juin et 1er juillet 2016

Date limite des propositions : 9 juin 2016
Types : présentations et posters (travaux nouveaux ou déjà publiés)

Site : http://lab-sticc.univ-brest.fr/~goulven/sharc2016/

Depuis une vingtaine d’années, la robotique autonome fait face à une croissance rapide dans la complexité des besoins et des exigences pour des robots chargés de missions multiples, capables de se coordonner, et fournissant des garanties de sûreté et de sécurité puissent être vérifiées et certifiées en vue d’une utilisation dans un environnement humain. En parallèle, une évolution similaire dans le domaine des systèmes temps-réel embarqués répartis a justifié l’émergence du domaine des systèmes “cyber-physiques” reflétant une montée similaire en complexité. D’autres domaines sont également apparus, comme l’informatique autonomique, partageant les mêmes défis scientifiques dans la conception et la mise en oeuvre de leurs architectures logicielles.

Les architectures logicielles dans ces domaines cherchent toutes, globalement, à intégrer un système informatisé de contrôle avec d’autres traitements d’informations de plus en plus lourds (cartographie, planification, analyse de données, apprentissage, etc.), et ce dans un contexte en prise constante avec le monde réel. L’expérience de ces vingt dernières années en robotique autonome montre que dans ces domaines la réalisation d’architectures logicielles correctes et sûres, facilement réutilisables et évolutives reste un défi formidable car il est très difficile d’obtenir un bon découplage entre capteurs, contrôle, algorithmes et actionneurs. La prise en compte du temps et des contraintes diverses a mené à des systèmes très couplés, où les caractéristiques des capteurs et des actionneurs de même que le cahier des charges des fonctionnalités attendues finissent par dicter des solutions spécifiques en termes d’algorithmes, d’architectures, de configurations des intergiciels et du système, etc., solutions qui sont coûteuses à développer et ensuite difficiles à valider, à vérifier et à faire évoluer.

Après le succès des journées organisées le 1er décembre 2014 au LIP6 à Paris et les 29-30 juin 2015 au CITI à Lyon et le 7 décembre 2015 à nouveau au LIP6 à Paris, ces quatrièmes journées vont poursuivre l’animation de la communauté par des échanges et des collaborations sur les défis scientifiques communs au au développement de ces architectures de contrôle, autonomiques et cyber-physiques.

Pour cette nouvelle édition, la thématique centrale est le ” Génie logiciel pour la robotique autonome, les systèmes cyber-physiques et les systèmes autonomiques “. La mise en oeuvre de ces architectures posent des défis particuliers sur l’ensemble du développement et du cycle de vie : élicitations et expressions des besoins, conception, développement, tests unitaires, tests d’intégration, vérification et validation, sûreté de fonctionnement (expression des contraintes, détection des violations, détection des fautes, etc.), déploiement, évolution et maintenance. Des contributions sur l’ensemble de ce spectre sont attendues.

De plus, des contributions peuvent également être soumises sur les autres thématiques générales suivantes (mais toujours comprises dans l’optique des architectures logicielles pour la robotique autonome, les systèmes cyber-physiques et les systèmes auto-adaptables) :

- définition d’architectures logicielles ;
- langages de programmation, abstractions de programmation et patrons
de conception ;
- la composition, coordination, inter-connexion de ces systèmes.

Types de propositions

L’objectif de ces journées est d’abord l’animation de la communauté de recherche dans le domaine. La présentation de travaux nouveaux non-publiés n’est pas une condition de participation. Les propositions faites sur la base de travaux préalablement publiés sont parfaitement acceptables. Deux types de propositions sont possibles :

- propositions de présentations orales requérant l’envoi d’un article,
ou
- propositions de posters requérant l’envoi d’un article court.

La sélection des travaux présentés oralement sera faite en fonction de leur intérêt le plus large pour la communauté et leur pertinence par rapport aux thèmes de la journée. Les propositions de présentations orales non-retenues pourront se voir offrir la possibilité de présenter un poster.

Pour éviter les problèmes de droits de publication sur les articles déjà publiés ou à publier, il ne sera pas fait d’actes formels de ces journées. La présentation (orale ou poster) de travaux déjà publiés, en cours de soumission ailleurs ou à soumettre plus tard est donc tout à fait possible. Pour les auteurs qui le souhaiteront, les supports et les textes pourront cependant être mis sur le site de la journée.

Modalités de proposition

- la date limite des propositions est le 9 juin 2016 ;
- les propositions sont envoyées directement par courrier électronique
à l’un ou l’autre des membres du comité scientifique ;
- les résultats et invitations seront donnés au plus tard le 13 juin
2016.

Modalités de participation

Les journées sont organisées conjointement avec la conférence ” Software and Hardware Architectures for Robots Control, SHARC 2016″ (faisant suite à la série de conférences CAR organisées depuis 2006) et des sessions communes seront organisées. La participation aux journées est ouverte aux personnes souhaitant simplement assister aux présentations, consulter les posters et participer aux discussions. Participants simples et orateurs devront cependant s’inscrire à la conférence SHARC 2016.

Comité scientifique

  • David Andreu LIRMM andreu/at/lirmm.fr
  • Jean-Philippe Babau Lab-STICC jean-philippe.babau/at/univ-brest.fr
  • Noury Bouraqadi EM Douai noury.bouraqadi/at/mines-douai.fr
  • Goulven Guillou Lab-STICC goulven.guillou/at/univ-brest.fr
  • Jacques Malenfant LIP6 jacques.malenfant/at/lip6.fr
  • Roger Pissard-Gibolet INRIA Grenoble roger.pissard/at/inria.fr
  • Eric Rutten INRIA Grenoble eric.rutten/at/inria.fr
  • Olivier Simonin CITI-Inria olivier.simonin/at/insa-lyon.fr
  • Serge Stinckwich UMMISCO serge.stinckwich/at/gmail.com

JFSMA 2016

24e Journées Francophones sur les Systèmes Multi-Agents
5-7 octobre 2016
Saint Martin du Vivier (à proximité de Rouen)
http://jfsma2016.litislab.fr/

Dates importantes

- Soumission des résumés : 14 mars 2016
- Soumission des articles : 21 mars 2016
- Notification aux auteurs : 3 juin 2016
- Réception des versions définitives : 1er juillet 2016

Domaine de la conférence

Les Journées Francophones sur les Systèmes Multi-Agents (JFSMA) sont un moment privilégié d’échanges scientifiques transversaux. Durant trois journées, les JFSMA réunissent des chercheurs qui étudient, utilisent et font évoluer le paradigme multi-agent pour adresser des problématiques issues de domaines liés à l’informatique (intelligence et vie artificielle, génie logiciel, robotique collective, etc.) et aux sciences humaines et naturelles (économie, sociologie, éthologie, etc.).

Nourri de cette pluridisciplinarité, le paradigme multi-agent fournit un cadre conceptuel pour l’étude et la conception de systèmes dont la dynamique globale est le fruit d’entités autonomes –agents– qui interagissent dans un environnement commun. Les travaux de recherche qui sont associés à ce paradigme proposent ainsi des modèles, des méthodologies, des techniques et des outils qui permettent notamment de répondre à différents problèmes que l’on peut décliner selon quatre aspects :

- le développement de systèmes informatiques décentralisés où l’approche SMA permet l’intégration flexible et la coopération de logiciels et de services autonome
- la résolution collective de problème pour laquelle il s’agit de résoudre de manière distribuée un problème qui se pose globalement à la collectivité d’agents
- la simulation de phénomènes complexes où la modélisation multi-agent apporte un cadre conceptuel permettant la représentation et la simulation de systèmes faisant intervenir différentes entités en interaction
- le développement de systèmes médiatisés où utilisateurs humains et agents artificiels interagissent directement ou indirectement, dans le cadre d’activités collectives de type éducatif, culturel ou social.

Nous attendons des contributions originales relevant de ces domaines. Celles-ci peuvent proposer des avancées conceptuelles, formelles ou logicielles. Elles peuvent également être analytiques (sur les problèmes, les enjeux…) ou encore synthétiques (par exemple des retours sur expérimentations).

Par tradition, chaque édition des JFSMA met en exergue une thématique spécifique que les auteurs sont invités à prendre en compte dans leurs contributions. Cette année, le thème des journées est “systèmes multi-agents et simulation”.

Les liens qui unissent le domaine des SMA et la simulation informatique sont très étroits. D’un côté, les SMA sont aujourd’hui reconnus comme un paradigme de modélisation pertinent pour la simulation et l’étude des systèmes complexes dans de nombreuses disciplines. De l’autre, parce que les SMA produisent des dynamiques collectives difficiles à prévoir, même dans des environnements contrôlés, la simulation est aussi un élément majeur du génie logiciel orienté multi-agent dans la mesure où elle constitue le moyen grâce auxquels de nombreux SMA applicatifs sont prototypés, validés, voire mis en œuvre. L’évolution des modèles et des outils utilisés pour simuler les SMA est donc un élément-clé du domaine.

Conséquence de la richesse du paradigme multi-agent et du large spectre des applications envisagées, il existe de nombreuses façons différentes de modéliser et de simuler les comportements, leur environnement, leurs interactions et les différentes dynamiques liées à leur couplage. Si la diversité croissante des approches peut être liée à celle des usages, elle pose cependant la question de la réutilisation de l’existant, et donc de la capitalisation des efforts et des expériences.

Cette édition sera l’occasion de faire le point sur les différentes solutions utilisées par la communauté dans divers contextes, et ainsi de favoriser le partage d’expériences. Le cas échéant, les auteurs sont donc invités à motiver et à détailler explicitement dans leur contribution les choix qui auront été faits en la matière (plate-forme, implémentation des différentes dynamiques, etc.), quel que soit le but sous-jacent. Sur ces aspects, on s’attachera notamment à justifier l’adéquation entre ces choix et les objectifs visés, ainsi qu’à mettre en lumière les points qui restent difficiles ou à identifier des problématiques qui n’ont pas été encore abordées.

Format des soumissions d’articles longs

La langue officielle de la conférence est le français. Seules les soumissions en français et respectant le format de soumission seront considérées. Comme pour les dernières éditions, les actes de la conférence seront publiés chez Cépaduès et indexés sur DBLP. Les articles ne devront pas dépasser 10 pages et leur format devra respecter scrupuleusement les instructions aux auteurs disponibles sur le site de la conférence.

Format des soumissions d’articles de démonstration

La soumission de démonstrations à présenter pendant la conférence est également prévue par un article de 2 pages, respectant le format d’article

disponible sur le site de la conférence. Les articles de démonstration seront inclus dans les actes des JFSMA 2016.Processus de soumission

La soumission se fait en deux temps : soumission d’un résumé de l’article et soumission de l’article complet, une semaine plus tard. Le processus de soumission et de relecture s’appuie sur EasyChair à cette adresse : https://www.easychair.org/conferences/?conf=jfsma2016

Soumission du résumé de l’articleLes résumés sont soumis en utilisant EasyChair au format texte uniquement. La soumission comprend le titre de l’article, les noms et affiliations des auteurs, un résumé d’environ 10 lignes et un ensemble de mots-clés parmi les suivants :

+ Agent (architecture, perception, action)
+ Agents conversationnels
+ Confiance, Confidentialité, Sécurité
+ Coordination, Travail en équipe, Planification
+ Déploiement de SMA, Résistance aux pannes, Fiabilité
+ Émergence, Auto-organisation, Viabilité
+ Environnement (modélisation d’environnements)
+ Environnements de développements multi-agents
+ Évolution, Adaptation, Apprentissage
+ Intelligence ambiante, Informatique diffuse
+ Interaction, Communication, Protocoles
+ Jeux sérieux, Réalité virtuelle
+ Langages de programmation multi-agents
+ Méta-Modèles multi-agents
+ Méthodes et méthodologies multi-agents
+ Modèles de comportement agent
+ Modèles formels agent
+ Modélisation multi-niveaux
+ Organisations, Normes, Coalitions
+ Résolution collective de problèmes
+ Robotique collective
+ Simulation multi-agents
+ Systèmes mixtes, Approches participatives
+ Théorie des jeux
+ Vérification et validation des systèmes multi-agents
+ Vie artificielle, Intelligence en essaim

Soumission de la version complète de l’article

La soumission de la version complète se fait également via EasyChair, uniquement au format PDF. Elle devra respecter scrupuleusement le style de présentation disponible sur le site de la conférence.

Comités et organisation

Président du comité de programme : Fabien Michel (LIRMM, Université de Montpellier)
Président du comité d’organisation : Julien Saunier (LITIS, INSA de Rouen)

Comité consultatif : Pierre Chevaillier (Lab-STICC, ENIB), Rémy Courdier (LIM, Université de la Réunion), Salima Hassas (LIRIS, Université de Lyon), Michel Occello (LCIS, Université Pierre Mendès France, Valence), Laurent Vercouter (LITIS, INSA de Rouen)

La constitution complète des comités de programme et d’organisation des JFSMA 2016 est présentée sur le site de la conférence.

The french academic system requires that people pass yet another diploma higher than the PhD before applying for a full professor position. The diploma is called “Habilitation à Diriger les Recherches” (HDR for short) which stands for “Ability to Supervise Research”. It requires writing a thesis presenting how the candidate co-supervised PhD students and Post-Doc, and the strategy of conducted research.

Today, I’m glad to announce that Dr Luc Fabresse did successfully defended his HDR entitled: “Reflective Languages for Mobile Robotics Applications Development”. You’ll find below keywords and the abstract.

Keywords : Mobile robotics applications, reflective language, components, remote debugging, application- level virtual memory

Abstract
Mobile autonomous robots are progressively entering the mass market. This creates a growing de- mand to develop new service robotics applications. However, the typical development cycle of a mobile robotics application is long and involves several steps : development, (cross-)compilation, deployment and execution. My main objective is to shorten this cycle and support a live programming style by proposing new models, languages, tools and infrastructures to the developers. My researches focus on high-level parts of robotics applications (weaker hardware and time constraints) and advocate the use of dynamic and reflective languages. Indeed, those languages provide a high-level of abstraction and mechanisms to adapt and extend programs. In this context, this manuscript describes the four themes of my research.

In the first theme, we propose component-oriented languages allowing developers to express the architecture of an application directly in its source code as an assembly of components that may be remote or pervasive. Making architectures explicit ease program adaptation.

The second theme is about extending the kernel of a reflective language. Such extensions may require modifying the bootstrap of the language that is often mixed and hidden in its virtual machine code. In this regard, we proposed a higher-level approach based on the co-execution of multiple language runtime environments on the top of the same virtual machine. This infrastructure has been success- fully used to bootstrap multiple language kernels from their self-definitions.

The third theme is about limited resources available on a mobile robot (e.g. memory, computing capa- bilities). We proposed new mechanisms based on reflection to reduce the memory consumption of an object-based application : the first one is a dynamic dead code elimination technique and the second one is an application-level virtual memory that can swap out and in, referenced but unused objects during the execution. We also work on pushing part of the heavy computations to specialized hardware components such as FPGAs.

The fourth and last theme is about tools and infrastructures to improve the development of single and multi-robots applications. We proposed a debugging solution for a remote applications execu- ted on a mobile robot. This solution relies on a mirror-based reflective model and allows developers to interactively program in the context of errors when they occur. Our main application domain is the exploration and mapping of unknown environments using multi-robots systems. To ease the de- velopment but also comparisons of different solutions in this domain, we proposed a benchmarking infrastructure that can simulate exactly the same code as the one that would be deployed on real robots. We also worked on metrics (e.g. exploration time, memory and CPU consumed) to objectively compare different solutions.

Throughout these four themes, our research introduce new solutions with many perspectives to develop, test, deploy, execute and benchmark mobile and autonomous robotics applications.

Journée sur les Architectures Logicielles pour la Robotique Autonome, les Systèmes Cyber-Physiques et les Systèmes Auto-Adaptables sur le thème Modèles à l’exécution (model@runtime) pour la vérification, la simulation et l’auto-adaptabilité dynamiques organisée par le Laboratoire LIP6, soutenue par l’action transversale ALROB entre les GDR GPL et Robotique du CNRS LIP6/Université Pierre et Marie Curie, 7 décembre 2015

Date limite des propositions : vendredi 13 novembre 2015

Types : présentations et posters (travaux nouveaux ou dejà publiés)

Depuis une vingtaine d’années, la robotique autonome fait face à une croissance rapide dans
la complexité des besoins et des exigences pour des robots chargés de missions multiples, capables
de se coordonner, et fournissant des garanties de sûreté et de sécurité puissent être vérifiées et
certifiées en vue d’une utilisation dans un environnement humain. En parallèle, une évolution
similaire dans le domaine des systèmes temps-réel embarqués répartis a justifié l’émergence du
domaine des systèmes « cyber-physiques » reflétant une montée similaire en complexité. D’autres
domaines sont également apparus, comme l’informatique autonomique, partageant les mêmes objectifs
scientifiques dans la conception et la mise en oeuvre de leurs architectures logicielles.
Ces architectures logicielles visent toutes, globalement, à intégrer un système informatisé de
contrôle avec d’autres traitements d’informations de plus en plus lourds (cartographie, planification,
analyse de données, apprentissage, etc.), et ce dans un contexte en prise constante avec
le monde réel. L’expérience de ces vingt dernières années en robotique autonome montre que la
réalisation d’architectures logicielles correctes et sûres, facilement réutilisables et évolutives reste
un défi formidable car il est très difficile d’obtenir un bon découplage entre capteurs, contrôle,
algorithmes et actionneurs. La prise en compte du temps et des contraintes diverses a mené à des
systèmes très couplés, où les caractéristiques des capteurs et des actionneurs de même que le cahier
des charges des fonctionnalités attendues finissent par dicter des solutions spécifiques en termes
d’algorithmes, d’architectures, de configurations des intergiciels et du système, etc., solutions qui
sont coûteuses à développer et ensuite difficiles à valider, à vérifier et à faire évoluer.

Après le succès des Première et Seconde Journées organisées le 1er décembre 2014 au LIP6 à
Paris et les 29-30 juin 2015 au CITI à Lyon, cette troisième journée souhaite poursuivre l’animation de la
communauté par des échanges et des collaborations sur les défis scientifiques communs au génie
logiciel et au développement de ces architectures de contrôle, autonomiques et cyber-physiques.
Pour cette troisième édition, la thématique centrale est « Modèles à l’exécution » (model@
runtime). L’utilisation de modèles d’architecture logicielle (UML, …) ou de comportement
(automates, systèmes hybrides, …) est une pratique centrale et courante en génie logiciel depuis
plusieurs années déjà. Plus récemment, l’idée d’embarquer au sein du système une représentation
de ses modèles manipulable à l’exécution se développe de plus en plus. Ces modèles embarqués
peuvent alors servir de base à la vérification dynamique, à l’apprentissage, à la simulation et plus
généralement à l’auto-adaptation dynamiques des architectures logicielles. Des contributions sur
les approches utilisant les modèles à l’exécution développées dans les domaines des architectures de
contrôle de robots, de l’automatique, des systèmes autonomiques et des systèmes cyber-physiques
en général sont particulièrement attendues.

Des contributions peuvent également être soumises sur les thématiques générales suivantes
(toujours comprises dans l’optique des architectures logicielles pour la robotique autonome, les
systèmes cyber-physiques et les systèmes auto-adaptables) :
— définition d’architectures logicielles
— langages de programmation, abstractions de programmation, et patrons de conception
— spécification, modélisation et validation, en particulier en fonction de leur impact et contraintes
sur les architectures logicielles
— les aspects du génie logiciel directement liés aux architectures logicielles : conception, développement,
tests, validation, gestion du cycle de vie, etc.
— composition, coordination, inter-connexion de ces systèmes

Types de propositions
L’objectif de ces journées est d’abord l’animation de la communauté de recherche dans le domaine.
La présentation de travaux nouveaux non-publiés n’est pas une condition de participation.
Les propositions faites sur la base de travaux préalablement publiés sont parfaitement acceptables.
Deux types de propositions sont possibles :
— propositions de présentations orales requérant l’envoi d’un article, ou
— propositions de posters requérant l’envoi d’un article court.

La sélection des travaux présentés oralement sera faite en fonction de leur intérêt le plus large
pour la communauté et leur pertinence par rapport aux thèmes de la journée. Les propositions de
présentations orales non-retenues pourront se voir offrir la possibilité de présenter un poster.

Pour éviter les problèmes de droits de publication, il ne sera pas fait d’actes formels de ces
journées ; la présentation (orale ou poster) de travaux déjà publiés, en cours de soumission ailleurs
ou à soumettre plus tard est donc tout à fait possible. Pour les auteurs qui le souhaiteront, les
supports et les textes pourront cependant être mis sur le site de la journée.

Modalités de proposition
— la date limite des propositions est le vendredi 13 novembre 2015 ;
— les propositions sont envoyées directement par courrier électronique à l’un ou l’autre des
membres du comité scientifique ;
— les résultats et invitations seront donnés au plus tard le vendredi 20 novembre 2015.

Comité scientifique
David Andreu LIRMM andreu/at/lirmm.fr
Noury Bouraqadi EMDouai noury.bouraqadi/at/mines-douai.fr
Jacques Malenfant LIP6 jacques.malenfant/at/lip6.fr
Roger Pissard-Gibolet INRIA Grenoble roger.pissard/at/inria.fr
Romain Rouvoy LIFL-CRiSTAL romain.rouvoy/at/univ-lille1.fr
Éric Rutten INRIA Grenoble eric.rutten/at/inria.fr
Olivier Simonin CITI-Inria olivier.simonin/at/insa-lyon.fr
Serge Stinckwich UMMISCO serge.stinckwich/at/gmail.com

CONTACT
Prof. Noury Bouraqadi, noury.bouraqadi AT mines-douai.fr
Dr. Luc Fabresse, luc.fabresse AT mines-douai.fr
Dr. Guillaume Lozengez, guillaume.lozenguez AT mines-douai.fr

DESCRIPTION
Robotic exploration and mapping is basic to many robotic applications and more specifically to search and rescue operations. It relies on robots to build a map of the environment as a first step to further mission specific tasks (eg. extracting trapped victims). In scenarios where time is critical such in the aftermath of an earthquake, the use of multiple robots allows to speed up the exploration and to take advantage of distributed sensor to increase the mapping process. Each robot explores a different but connected area. The global map is built by merging local maps built by individual robots.

To build a map of an unknown environment, a robot has to perform Simultaneous Localization and Mapping (SLAM). Based on different perceived data (typically odometery and laser scans), metric SLAM algorithms localize the robot while building an occupancy grid. The occupancy grid models the environment as a matrix where each cell denotes the probability of occupancy of a small area.

Best metric SLAM algorithms produce precise maps that allow localization with typically centimetric precision. However, an occupancy grid map is materialized as a large matrix. Beside the memory consumption, such a map leads to high CPU consumption for path planning. CPU consumption is also a concern in multi-robot exploration. Indeed, merging metric maps produced by different robots is computationally intensive.

The above drawbacks of metrics maps can be mitigated by the use of topological maps. However, topological maps do not allow precise obstacle delimitations needed for autonomous robots exploration. The goal of this PhD is to contribute to our ongoing effort, and propose a solution that gathers the best of both worlds.

The expected outcome is a SLAM algorithm that builds a topological map that embeds metric information. The target algorithm should be implemented on top of the ROS middleware and validated both in simulation and on actual robots. It should also be supported by a set of automated tests that can safely run on an actual robot.

BIBLIOGRAPHY
- Robotic Mapping and Exploration. C. Stachniss. Springer 2009.
- An evaluation of 2D SLAM techniques available in Robot Operating System. J. M. Santos, D. Portugal, and R. Rocha. SSRR 2013.
- A Methodology for Testing Mobile Autonomous Robots. Jannik Laval, Luc Fabresse and Noury Bouraqadi. IROS 2013.
- Towards Test-Driven Development for Mobile Robots. Luc Fabresse, Jannik Laval and Noury Bouraqadi. ICRA 2013 eigth workshop on Software Development and Integration in Robotics (SDIR VIII).
- Team Size Optimization for Multi-robot Exploration, Zhi Yan, Luc Fabresse, Jannik Laval, and Noury Bouraqadi, SIMPAR 2014.
- Metrics for Performance Benchmarking of Multi-robot Exploration. Zhi Yan, Luc Fabresse, Jannik Laval, and Noury Bouraqadi. IROS 2015.
- Punctual versus continuous auction coordination for multi-robot and multi-task topological navigation, Guillaume Lozenguez, Lounis Adouane, Aurélie Beynier, Abdel-Illah Mouaddib, Philippe Martinet, Autonomous Robot 2015.

CONTACT
Prof. S. Ducasse, stephane.ducasse AT inria.fr, INRIA, France
Prof. N. Bouraqadi, noury.bouraqadi AT mines-douai.fr, Mines Douai, France
Dr. M. Denker, marcus.denker AT inria.fr, INRIA, France
Dr. L. Fabresse, luc.fabresse AT mines-douai.fr, Mines Douai, France

CONTEXT
Building next generation systems that can not be stopped in deployment is an interesting challenge for industry.
Indeed, when we need to replace current software for an upgrade or a bug fix, it is mandatory to stop
the old running version, make the change and then restart the new version.
However, there are situations where a such process is either impossible or at least undesirable because
of the costs resulting from a shutdown (e.g production line, robot on mars, …).

We believe that software built with from the beginning the property to work indefinitely, will be by
construction more robust to change, intrinsically capable of evolution and more agile than traditional software.

Dynamic languages such as CLOS, Ruby, Python, Smalltalk and Pharo provide a support for updates that involve code change.
Even if they are more advanced compared to other languages, their solutions are mainly ad hoc and deserve being rethought.
We believe it is important to have a mechanism and an infrastructure that allow adaptive and safe software updates.

By “safe” we mean that this solution should support different conditions, such as a series of updates performed in the wrong sequence.
In such situations, instances of changed classes should migrate in a satisfactory fashion.
Safety also means verifying loaded changes. Changes should be checked and possibly rejected if they make the system
unstable or if they introduce errors.

SCIENTIFIC GOALS
The questions we would like to target in this PhD are the following:

- What is a good infrastructure to support reliable dynamic code update? Do we need to analyse changes?

- Is an infrastructure based on isolated environments enough to ensure update safety? What level of atomicity is required?

- What kind of meta-object protocol is required to migrate objets?

- Would it be interesting to have different versions of a given class or package active at the same time for the same software?

BIBLIOGRAPHY

. D. Duggan. Type-based hot swapping of running modules. In Intl. Conf. on Functional Programming, pages 62–73, 2001.
. M. Denker, T. Gîrba, A. Lienhard, O. Nierstrasz, L. Renggli, and P. Zumkehr. Encapsulating and exploiting change with Changeboxes. In Proc. Int. Conference on Dynamic Languages, pages 25–49. ACM Digital Lib., 2007.
. M. Dmitriev. Safe Class and Data Evolution in Large and Long-Lived Java Applications. PhD thesis, University of Glasgow, 2001.
. M. Hicks and S. Nettles. Dynamic software updating. ACM Transactions on Programming Languages and Systems, 27(6):1049–1096, nov 2005.
. J. Kephart. Research challenges of autonomic computing. In ICSE 2005, pages 15–22, may 2005.
. G. Kniesel. Type-safe delegation for run-time component adaptation. In R. Guerraoui, editor, Proceedings ECOOP ’99, volume 1628 of LNCS, pages 351–366, Lisbon, Portugal, June 1999. Springer-Verlag.
. I. Neamtiu, M. W. Hicks, G. Stoyle, and M. Oriol. Practical dynamic software updating for c. In PLDI, pages 72–83, 2006.
. G Polito, Stéphane Ducasse, N Bouraqadi, L Fabresse, M Mattone. Virtualization Support for Dynamic Core Library Update. Onward!, Oct 2015, Pittsburg, USA.
. X. Ren, F. Shah, F. Tip, B. Ryder, and O. Chesley. Chianti: A tool for change impact analysis of Java programs. In Proceedings of OOPSLA 2004), pages 432–448, 2004.