Over the last years, the RMOD team of INRIA Lille and the CAR theme of IMT Lille Douai have been working together on creating tiny language cores. For example, Guillermo Polito demonstrated in his PhD a fully reflective kernel that fits into 80 kb of memory and that it is possible to have hyper specialized kernels down to 11 kb. We have also worked on remote debugging (PhD of N. Papoulias) and dynamic code updates (PhD of P. Tesone) of such kernels. All of these works are prototyped in Pharo. More recently, RMOD have been working on advanced probes mechanisms (M. Denker) and a solid remote debugging infrastructure (D. Kudriashov).

The goal of this PhD is to revisit the architecture around such mini-kernels for building IoT applicatons. The following tasks are foreseen:

- improve the tools to: edit, compile, debug, deploy and update such kernels on IoT devices. Learning how to debug remotely and dynamically update such IoT systems using the PharmID Pharo environment. This task will be in cooperation with M. Denker and D. Krudiakov on remote debugging for IoT and G. Polito for the kernel edition and tooling,

- define some language extensions to manage groups of IoT devices to program them at once. Managing hundreds or even thousands of IoT devices is a challenging task. We want to explore different solutions to help deploying and updating groups of IoT devices using some registration mechanism in a cloud server or some groups/roles based approaches for example,

- expressing the architecture of IoT applications. We would like to explore also how to express IoT architectures and what are the abstractions that should be offered to developers such as expressing event-driven architectures with declarative ECA (Event-Conditions-Actions) rules.
But we will study a couple of typical IoT applications.

- dynamically update an IoT application. An IoT application needs to adapt itself because unreachable or faulty devices or the diminution of available bandwith. We would like that the whole application can reconfigure itself in such situations as Guillaume Grondin proposes it in its PhD.

- Lighweight virtual machines. Virtual machines in the IoT context are very powerful for incremental deployment or dynamic updates. Although they are tuned for speed, they consume space compared to a non VM-based program. In this task, we would like to investigate what is the minimal memory consumption that we can reach for a VM usable for IoT. To do so we will use a standard VM such as Cog (the open-source virtual machine of Pharo) and degrade it. We will use it since our minimal kernels are running on it.

Note that ZweiDenker GmbH is interested in collaboration on the IoT management cloud infrastructure.

To apply, please send us:

- a CV
- a copy of your Master diploma
- a copy of your Master thesis
- 2 (two) reference letters, with the contact details of the referents
- links to videos of demos of your experiments and/or simulations

The application materials should be sent no later than August 30th 2017 by email to Prof. S. Ducasse stephane.ducasse-AT-inria.fr.
Email subject must start with: [PhD-RMoD-CAR-2017].

- G Polito, Stéphane Ducasse, N Bouraqadi, L Fabresse, M Mattone. Virtualization Support for Dynamic Core Library Update. Onward!, Oct 2015, Pittsburg, USA.
- Guillermo Polito. Virtualization Support for Application Runtime Virtualization and Extension. Ph.D. Thesis 2015. Co-delivrée par l’Université de Lille et l’École des Mines de Douai.
- Extended results of Tornado: A Run-Fail-Grow approach for Dynamic Application Tayloring. Commanditeur: École des mines de Douai, France. 50p, July 2014
- Nick Papoulias, Noury Bouraqadi, Luc Fabresse, Stéphane Ducasse and Marcus Denker, Mercury: Properties and Design of a Remote Debugging Solution using Reflection, Journal of Object Technology, 14, 1:1-36, 2015
- Madcar: an abstract model for dynamic and automatic (re-)assembling of component-based applications
G Grondin, N Bouraqadi, L Vercouter. International Symposium on Component-Based Software Engineering, 360-367.

PDF Job Description

Since many years, the CAR team of the IMT Lille Douai has been working on a series of research projects on multi-robot exploration, search and rescue. An approach developed by our team is based on a graph representation of the environment to take benefit from both topological and metric information. As part of the CPER Data project*, we are hiring a Post-Doc for 12 months starting fall 2017. This position is focused on solutions to coordinate a robotic fleet to autonomously explore and map an indoor environment, under communication constraints.

(*) The CPER Data project is co-funded by the UE, France, and the Haut de France region, as part of the “Contrat de Plan Etat Région” program.

Expected candidates with a PhD degree should have a solid background in one of the following areas:
-coordination algorithms for multi-robot systems.
-mobile robot programming and software control architectures.
-Robot middleware such as ROS.

A background in dynamic languages would be a plus.

