Allez au contenu, Allez à la navigation

RSS

DCPS - Conception et évaluation des performances des systèmes

CASTOR - Capitalisation de l’Acquis en Simulation par les Techniques ORientées objet

CASTOR est un environnement de simulation permettant de reproduire le comportement* d’entités diverses dans le domaine de la mécanique du solide. Cet environnement est utilisé au DCPS pour la modélisation de divers engins relevant du domaine de la mécanique du vol. Cet outil est générique dans le sens où les entités simulées ne sont pas nécessairement spécifiques au secteur aéronautique ni à un autre domaine en particulier.

CASTOR n'est pas un environnement informatique de programmation. Sa démarche est aux antipodes de celle, par exemple, de MATLAB qui requiert l’usage d’un langage informatique pour développer les modèles et leur logique de traitements. CASTOR est plutôt un générateur de simulations qui prend en entrée la description formelle d'une simulation et qui produit automatiquement en sortie l’exécutable de simulation correspondant.

Cela est rendu possible par le caractère hautement déclaratif de CASTOR qui prend en entrée les éléments constitutifs d'une simulation (le scénario, les acteurs impliqués et leurs modèles de comportement, les choix de restitution de résultats) décrits dans un format déclaratif qui n'est pas un langage informatique. Ces éléments sont apportés par de simples déclarations dans divers fichiers texte ayant des rôles spécifiques.

Par exemple, un modèle de comportement d’acteur se décrit par un ensemble de fichiers texte qui permet de structurer le modèle en reproduisant l’architecture de l’acteur réel en terme de composition et d’imbrication  de sous-systèmes. Ces fichiers décrivent, d’une part, la statique de l’acteur au moyen d’une énumération de variables associées à des équations d’initialisation et d’évolution et, d’autre part, la dynamique de l’acteur au moyen de graphes d’états de fonctionnement.

Ces différents éléments mathématiques (variables et équations) sont décrits dans un format littéral et algébrique, en notations vectorielle et matricielle et dans une syntaxe simple très proche de ce qui se ferait sur papier. La taille d’un modèle n’est pas limitée : un modèle peut impliquer un vecteur d’état de centaines de variables de toutes natures (à évolutions continue ou discrète, etc) mises à jour par un système quelconque d’équations différentielles.

Pour une simulation donnée, CASTOR produit un programme exécutable qui a un fonctionnement en boîte noire prenant en entrée le jeu de fichiers descriptifs de cette simulation et construisant automatiquement cette simulation en mémoire en affranchissant l'utilisateur de toute considération informatique de bas niveau (chargement du scénario, installation des équations en mémoire, connexions des variables interdépendantes, application d’un schéma d’intégration, gestion du temps, lancement et contrôle du déroulement de la simulation et de la dynamique des acteurs, extraction des résultats).

CASTOR garantit des simulations hautement réalistes du fait de la mise en œuvre d’une gestion fine du temps et d’une parallélisation automatique des calculs qui reproduit le parallélisme du monde réel dans le comportement des acteurs et leurs interactions.

CASTOR est ouvert dans le sens où les équations d’un modèle peuvent mentionner des appels à des traitements existants écrits en langage C, C++ ou Fortran.

En conclusion, CASTOR propose une nouvelle approche des simulations dans un confort de conception poussé qui privilégie le travail de physicien et minimise celui de l'informaticien, sans pénaliser pour autant les performances et en garantissant des résultats de qualité. Cet outil permet de prototyper et de valider rapidement des modèles avec des possibilités de flexibilité (interchanger des composants), d’évolutivité (en ajouter) et de réutilisabilité (en reprendre) autorisant ainsi une véritable capitalisation des modèles sans les difficultés de mise en œuvre connues en environnement de programmation classique (couplage important entre les modèles et les instructions de leur programme de simulation entraînant une phase de mise au point laborieuse, etc).


Ce graphe   montre l’environnement CASTOR avec une simulation en cours qui reproduit le mouvement Euler-Poinsot d’une ogive à sa rentrée dans l’atmosphère.
 

CASTOR, développé à l’ONERA, est un logiciel qui existe depuis 1997 et qui a été maintenu et amélioré au fil des études qui l’ont utilisé et largement éprouvé.
 



* Comportement, modèle de comportement : 

Dans le monde réel, le comportement de tout engin est le résultat d'un mode de fonctionnement qui a été décidé à la conception de cet engin. Un engin peut être considéré comme une association de sous-systèmes interagissant de manière organisée en vue d'un objectif précis.


Par exemple, prenons le cas d'un missile de croisière dont l'objectif est de suivre une trajectoire donnée pré-calculée. Le comportement de ce missile consiste à mettre en oeuvre des équipements complexes (senseurs et actuateurs divers, centrale inertielle, propulsion, boucle guidage/pilotage, ...) en vue de se situer et se déplacer dans son environnement en restant au plus près de sa trajectoire de consigne.

A priori, par l'informatique, il est possible de simuler le fonctionnement d'un tel engin à condition de disposer d'un modèle numérique de son comportement. Il s'agit d'un modèle mathématique, c'est-à-dire un ensemble de variables associées à des équations d'initialisation et d'évolution. Un modèle numérique permet de reproduire par calculs le fonctionnement d'un engin et de ses sous-systèmes et de donner une "réalité" à cet engin (position, vitesse, attitude).

CASTOR est un logiciel permettant de concevoir de tels modèles de comportement pour des engins de toutes sortes et d'exploiter numériquement ces modèles dans le cadre de simulations informatiques. 
 


 

Contact

  • Jean-Pierre.Valor \@/ onera.fr

 

Autres Départements Scientifiques