Jobboard Logo

Recherche avancée


 

 

 
STAGE BAC+5 : Réingénierie d’un moteur de production et de configuration (build system) de prototypes virtuels en Python STMicroelectronics Grenoble (38), Auvergne-Rhone-Alpes, France
 

Expérience

:

< 1 année

Salaire

:

selon profil

Type d’offre :

:

Stage

 

catégorie

:

Industrie

Fin le :

:

30-11-2019
Création le

:

19-03-2019

Description de poste

Parmi les logiciels intervenant dans la conception des systèmes sur puce (SoC), les prototypes virtuels ont une importance croissante, notamment parce qu’ils permettent d’anticiper certaines phases de développement (logiciel embarqué, etc.) sans attendre la fabrication du produit final. Ces prototypes virtuels sont construits à l’aide de « briques » logicielles qui doivent être compilées et assemblées.


 


Basé(e) à Grenoble, l’étudiant(e) participera aux travaux d’une équipe développant les briques logicielles intervenant dans les prototypes virtuels.


 


Dans ce cadre, l’objectif d’un moteur de production et de configuration est de permettre : 1) la génération  de l’environnement de production, 2) la compilation du prototype virtuel (exécutable) ou d’une partie du prototype (bibliothèque), 3) la reproduction de l’environnement nécessaire à son utilisation (licences, chemins d’accès vers des bibliothèques dynamiques, etc.).  La compilation repose, quand cela est possible, sur des outils standards (GNU Make, MSBuild, etc.), et implique également d’intégrer des outils de génération de code (Lex, Yacc, outils propriétaires ST).


 


L’évolution des besoins et de l’environnement de ce moteur implique une réingénierie complète de celui-ci. Par la même occasion, il est décidé de changer le langage de programmation utilisé pour son implémentation : du langage Perl d’origine vers du Python objet. Le sujet du stage est l’étude préliminaire permettant cette réingénierie.

 


L’étude se focalisera sur le moteur de production et de configuration permettant la compilation et l’utilisation des prototypes virtuels.


 


Dans ce contexte l’étudiant(e) devra:



  • Etudier la version actuelle du moteur de production (utilisation, concepts existants, éventuellement code source en Perl).

  • Identifier les concepts objets indispensables à l’implémentation de la prochaine version du moteur en fonction de l’existant mais aussi des nouveaux besoins,

  • Implémenter une version prototype reproduisant un sous-ensemble des fonctionnalités de base requises en Python 3 objet.



Diplômé(e) d'un BAC+5, vous avez : 

Compétences nécessaires :


- Bonne maîtrise de Python 3 et de la programmation orientée objet en général


- Maîtrise de GNU Make, Environnements Unix et Windows


 


Compétences supplémentaires appréciées:


- Connaissance de Perl


- Moteurs de production standards (CMake, MSBuild, etc.)

Compétences clés

logiciel
conception