Emploi
J'estime mon salaire
Mon CV
Mes offres
Mes alertes
Se connecter
Trouver un emploi
TYPE DE CONTRAT
Emploi CDI/CDD
Missions d'intérim Offres d'alternance
Astuces emploi Fiches entreprises Fiches métiers
Rechercher

Stage - ingénieur développeur ocaml (f/h)

Vélizy-Villacoublay
Stage
Dassault Systemes
Ingénieur développeur
Publiée le 26 octobre
Description de l'offre

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 [1, 2] est une application de mise au point des exigences temps-réel des systèmes embarqués (automobile, aéronautique, ferroviaire, énergie, etc) qui permet de formaliser les exigences textuelles d'un système, puis de détecter, par la simulation, les exigences incorrectes, manquantes ou contradictoires.

Que veut dire simuler des exigences ? Les exigences formalisées dans Stimulus sont vues comme des contraintes sur des signaux (booléens, numériques, etc..), qui sont résolues à chaque pas d’exécution pour extraire aléatoirement une solution possible parmi l’ensemble des solutions. Une fois une valeur obtenue pour l’ensemble des signaux, l’exécution se poursuit en faisant avancer le temps. Simuler un modèle d’exigences revient ainsi à exhiber une trace d’exécution choisie aléatoirement mais compatible avec les exigences



Le solveur de contraintes actuellement mis en œuvre dans Stimulus utilise une combinaison de BDDs (Binary Decision Diagrams) [3, 4] et de polyèdres convexes, manipulés à l’aide de l’algorithme de Chernikova [5, 6]. La complexité théorique de la résolution des contraintes considérées dans Stimulus est NP-complet ou exponentielle en le nombre de variable, dans le pire des cas. La complexité en pratique sur les exemples concrets est heureusement beaucoup plus favorable. Néanmoins, notamment dans le cas des polyèdres, le pire des cas est facile à produire…







Vos Missions







Objectif du stage : expérimenter d’autres solveurs de contraintes



L’objectif principal du stage est donc de remplacer la manipulation de polyèdres convexes fondée sur l’algorithme de Chernikova par un algorithme de programmation linéaire de type simplexe, implanté dans de nombreuses librairies OpenSource, pour pouvoir comparer les performances respectives des deux approches dans le cadre de Stimulus.

* Vous devrez d’abord identifier les bibliothèques de programmation linéaire existantes qui répondent aux besoins de Stimulus (arithmétique exacte, aspects incrémentaux, etc…) ;
* Ensuite, vous devrez proposer une architecture adéquate pour interfacer le solveur de Stimulus avec la bibliothèque de programmation linéaire sélectionnée, et la mettre en œuvre ;
* Enfin, il s’agira d’expérimenter la solution sur les nombreux modèles Stimulus à disposition de l’équipe.

Si le temps le permet, vous aborderez l’étape suivante consistant à expérimenter l’usage d’un solveur « SMT » (Sat Modulo Theory) comme AltErgo [7], qui remplacerait à la fois les BDDs et les polyèdres convexes. Le défi est ici d’introduire de l’aléa dans le tirage des solutions fait par un tel solveur.

Qualifications







Etudiant(e) préparant un diplôme de niveau BAC+5, Ecole d’Ingénieur ou Master Universitaire, vous vous spécialisez en Informatique et recherchez un stage de fin d’études à compter de janvier 2026.

Vous êtes familier avec le langage OCaml.

Des connaissances en analyse de programme et en méthodes formelles seront appréciées.

On attend de vous de la curiosité, de la rigueur et une certaine autonomie.

Vous serez amené(e), au cours de votre mission, à collaborer avec l'ensemble des membres de l'équipe.









Les atouts en nous rejoignant



· 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

Postuler
Créer une alerte
Alerte activée
Sauvegardée
Sauvegarder
Offre similaire
Stage – ingénieur développeur c++ en animation 3d (f/h)
Vélizy-Villacoublay
Stage
Dassault Systemes
Ingénieur développeur
Offre similaire
Ingénieur(e) développeur software | stage de fin d'études
Suresnes
Stage
Gradient Denervation Technologies
Ingénieur développeur
Offre similaire
Stage – ingénieur développeur en ia générative - data lake core services (f/h)
Vélizy-Villacoublay
Stage
Dassault Systemes
Ingénieur développeur
Voir plus d'offres d'emploi
Estimer mon salaire
JE DÉPOSE MON CV

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.

Offres similaires
Recrutement Dassault Systemes
Emploi Dassault Systemes à Vélizy-Villacoublay
Emploi Ingénierie à Vélizy-Villacoublay
Emploi Vélizy-Villacoublay
Emploi Yvelines
Emploi Ile-de-France
Intérim Yvelines
Intérim Ile-de-France
Accueil > Emploi > Emploi Ingénierie > Emploi Ingénieur développeur > Emploi Ingénieur développeur à Vélizy-Villacoublay > STAGE - Ingénieur Développeur OCAML (F/H)

Jobijoba

  • Conseils emploi
  • Avis Entreprise

Trouvez des offres

  • Emplois par métier
  • Emplois par secteur
  • Emplois par société
  • Emplois par localité
  • Emplois par mots clés
  • Missions Intérim
  • Emploi Alternance

Contact / Partenariats

  • Contactez-nous
  • Publiez vos offres sur Jobijoba
  • Programme d'affiliation

Suivez Jobijoba sur  Linkedin

Mentions légales - Conditions générales d'utilisation - Politique de confidentialité - Gérer mes cookies - Accessibilité : Non conforme

© 2025 Jobijoba - Tous Droits Réservés

Les informations recueillies dans ce formulaire font l’objet d’un traitement informatique destiné à Jobijoba SA. Conformément à la loi « informatique et libertés » du 6 janvier 1978 modifiée, vous disposez d’un droit d’accès et de rectification aux informations qui vous concernent. Vous pouvez également, pour des motifs légitimes, vous opposer au traitement des données vous concernant. Pour en savoir plus, consultez vos droits sur le site de la CNIL.

Postuler
Créer une alerte
Alerte activée
Sauvegardée
Sauvegarder