STAGE - Ingénieur Développeur OCAML (F/H)

📍 France

Informatique & Technologie Dassault Systèmes

Job Description

STAGE - Ingénieur Développeur OCAML (F/H) Au sein de l'organisation R&D du logiciel CATIA, vous travaillez dans l’équipe en charge du développement de l'application Stimulus. Stimulus est une application de mise au point des exigences temps-réel des systèmes embarqués qui permet de formaliser les exigences textuelles d'un système, puis de détecter, par la simulation, les exigences incorrectes, manquantes ou contradictoires.

Les exigences formalisées dans Stimulus sont vues comme des contraintes sur des signaux qui sont résolues à chaque pas d’exécution pour extraire une solution possible. Le solving utilise une combinaison de techniques (BDD, polyèdres convexes, et l’algorithme de Chernikova). La complexité théorique peut être NP-complet ou exponentielle en fonction du nombre de variables, mais la pratique reste plus favorable.

Vos Missions

Objectif du stage :

expérimenter d’autres solveurs de contraintes. L’objectif est de remplacer la manipulation de polyèdres convexes par un algorithme de programmation linéaire de type simplexe, afin de comparer les performances des deux approches dans Stimulus.

Identifier les bibliothèques de programmation linéaire existantes répondant aux besoins de Stimulus (arithmétique exacte, aspects incrémentaux, etc.).

Proposer une architecture pour interfacer le solveur de Stimulus avec la bibliothèque de programmation linéaire choisie et la mettre en œuvre.

Expérimenter la solution sur les modèles Stimulus disponibles.

Si le temps le permet, vous pourriez aborder l’étape suivante consistant à tester l’usage d’un solveur SMT (Sat Modulo Theory) comme AltErgo, pouvant remplacer à la fois les BDDs et les polyèdres convexes. Le défi est d’introduire de l’aléa dans le tirage des solutions générées.

Qualifications

Etudiant(e) préparant un diplôme de niveau BAC+5 (École d’Ingénieur ou Master Universitaire) en informatique, à partir de janvier 2026, stage de fin d’études.

Vous êtes familier avec le langage OCaml. Des connaissances en analyse de programme et en méthodes formelles seront appréciées. Autonomie, curiosité et rigueur sont souhaitées. Vous serez amené(e) à collaborer avec l’ensemble des membres de l’équipe.

Atouts

Environnement collaboratif et innovant

Collaboration internationale

Diversité des technologies, produits et solutions

Apprentissage au sein d’une équipe experte

Engagement en faveur de la diversité et de l’inclusion

Inclusion statement: Dassault Systèmes cherche à bâtir des équipes plus inclusives et diversifiées et encourage chacun à apporter son plein potentiel au travail.

Grenoble, Auvergne-Rhône-Alpes, France

#J-18808-Ljbffr

Ready to Apply?

Don't miss this opportunity! Apply now and join our team.

Job Details

Posted Date: October 13, 2025
Job Type: Informatique & Technologie
Location: France
Company: Dassault Systèmes

Ready to Apply?

Don't miss this opportunity! Apply now and join our team.