Julien Zoubian
1, @, Lucas Sauniere
2
, William Gillard
2
, Soorya Narayan
2
, Dominique Benielli
3
1 : Centre de Physique des Particules de Marseille Aix Marseille Université, Institut National de Physique Nucléaire et de Physique des Particules du CNRS, Centre National de la Recherche Scientifique, Centre National de la Recherche Scientifique : UMR7346, Aix Marseille Université : UMR7346
2 : Centre de Physique des Particules de Marseille Aix Marseille Université, Institut National de Physique Nucléaire et de Physique des Particules du CNRS, Centre National de la Recherche Scientifique, Centre National de la Recherche Scientifique : UMR7346, Aix Marseille Université : UMR7346
3 : Laboratoire d'Informatique et des Systèmes (LIS) (Marseille, Toulon) Aix Marseille Université, Université de Toulon, Centre National de la Recherche Scientifique
Dans le cadre du projet ANR DISPERS, nous développons SIMCraft, un framework de simulation conçu pour répondre aux enjeux classiques des logiciels scientifiques, à savoir la modularité, la reproductibilité et la maintenabilité. L'approche choisie pour implémenter SIMCraft repose sur une séparation stricte entre un cœur de simulation et des modèles partageant une interface commune. Cette architecture permet d'ajouter ou de remplacer des modèles sans modifier le framework ou les autres modèles. Cette présentation aura pour but de faire un retour d'expérience sur le design de SIMCraft et de mettre en avant des pratiques concrètes de génie logiciel applicables à d'autres projets. Nous présenterons les choix techniques (Rust, configuration TOML, découplage fort) ainsi que la stratégie de qualité mise en place, avec des tests unitaires rapides et des modèles de validation par type de modèle pour systématiser les vérifications. La présentation se conclura par une démonstration du viewer et nous aborderons également l'intérêt d'une interface utilisateur pour le débogage, la validation visuelle et le support aux utilisateurs.
Type :
:
Présentation
Thématiques
:
Cycle de vie du logiciel, génie logiciel, usines logicielles