Recrutement Berger Levrault

Stage 2026 - Génie Logiciel - Motion Model Transformation H/F - Berger Levrault

  • Limonest - 69
  • Stage
  • Berger Levrault
Publié le 9 décembre 2025
Postuler sur le site du recruteur

Les missions du poste

Sujet : MoTion - Model transformaTion

Contexte :

MoTion (venant de MOdel transformaTION) est un langage et un outil de pattern matching avancé qui fonctionne dans Pharo.
Avec MoTion, des patterns peuvent être exprimés en utilisant un syntaxe spécifique, afin de rechercher des correspondances dans un modèle importé dans Pharo.
Dans la plupart des cas, MoTion est utilisé pour trouver des correspondances dans des modèles représentant des logiciels qui peuvent être codés en Java, TypeScript, etc.
Par exemple, les développeurs peuvent utiliser MoTion pour trouver toutes les structures if/else dans un modèle représentant un logiciel programmé en Java.

Pour le moment, MoTion fonctionne très bien pour effectuer du pattern matching, grâce à deux points forts :
- La flexibilité qu'il offre pour déclarer un pattern de manière déclarative.
- La variété des symboles utilisés pour exprimer un pattern, dont certains permettent des fonctionnalités complexes, comme la recherche répétée (repeated search), qui effectue des recherches récursives jusqu'au bout afin de trouver toutes les correspondances possibles.

Par contre, MoTion, et comme son nom l'indique, était également censé réaliser des transformations, et pas seulement des recherches.
Ce principe est bien connu dans le contexte de la transformation de modèles, comme avec ATL et QVT, où le pattern matching est utilisé pour identifier des correspondances dans des modèles.
Cependant, avec ces langages, les développeurs peuvent aussi exprimer des règles de transformation, qui permettent de transformer les éléments d'un modèle, trouvés à l'aide du pattern matching suivant un motif A, en d'autres éléments correspondant à la description d'un motif B, appelé motif cible.

Objectif : Ajouter cette fonctionnalité de transformation d'un motif A vers un motif B des modèles FAST (qui représentent l'AST d'un source code).

Missions :
-
Explorer Pharo et Moose (Famix, FAST, MoTion ...) étant débutant.
-
Ajouter 2 fonctionnalités pour MoTion pour pouvoir comprendre comment cela fonctionne: match avec des nombres et limited recursive.
-
Faire des recherches pour comprendre comment les transformations sont faites au niveau AST (par exemple avec ATL ou QVT ou autres ...).
-
Appliquer la transformation sur MoTion et ajouter des tests.

Profil :

Vous êtes étudiant(e) en dernière année d'école d'ingénieur ou équivalent universitaire (Bac +5), ayant une orientation en Génie Logicielet vous recherchez un stage de 6 mois débutant au printemps 2026.
Vous possédez un langage orienté objet (Java, C#, Pharo, ...).
Vous utilisez un environnement Git.
Vous avez une capacité rédactionnelle et de synthèse.
Vous faites preuve d'autonomie.

Informations :

Votre future dream team: Intégré(e) à la Direction de la Recherche et de l'Innovation Technologique (DRIT) de Berger Levrault, vous rejoindrez une équipe innovante qui valorise la curiosité, la collaboration et l'expérimentation. Chercheurs, doctorants, étudiants et ingénieurs collaborent quotidiennement pour concevoir des solutions innovantes et préparer les usages technologiques de demain.

Postuler sur le site du recruteur

Ces offres pourraient aussi vous correspondre.