Success Stories
Business Case – CEA DAM et UML / Acceleo Pro
Le CEA (Commissariat à l'Énergie Atomique) est un organisme public de recherche scientifique dans les domaines de l'énergie, de la défense et de la santé. Au sein de cet organisme, la Direction des Applications Militaires (DAM) conçoit, fabrique, maintient en condition opérationnelle et démantèle les têtes nucléaires. Elle met en œuvre le programme de Simulation pour garantir à la France la pérennité de sa dissuasion, sans essai nucléaire.
Le contexte
Les différents phénomènes physiques à simuler (hydrodynamique, thermodynamique...) sont d'abord définis sous forme d'équations mathématiques avant d'être traduits sous forme de « modules de simulation ». La plateforme de calcul « Arcane », développé au CEA, gère l’exécution parallèle des différents modules de simulation, de façon efficace et coordonnée sur plusieurs milliers de processeurs.
Les besoins
La conception et le développement des modules de simulation représentent des investissements lourds, et ces modules ont une durée de vie importante. En outre, afin de toujours bénéficier des meilleures performances disponibles, il faut pouvoir migrer vers de nouvelles plateformes et technologies sans avoir à redévelopper tous les modules de simulation. Ces derniers capitalisent non seulement des aspects métier (simulation des équations physiques elles-mêmes), mais aussi des aspects informatiques liés à la plate-forme d'exécution cible (y compris différents fichiers de description et de configuration). Leurs développements nécessitent ainsi une double compétence rare.
La solution
L'approche retenue consiste à décrire les modules dans un formalisme indépendant d'une technologie d'exécution particulière. Le code source (C#) et les fichiers de configuration (XML), correspondant à l'implémentation de ces modules, sont générés automatiquement pour une exécution sur la plateforme de calcul Arcane.
Etape 1 : modélisation fonctionnelle
Concrètement, les modèles de simulation sont définis en UML, format standard supporté par de nombreux outils. Pour représenter les concepts spécifiques au métier du CEA, Obeo a fourni du conseil dans la définition d'un profil spécifique ainsi que des règles précises de notation.
Afin de rendre les modèles de simulation totalement indépendants de la plateforme Arcane, un méta-modèle d'annotations techniques a aussi été développé avec un modeleur associé : il permet de configurer les modèles définis en UML pour chaque plate-forme de calcul particulière (ici Arcane). Cette séparation en deux modèles permet de modéliser les aspects physiques et mathématiques sans se préoccuper des technologies informatiques. Le modèle d'annotation technique, ajouté à posteriori par un informaticien spécialiste de la plateforme cible, permet de configurer le modèle métier pour tirer le meilleur parti possible de la plateforme de calcul.
Partant de ces deux modèles (modèle métier en UML et modèle technique associé), plusieurs générateurs Acceleo ont été développés. Ils génèrent le squelette des classes C#, qui seront exécutées sur la plateforme Arcane, et les fichiers de configuration XML associés. Dans la phase actuelle le code généré fournit toute la structure des modules et un jeu de données par défaut (description des conditions initiales), qui restent à compléter manuellement.
Ce projet s'est déroulé sur 2,5 mois, en collaboration étroite avec un expert CEA.
Les résultats
|
Les outils développés dans le cadre de ce projet ont permis une première validation de l'approche par modèles et génération de code. En particulier ce projet a démontré :
|
Cette approche constitue une voie très prometteuse pour le développement de code et la capitalisation des connaissances.