Replies: 6 comments 11 replies
-
💡 Recommandations pour contribuerAvant toute contribution, lisez attentivement la documentation suivante : Ce guide est indispensable pour comprendre comment développer efficacement dans l’écosystème control-toolbox. 📘 Aperçu du Developer Guide
🧩 Processus de contributionUne fois votre environnement prêt, suivez le flux de travail standard : 1. 🪪 Choisir une issue
2. 🌱 Créer une branche depuis l’issue
3. 🧰 Mettre à jour le code
4. 🔀 Créer une Pull Request (PR)
5. 👀 Demander une relecture
Important 📖 À lire absolument avant toute contribution :
✅ En résumé
|
Beta Was this translation helpful? Give feedback.
-
|
Quick meeting with @jbcaillau on 2025-11-04.
|
Beta Was this translation helpful? Give feedback.
-
|
Réunion @jbcaillau @gdupont1 @ocots 13/11/2025 Priorité 1 : OptimalControl DSL ↔ MTK. A clarifier ce qu'est un problème de contrôle optimal en MTK. Remarque : il est possible d'utiliser un LLM pour générer le compilateur. Avant cela, faire des use cases des transformations. Autres possibilités :
|
Beta Was this translation helpful? Give feedback.
-
|
Réunion 14/11/2025 Participants : @ade4569 @alegoupil @loxim3 @Lupylune @gdupont1 @ocots
|
Beta Was this translation helpful? Give feedback.
-
|
Réunion 02/12/25
|
Beta Was this translation helpful? Give feedback.
-
|
Réunion du 27/01/2026 Présents : @gdupont1, @ade4569 @alegoupil @loxim3 @Lupylune, @ocots CR : to be done. Ressources :
|
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Extension d'un langage dédié à la résolution de problèmes de contrôle optimal
Projet long Sciences du Numérique
ENSEEIHT — 3ᵉ Année Sciences du Numérique
Date : Octobre 2024
Responsables
Entreprise / Laboratoire
INP-ENSEEIHT-IRIT (UMR CNRS 5505)
Mots-clés
Julia, Domain-Specific Language, Traduction des Langages, Contrôle Optimal.
Contexte
Le langage Julia est un langage impératif dynamique moderne pourvu d’un système de types particulièrement raffiné et d’une syntaxe épurée héritée de Python et influencée par Lisp. Comme pour Lisp, le langage permet la manipulation de ses propres structures comme citoyens de première classe sous la forme de macros — des fonctions qui prennent de la syntaxe en entrée et fournissent de la syntaxe en sortie. Cela facilite la définition d’extensions au langage, et donc l’intégration directe de langages de modélisation domain-specific.
Depuis début 2023, des chercheurs du laboratoire IRIT de Toulouse et des collaborateurs du Centre Inria Université Côte d’Azur développent un ensemble de packages Julia dédiés au contrôle optimal. Ces packages, regroupés sous le nom
control-toolbox, ont été présentés aux conférences JuliaCon 2023, 2024 et 2025. L’un des retours les plus positifs de ces conférences concerne la simplicité d’écriture des problèmes. La modélisation, très proche de la formulation mathématique, permet aux utilisateurs d’écrire et de résoudre rapidement leurs problèmes.La macro
@defappartient au packageCTParser.jl. Du point de vue du développeur, le code de cette macro est considérablement simplifié grâce aux capacités d’introspection et de manipulation du code offertes par Julia. L’arbre syntaxique est généré directement par le langage, puisque seule de la syntaxe Julia pure est autorisée. Une analyse syntaxique, effectuée à l’aide du packageMLStyle.jl, est ensuite réalisée au cœur de la macro pour étendre la syntaxe du langage avec de nouveaux mots-clés (commestatepour déclarer les variables). Enfin, une passe sémantique permet de générer le problème dans un format prêt à être résolu.Objectifs
Ce projet long vise à étendre et améliorer ce langage dédié (ou Domain-Specific Language, DSL) pour la résolution de problèmes de contrôle optimal. Les étudiants devront travailler sur les axes suivants :
Certains collaborateurs (LossControl.jl) souhaitent utiliser notre package pour définir des problèmes qui ne rentrent pas dans la classe actuellement modélisable.
→ Introduire un mécanisme d’annotations permettant à un utilisateur externe d’étendre la syntaxe et de définir sa propre sémantique.
Le package
ModelingToolkit.jlfait aujourd’hui référence pour la modélisation symbolique sous Julia.→ Permettre son intégration afin d’utiliser ce framework pour la modélisation de nos problèmes.
Le DSL est suffisamment simple pour être compris et utilisé par un modèle de langage (LLM) (documentation).
→ Développer une solution capable de transformer du langage naturel en code formel basé sur notre DSL, à l’instar de l’approche décrite dans cet article.
Compétences / connaissances minimales requises
Beta Was this translation helpful? Give feedback.
All reactions