Intégration de B2LLVM dans l’atelier B

Le but de ce stage est d’intégrer le générateur de code B2LLVM dans l’Atelier B (https://www.atelierb.eu/).

B2LLVM (https://github.com/DavidDeharbe/b2llvm) est un générateur de code, traduisant un projet B logiciel (fichiers bxml) en la représentation interne (IR) LLVM.
Cette IR peut ensuite être utilisée pour animer le code (au travers d’une machine virtuelle), analyser le code (statiquement), traduire le code en de multiples langages (C, C++, Javascript, Python, etc.)

L’intégration doit être :

  • fonctionnelle: il faut coupler le fonctionnement du générateur de code, développé en Python 3, à l’Atelier B.
  • graphique: il faut définir une interface graphique et des modalités d’interaction avec l’utilisateur.

Le stage consiste à :

  • s’assurer que B2LLVM puisse être utilisé par l’Atelier B (le générateur de code est écrit en python 3)
  • développer une IHM qui permette d’utiliser l’outil et d’interagir (transformation terminée, erreurs de traitement, non-conformité avec modèles implémentables supportés)
  • développer une fonction de vérification de conformité du modèle B avec les exigences du générateur de code, à partir d’un plug-in « vérification des règles de codage » qu’il conviendra d’enrichir.
  • sélectionner/produire quelques exemples de modèles B représentatifs
  • tester ces modèles dans la chaine de production de code
  • vérifier que le code produit passe dans une chaîne de traitement LLVM
  • rapporter les erreurs rencontrées. Celles-ci seront a priori corrigées en dehors du cadre du stage.
  • documenter l’outil: documentation de conception, documentation utilisateur non commerciale (la version commerciale sera réalisée en s’appuyant sur celle-ci).

Points clés du stage:

  • intégration d’un outil Python dans un atelier logiciel industriel
  • développement en C++ avec Qt
  • développement d’IHM Qt (graphismes, signaux, slots, etc.)
Location
  • Aix-en-Provence
Duration 4 à 6
Level 4/5

Postuler à cette offre de stage d'ingénieur

Pour postuler merci d’envoyer
un CV et une lettre de motivation
à l’adresse :

stages-ingenieurs@clearsy.com