La ROADEF
La R.O.A.D
Evénements
Prix
Publications
Plus
Forums
Connexion
Livre blanc

Stage de M2 au LIP6: Transformation d'une application temps-réel communiquante spécifiée en Matlab/S

Forum 'Stages' - Sujet créé le 2023-11-10 par Alix Munier

Les systèmes temps-réels embarquées modernes deviennent de plus en plus complexes avec l’introduction d’applications nouvelles dans des domaines variés tels que les systèmes d’aide à la conduite ou de conduite autonome, la robotique, le médical et les drones. 
La conception de ces systèmes, qui intègrent plusieurs applications critiques sur une même plate-forme d’exécution multi-cœurs est un processus complexe qui nécessite des méthodes et outils adaptés. Les méthodes et outils pour spécifier et concevoir des systèmes temps-réels critiques sont largement étudiés dans la littérature et dans l’industrie.

Dans le milieu industriel, le logiciel Matlab/Simulink [4] est fréquemment utilisé pour concevoir une application communicante. Ce logiciel permet de spécifier des processus communicants et de simuler le système.  L'étude des communications d'un système multi-périodique a été décrit par Klikpo et al.2]. 

Cependant, ce formalisme ne permet pas d'implanter simplement ces applications sur un système multi-cœurs. Pour cela, on peut considérer le
paradigme LET qui fait partie des approches les plus populaires auprès de l'industrie (en particulier automobile) pour résoudre les problématiques liées à exécution d'applications temps-réel critiques sur une architecture multi-cœurs [1].

Formellement, une application LET est constituée d'un ensemble de tâches multi-périodiques qui vérifient le modèle d'exécution de Liu et Layland \cite{LiuL73}: chaque tâche possède une période entière $T_i$, une date de disponibilité de la première exécution $r_i$ (offset) et une date de fin relative $D_i$. Pour tout $n>0$, la $n$-i\`eme exécution de $i$ est alors effectuée dans la fenêtre de temps $[r_i+(n-1)T_i, r_i+D_i+(n-1)T_i]$.

De plus, selon ce modèle, toutes les communications entre les tâches sont effectuées à des moments précis. Toutes les entrées d'une tâche (à partir de variables partagées) sont lues au début d'un intervalle de temps à l'instant $r_i+(n-1)T_i$, tandis que toutes les sorties ne sont mises à la disposition des autres tâches qu'à la fin de celui-ci à l'instant $r_i+D_i+(n-1)T_i$ quel que soit le moment où elles sont réellement produites.

Le but de ce stage est de mettre en place une approche originale pour traduire de manière la plus simple et automatique possible une application multi-périodique exprimée en Matlab/Simulink en LET.
Le mode de communication des processus communicants en LET est plus simple qu'en Matlab/Simulink: un ajustement des dates de disponibilité $r_i$ et de fin $D_i$ pour le LET est possible, mais ne permet pas d'effectuer cette transformation dans tous les cas. Ainsi, des extensions du formalisme sont attendues pour prendre en charge toute application cohérente spécifiée en Matlab/Simulink.

Tâches à réaliser:

  •     Prendre en charge les environnements scientifiques et techniques du projet (compréhension du sujet, bibliographie);
  •     Modélisation basée sur la programmation linéaire en nombres entiers. Notamment, définir des critères de qualité pour évaluer les solutions réalisables;
  •    Tester les contributions sur des instances aléatoires et sur des instances de la littérature;
  •     Valorisation des travaux et rédaction du rapport de stage. 

Profil du candidat:
Le candidat recherché doitêtre en Master $2$ de recherche opérationnelle, de mathématiques appliquées, d'informatique ou une école
d'ingénieur avec un cursus en informatique.
Il doit avoir de solides connaissances en programmation et en algorithmique.

Conditions du stage:
Le stage aura lieu en $2024$ au LIP6 sur le campus Pierre et Marie Curie (4 place Jussieu, 75252 Paris) et sera co-encadr\'e par  Alix Munier Kordon  et Cédric Klikpo pour une durée
de $6$ mois.  La gratification prévue est approximativement de $580$ Euros par mois.

Pour postuler, envoyez par mail aux deux encadrants Alix.Munier@lip6.fr et enagnon.klikpo@hotmail.com
un CV avec au minimum les notes de $M1$ et
de $M2$.

Références
[1] Rolf Ernst, Stefan Kuntz, Sophie Quinton, and Martin Simons. The logical execution time paradigm : New perspectives for multicore systems (dagstuhl seminar 18092). Dagstuhl Reports, 8 :122–149, 2018.
[2] Enagnon C ?edric Klikpo, Jad Khatib, and Alix Munier Kordon. Modeling multi-periodic simulink systems by synchronous dataflow graphs. In 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Vienna, Austria, April 11-14, 2016, pages 209–218, 2016.
[3] C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time
environment. J. ACM, 20(1) :46–61, 1973.
[4] Simulink User’s Guide. The mathworks inc. Natic, MA, 1992.