A sofware engineer position is available at CITI-lab (INSA Lyon) on porting 
Riot to intermittent energy-harvesting platforms
More details below or at this link:
http://www.citi-lab.fr/2018/09/24/citi-is-hiring-a-software-engineer/ 
<http://www.citi-lab.fr/2018/09/24/citi-is-hiring-a-software-engineer/>

 <http://www.citi-lab.fr/2018/09/24/citi-is-hiring-a-software-engineer/>Best 
regards,
-Guillaume Salagnac


Software Engineer Position – Embedded Operating System Development
Title Integrating Sytare persistence support in the RIOT operating system
Keywords Embedded Software, Microcontroller, Energy Harvesting, Checkpointing
Location CITI laboratory, INSA Lyon, France
Funding 2-year INRIA contract (starting ASAP) with a gross salary of ∼2500€ per 
month.
Contact please write to both <[email protected] 
<mailto:[email protected]>> and <[email protected] 
<mailto:[email protected]>>

Summary
The context of this work is the design and study of operating systems for the 
Internet of Things (IoT). We are interested in an emerging class of IoT 
platforms which rely on harvesting energy from their environment (solar, heat, 
radio). Such systems have to deal with vastly different constraints compared to 
more traditional networked embedded systems powered by a battery. In addition 
to minimizing energy consumption in general, the system must also be able to 
survive power failures due to unfavourable conditions. These hypotheses have a 
significant impact on many aspects of system design, including software 
development. Since 2015, the CITI lab develops Sytare, a proof-of-concept 
operating system layer targetted at such intermittent platforms. The goal of 
this project is to integrate the persistence features from Sytare in the RIOT 
operating system.

Project Description
The RIOT operating system (https://www.riot-os.org <https://www.riot-os.org/>) 
is developed since 2013 by an international community of open-source 
developers, co-founded by INRIA, Hamburg University of Applied Sciences, and 
Freie Universitaet Berlin. Its main objective is to become the go-to software 
platform for IoT projects. RIOT enables any programmer to develop applications 
on typical IoT devices, with no learning curve, assuming prior experience with 
POSIX and Linux. In this project, we aim at extenting RIOT with support for 
more “exotic” embedded platforms based on Non-Volatile RAM (NVRAM). The idea is 
to allow the platform to shutdown and turn back on when power becomes available 
again, while not requiring a software reboot.
The Sytare project (https://gitlab.inria.fr/citi-lab/sytare 
<https://gitlab.inria.fr/citi-lab/sytare>) is an attempt at designing a 
minimalist OS for small embedded systems with intermittent power. The system is 
based on the idea of state checkpointing: power failures are detected in 
advance, and all system state (hardware peripherals, application software) is 
saved to NVRAM. When power comes back on, system state is restored and 
execution resumes transparently.

The main goal of this work is to integrate these persistence mechanisms into 
RIOT. This includes tasks such as:
• Port RIOT to NVRAM-based microcontrollers e.g. the Texas Instruments 
MSP430FR5969. This will require extending the
build system of RIOT to use the msp430-elf toolchain which supports NVRAM-based 
platforms.
• Implement sytare-like checkpointing mechanisms in RIOT. We are interested in 
both a Normally-Off paradigm (in which the OS decides to shut down in order to 
save energy) and in a Transient-Power paradigm (in which power failures are 
frequent
and unexpected because of energy harvesting).
• Carry out performance tests to validate and evaluate the implementation. We 
have a hardware testbench which is able to
simulate energy harvesting conditions in a controlled way, enabling for 
reproducible experiments.
All the source code produced during the project will be published as open 
source. In particular, we aim for the contributions listed above to be merged 
and maintained within the master branch of RIOT.

Requirements
Qualification Graduate degree in Computer Science, Electrical Engineering, or 
related area

Skills
• Strong background in computer architecture and/or operating systems
– Embedded software development: bare-metal C, assembly, cross-development – 
General software engineering: Linux scripting, make, git
• Some background in electrical engineering: read electronics schematics, use 
an oscilloscope
• Ability to work in a research environment: read and understand academic 
papers, balance between autonomy
and teamwork, good communication skills
• Working fluency in English. French is also helpful but not required

Context
The CITI laboratory is is an academic research laboratory associated with 
INSA-Lyon and INRIA. Our research activities bring together networking, digital 
radio, middleware, security and embedded systems, while trying to fill in the 
gap between purely technology-driven research and fundamental studies. The full 
cross-layer expertise on wireless systems the CITI acquired during the past 
decade makes it a very original, challenging and almost unique place in France. 
Innovative results have been obtained in crossing points between these research 
areas, like multi-hop routing, wireless planning, ambient services management, 
communication board modeling, or wireless sensor networks.

INRIA, the French National Institute for computer science and applied 
mathematics, promotes “scientific excellence for technology transfer and 
society”. The Grenoble Rhône-Alpes Research Center groups together about 800 
people in 35 research teams and 9 research support departments. Staff is 
localized on 5 campuses in Grenoble and Lyon, in close collaboration with labs, 
research and higher education institutions in Grenoble and Lyon, but also with 
the economic players in these areas. Present in the fields of software, 
high-performance computing, Internet of things, image and data, but also 
simulation in oceanography and biology, it participates at the best level of 
international scientific achievements and collaborations in both Europe and the 
rest of the world

How to apply
See https://jobs.inria.fr/public/classic/fr/offres/2018-00992 
<https://jobs.inria.fr/public/classic/fr/offres/2018-00992>

_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to