To apply, please send us:
-a CV,
-a cover letter describing your background and work, and how it connects to our research
-2 (two) reference letters, with the contact details of the referents
-a selection of 2-3 papers where you are the first author
-links to videos of demos of your experiments and/or simulations
-a copy of your PhD diploma

The application materials should be sent by email to Prof. Noury Bouraqadi: noury.bouraqadi(AT)mines-douai.fr

The Ecole des Mines de Douai has open positions for Permanent Assistant Professors. Candidats must be from EU. The application
dead-line is the 15th of may! Below a description of the position. We expect candidates to join the CAR team and work on software engineering and coordination of mobile autonomous multi-robot systems. Our recent projects target applications such as service robotics as well as robotic search and rescue.

Recruitment of an assistant‐professor in Complex Systems Modelling ‐ Computer Science and Automatic Control – Mines Douai

The Ecole Nationale Superieure des Mines de Douai (Mines Douai) is a French engineering school, member of the Institut Mines‐Télécom. Institut Mines‐Télécom is composed of 13 engineering schools with nearly 12,000 students, including 1,700 graduate students , and a research contract turnover of € 100 million.
Mines Douai is organized into teaching and research departments in various fields of engineering (for more details, see the website of the school: http://www2.mines‐douai.fr/en). Mines Douai would like to strengthen the activities of the Department of Computer Science and Automatic Control, mainly focused on industrial and IT systems.
The Department of Informatics and Automatic Control (see, http://ia.ur.mines‐douai.fr/en/home/) at Ecole des Mines de Douai is seeking candidates for a tenured assistant professor position.

The job description of this position is presented below:
 Teaching activities :
‐ Provide specialized teaching in his or her field of competence,
‐ Get involved in various educational support activities (supervision of students, creation of new educational resources, admission …).

 Research and technology transfer activities :
‐ Conduct research and supervise PhD students and postdocs in one or several of the following fields: software engineering, autonomous systems, artificial intelligence and machine learning
‐ Contribute to the various projects related to modelling, optimization and/or monitoring of complex and evolving systems (energy management, robotics, transport, smart buildings),
‐ Develop collaborations with the other members of the department,
‐ Participate in the regional, national and international activities (conferences, workshops, etc.) within his/her field research,
‐ Participate in the organization of scientific events.
‐ Collaborate with industrial partners and participate in technology transfer,
Qualifications required
The applicant should hold a PhD in the field of computer science, and who is interested in teaching and industrial‐oriented research. A post‐ doctoral experience would be appreciated.

The ideal candidate must hold a specialized doctorate degree with skills in software engineering, autonomous systems, multi‐agent systems or machine learning.
He/She should be a good team player and communicator, and have demonstrated international experience. He/She should have the necessary linguistic and cultural skills to develop international cooperations in both research and teaching.

The application form has to be requested from :
Danièle CATOUILLARD (Phone : +33 ‐ daniele.catouillard@mines‐douai.fr ) Ecole des Mines de Douai
Human Resources Department
941 Charles Street Bourseul ‐ CS 10838
59508 Douai Cedex ‐ France
Closing date for applications: 15 May 2016
Contact person
Professor Stephane LECOEUCHE ‐ Deputy Head of Department of Computer Science and Automatic Control, Director of the Research Unit IA
Tel: +33
Mail: stephane.lecoeuche@mines‐douai.fr

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

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.

- 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.

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

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.

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?


. 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.

As part of the Sucré ongoing project (http://car.mines-douai.fr/category/project/sucre/) the Ecole des Mines de Douai is offering a 12 months Post-Doc in multi-robot systems. This postdoc aims at proposing and developing original solutions to allow a robotic fleet to autonomously explore an indoor environment to provide useful information to firemen (e.g. maps, dangerous areas, victims to rescue).

Candidats should have a solid background in one of the following areas:
-coordination algorithms for multi-robot systems.
-mobile robot programming and software control architectures.
-Robot middleware such as ROS.

A background in dynamic languages would be a plus.

To apply, candidates should send a cover letter describing their background, a CV, and contact info for two references. The application materials should be sent by email to Prof. Noury Bouraqadi: noury.bouraqadi(AT)mines-douai.fr

Location: Mines de Douai and ENSTA Brest (France)

Advisor and contacts:
Noury Bouraqadi, Luc Fabresse, Jannik Laval (car _at_ mines-douai.fr, website: http://car.mines-douai.fr/)
Loïc Lagadec (loic.lagadec _at_ ensta-bretagne.fr)

Profile: the candidate must hold a recent Master of Science degree in Computer Science or Software Engineering and must have solid skills in dynamic reflective language and OOP.

Description of the work:
The goal of this PhD is to study Smalltalk integration with FPGAs for robotic applications. This integration will enable us get the best from both worlds. Developers are provided with a high-level dynamic reflective language (Smalltalk) for building and debugging their applications. Still, we can have high performances by projecting part of the programs into FPGAs. These reconfigurable hardware chips can achieve performance faster than C programs, while consuming much less energy.

The work to do can decompose into the following tasks:
-Build reference robotic applications fully in Pharo Smalltalk using actual robots (see http://car.mines-douai.fr/robots/)
-Analyze these applications to identify critical parts to project on FPGAs to significantly increase performances (speed, energy)
-Do the actual projection to FPGA and evaluate performances of the transformed applications
-Generalize the approach and define a methodology for turning Smalltalk code into FPGA
-Propose a solution to automate the methodology

The Ph.D student will receive a grant which net amount is approximately 1420 euros per month for 3 years (36 months).
He will be co-supervised by Loïc Lagadec from the ENSTA-Bretagne (Lab-STICC, Brest) and Jannik Laval, Luc Fabresse and Noury Bouraqadi from Ecole des Mines de Douai (CAR, http://car.mines-douai.fr/).
The first 18th month will be spent in Douai (Lille area), while the last half of the PhD will be spent in Brest.
However, during the full 3 years, there will be a strong interaction with co-supervisers from both labs.

-A Robust Layered Control System For A Mobile Robot. R. Brooks. IEEE Journal of Robotics and Automation. Vol. 2. Num 1. March, 1985.
-RCS: A Cognitive Architecture for Intelligent MultiAgent Systems. J.S. Albus and A. J. Barbera. Proceedings of the 5th IFAC/EURON Symposium on Intelligent Autonomous Vehicles (IAV 2004). Lisbon, Portugal, 2004.
-Handbook of Robotics. Bruno Siciliano and Oussama Khatib editors. Springer. 2008.
-Multi-Level Simulation of Heterogeneous Reconfigurable Platforms. D. Picard and L. Lagadec. International Journal of Reconfigurable Computing. 2012.
-High-level synthesis for FPGAs: From Prototyping to Deployment. Jason cong and stephen neuendorffer and juanjo noguera and kees vissers and zhiru zhang. IEEE Transactions on Computer-aided design of integrated circuits and systems. Vol. 30. Num 4. April, 2011.
-The MOLEN Polymorphic Processor. S. Vassiliadis and S. Wong and G. Gaydadjiev and K. Bertels and G. Kuzmanov and E. Moscu Panainte. IEEE Transactions on Computers. 2004.

The CAR team  (http://car.mines-douai.fr) carries research at the frontier of Software Engineering and Robotics. We study software architectures, languages and tools for controlling individual robots. We have developed an expertise in reflective and dynamic languages, as well as component models, for a modular robotic software architectures. Besides, our research also addresses coordination and cooperation in robotic fleets. We mainly focus on communication models as well as emerging or predefined organizations for multi-agent robotic systems.

The post-doc position is part of the CAIRE project. The goal of the project is  to propose innovative solutions for the agile development of robotic software. The study will be validated by developing new robotic-based exploration and mapping solutions.

The candidate must have a PhD in Computer Science or Robotics, should demonstrate strong programming skills, and have research interests in at least one of the following areas:
- modularity and software composition
- programming languages design
- agile software development
- robotic middleware
- control architectures for robots
- multi-agent robotic systems

Important information:
-Workplace : Douai (Lille area), France
-Start: Between May and October 2013
-Duration : 18 months
-Salary approx. 2000 Euros.

To apply, please send your CV + references to : noury (DOT) bouraqadi (AT) mines-douai.fr

Leading Banking Services in Luxembourg is seeking : a Smalltalk Software Developer.

Qualifications/required skills :

  • Software engineer with advanced SMALLTALK development skills.
  • Experience in smalltalk development is required.
  • If possible, experience in financial industry and ability to coach people.
  • English is the working language.


Other info:

  • Starting date : ASAP.
  • Estimated duration of the mission : until June 2013, serious extension options every 6 months.
  • Location : LUXEMBOURG.
  • Salary : negotiable.

Please send me your resume if you’re interested in that offer.

Bertrand Wunderlich
Recruitment officer

4, Place de Strasbourg
T : +352 20 40 80 42
P : +352 661 500 151