-

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.

  • cea 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.

  • Etape 2 : modélisation technique

    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.

  • Etape 3 : génération

    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é :

  • la souplesse de l'approche dirigée par les modèles, qui fiabilise la réalisation de calculateurs temps réel complexes ;
  • la facilité d'adaptation de la méthodologie par la décomposition explicite des différentes étapes de réalisation des modules de calcul et l’utilisation de standards reconnus (UML, XMI, EMF) ;
  • la maturité des générateurs de code bâtis sur Acceleo et de l'outillage associé (Obeo Traceability) permettant de conserver une synchronisation entre les modèles et le code source ;
  • la pérennité de la description d’un savoir métier métier à travers les modèles de calcul manipulables selon un point de vue fonctionnel (UML) ou technique (méta-modèle dédié). Cette pérennité se traduit par la possibilité de faire évoluer séparément les modèles métier, pour l’ajout de nouvelles fonctionnalités, et les modèles techniques, pour tirer le meilleur profit des nouvelles générations de machines massivement parallèles.

Cette approche constitue une voie très prometteuse pour le développement de code et la capitalisation des connaissances.

pdf