PhD Position F/M Modular compilation of real-time programs

Le descriptif de l’offre ci-dessous est en Anglais

Type de contrat : CDD

Niveau de diplôme exigé : Bac + 5 ou équivalent

Fonction : Doctorant

A propos du centre ou de la direction fonctionnelle

The  Inria University of Lille centre, created in 2008, employs 360 people  including 305 scientists in 15 research teams. Recognised for its strong  involvement in the socio-economic development of the Hauts-De-France  region, the Inria University of Lille centre pursues a close  relationship with large companies and SMEs. By promoting synergies  between researchers and industrialists, Inria participates in the  transfer of skills and expertise in digital technologies and provides  access to the best European and international research for the benefit  of innovation and companies, particularly in the region.For more  than 10 years, the Inria University of Lille centre has been located at  the heart of Lille's university and scientific ecosystem, as well as at  the heart of Frenchtech, with a technology showroom based on Avenue de  Bretagne in Lille, on the EuraTechnologies site of economic excellence  dedicated to information and communication technologies (ICT).

Contexte et atouts du poste

The PhD student will be part of the SyCoMoRES team of Inria Lille & CRIStAL lab, which currently hosts 3 fellow PhD students and one postdoc. Lille is a city close to Brussels, Paris & London, easily reachable by train, with a large student population and a number of cultural places & events.

PhD students are appointed for a duration of 3 years. We plan to organize weekly research meetings with the PhD student.

Mission confiée

A real-time system controls a physical device in its environment, at a rate adapted to the device evolution. This requires not only to compute correct values, but also to compute values at the right time. Real-time systems can be found in several industrial domains, such as automotive, aeronautics, nuclear plants or automated production lines.

Many ERTS are of critical nature; a malfunction may damage properties or even put human lives in danger. So as to ensure the safety of ERTS, a wide range of formal techniques have been proposed to support their design, implementation and validation. Unfortunately, one of the main drawbacks of formal methods is their poor scalability, thus limiting their applicability to complex modern ERTS. A classical approach to reduce complexity is the component-based approach. First, the system is decomposed into smaller components, each developed and analyzed in isolation. Then, the components are integrated together, and a simpler analysis is performed at the integration level.

In the current industrial practice for the development of ERTS, timing requirements are specified and analyzed only at the global level, when assembling all components. Thus, timing analysis suffers from the scalability issues mentioned previously.

The objective of the thesis is to contribute to a framework for the component-based development of real-time systems, by focusing on modular compilation.

The system will be programmed with the synchronous data-flow language Prelude, which was specifically designed for the development of critical ERTS. The language already contains constructs to structure a program as a hierarchical set of components. However, the Prelude compiler flattens the program before translating it into a non-hierarchical set of concurrent threads implemented in C.

The applicant we will study the compilation of a Prelude program into C modules structured with a hierarchy similar to that of the source program. They will define a notion of real-time interface for modules, which will expose the temporal characteristics necessary to compose modules together. The compiler will target execution with a Real-Time Operating System equipped with a hierarchical scheduler. In this scheduling model, each module is assigned a partition of the system resources and its sub-modules are executed by a local scheduler. Top-level modules are executed by a global scheduler. Particular care will go into ensuring that the semantics of the Prelude program is preserved by the compilation, especially regarding the temporal characteristics of the module interfaces.

Principales activités

The following activities will be carried out during the thesis:
- Bibliographic research
- Proposing solutions for the identified research directions
- Writing research papers on the thesis results
- Teaching (optional)

Compétences

Technical skills: a good background on computer science and embedded systems.

Languages: English. French is not required.

Other valued, appreciated: compilation, synchronous languages, real-time systems, OCaml

Avantages

  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Social security coverage