Contexte Industriel :
EDF met en œuvre dans ses installations de production d’énergie des Systèmes Numériques de Contrôle-Commande (SNCC), dont on veut assurer le temps de réponse. L’évaluation de ce paramètre est réalisée par une modélisation en Réseaux de Petri Colorés Temporisés (RPCT), et leurs descriptions dans l’algèbre tropicale. Le but de ce stage est l’implémentation d’un prototype logiciel visant à automatiser le calcul du temps de réponse à partir d’un modèle RPCT.
Sujet de Stage :
CPN IDE est un outil de modélisation et de simulation des Réseaux de Petri Colorés. L’application est composée d’un éditeur (front) et d’un serveur de contrôle (back). Le front est implémenté en JS et AngularJS. Le modèle y est construit selon certaines propriétés structurelles à respecter. Les informations, paramètres, et données du modèle sont définis par l’utilisateur dans cet éditeur. Ce dernier communique avec le serveur par une interface REST. Le serveur de contrôle est implémenté en Java, et fonctionne sous Spring Boot. Le serveur contrôle la validité du modèle et gère le lien avec le simulateur. Cela permet à l’éditeur d’afficher par la suite le déroulement de la simulation transmis par le serveur.
L’idée du prototype est d’adapter l’outil existant à nos besoins en implémentant des modifications. En partant d’un modèle RPCT simulable, on doit pouvoir générer un fichier XML à partir duquel il sera possible de générer automatiquement une représentation algébrique. Cette représentation servira à calculer les délais dans des configurations spécifiées (e.g. pire scénario).
Les RPCT tels que définis dans la thèse sont formalisés différemment des réseaux de Petri colorés classiques. La modification de l’éditeur commence donc par la restriction des possibilités de modélisation en intégrant certaines règles, que l’on définira en début de stage. On pourra ensuite créer des structures de modèles prédéfinies et paramétrables, que l’on devra pouvoir intégrer et connecter à des modèles préexistants. Les différentes étapes du stage sont :
o Détailler l’architecture et le fonctionnement de CPN IDE (éditeur et simulateur) par une description précise du code.
o Définir les règles du formalisme final pour la création des modèles et les intégrer au logiciel.
o Changer la dimension temporelle associée à la dynamique des modèles.
o Implémenter des structures paramétrables prédéfinies.
o Automatiser l’export d’un modèle en format XML avec les informations pertinentes nécessaires pour établir les équations algébriques.
o Tenir le Gitlab EDF du projet, et réaliser une documentation propre et rigoureuse (documenter le code, l’architecture, le format XML des modèles etc.).
o Monter un serveur Python de calcul du temps de réponse à partir de la transmission du fichier XML.
Une aide sera fournie sur la partie mathématique du logiciel, et un suivi régulier sera effectué afin d’orienter au mieux le stagiaire tout au long de la réalisation du prototype
Profil du Candidat
o Etudiant M1/M2- 4ème/5ème année d’école d’ingénieurs, disponible 6 mois à partir de janvier 2025 (possibilité de démarrer plus tard)
o Compétences en Java, Javascript (une maîtrise spécifique d’Angular JS serait un plus).
o Compétences en architecture REST et Spring Boot.
o Maîtrise des outils npm, Gradle et Gitlab/Github. Cela sera nécessaire pour démarrer rapidement le stage.
o Connaissance du format XML.
o Une connaissance d’OCaml (ou des métalangages) serait un plus.
o Intérêt pour les modèles à formalisation mathématiques (automates, réseaux de Petri).
o Autonomie et curiosité. Le sujet comporte de nombreuses facettes, qui vont du génie logiciel aux mathématiques appliquées. Les réalisations du stage pourront dépendre de la motivation du candidat à élargir son champ de travail (tout en sachant que l’implémentation de l’outil logiciel reste la priorité). Par exemple, une partie du stage pourrait consister en une contribution plus théorique, en aidant à l’implémentation des séries formelles colorées, à la description automatisée des modèles graphiques à partir de leur export XML, et à la résolution des systèmes d’équations pour trouver le temps de réponse correspondant (Python).
Environnement informatique :
Logiciels de bureautique standard.
Ordinateur sous Linux (Scibian)
Gitlab / Gradle
Contacts :
BAL DIT SOLLIER Louis : ******
OURGHANLIAN Alain : ******
Lieu
EDF R&D
6 quai Watier
78401 Chatou Cedex
Le stage est rémunéré
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.