Au sein de l'organisation R&D du logiciel CATIA, vous travaillez dans l��ipe en charge du d�loppement de l'application Stimulus.
Stimulus [1, 2] est une application de mise au point des exigences temps-r� des syst�s embarqu�(automobile, a�nautique, ferroviaire, �rgie, etc) qui permet de formaliser les exigences textuelles d'un syst�, puis de d�cter, par la simulation, les exigences incorrectes, manquantes ou contradictoires.
Que veut dire simuler des exigences ? Les exigences formalis� dans Stimulus sont vues comme des contraintes sur des signaux (bool�s, num�ques, etc..), qui sont r�lues �haque pas d�ex�tion pour extraire al�oirement une solution possible parmi l�ensemble des solutions. Une fois une valeur obtenue pour l�ensemble des signaux, l�ex�tion se poursuit en faisant avancer le temps. Simuler un mod� d�exigences revient ainsi �xhiber une trace d�ex�tion choisie al�oirement 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�es convexes, manipul���aide de l�algorithme de Chernikova [5, 6]. La complexit�h�ique de la r�lution des contraintes consid�es dans Stimulus est NP-complet ou exponentielle en le nombre de variable, dans le pire des cas. La complexit�n pratique sur les exemples concrets est heureusement beaucoup plus favorable. N�moins, notamment dans le cas des poly�es, le pire des cas est facile �roduire�
Vos Missions
Objectif du stage : exp�menter d�autres solveurs de contraintes
L�objectif principal du stage est donc de remplacer la manipulation de poly�es convexes fond�sur l�algorithme de Chernikova par un algorithme de programmation lin�re de type simplexe, implant�ans 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�es de programmation lin�re existantes qui r�ndent aux besoins de Stimulus (arithm�que exacte, aspects incr�ntaux, etc�) ;
* Ensuite, vous devrez proposer une architecture ad�ate pour interfacer le solveur de Stimulus avec la biblioth�e de programmation lin�re s�ctionn� et la mettre en �uvre ;
* Enfin, il s�agira d�exp�menter la solution sur les nombreux mod�s Stimulus �isposition de l��ipe.
Si le temps le permet, vous aborderez l��pe suivante consistant �xp�menter l�usage d�un solveur � SMT � (Sat Modulo Theory) comme AltErgo [7], qui remplacerait �a fois les BDDs et les poly�es convexes. Le d� est ici d�introduire de l�al�dans le tirage des solutions fait par un tel solveur.
Qualifications
Etudiant(e) pr�rant un dipl�de niveau BAC+5, Ecole d�Ing�eur ou Master Universitaire, vous vous sp�alisez en Informatique et recherchez un stage de fin d��des �ompter de janvier 2026.
Vous �s familier avec le langage OCaml.
Des connaissances en analyse de programme et en m�odes formelles seront appr��.
On attend de vous de la curiosit�de la rigueur et une certaine autonomie.
Vous serez amen�), au cours de votre mission, �ollaborer avec l'ensemble des membres de l'�ipe.
Les atouts en nous rejoignant
� Environnement collaboratif et innovant
� Collaboration internationale
� Diversit�es technologies, produits et solutions
� Apprentissage au sein d�une �ipe experte
� Engagement en faveur de la diversit�t de l�inclusion
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.