CADES (Component Architecture for the Design of Engineering Systems) a pour objectif de capitaliser les méthodes de modélisation système, d’analyse et d’aide à la décision. La plateforme permet, via l’optimisation sous contraintes, de dimensionner des systèmes physiques décrits par des équations ou des algorithmes en exploitant le calcul du Jacobien. CADES est un framework dans lequel les modèles peuvent avoir été créés puis être utilisés avec des outils ou des environnements différents et hétérogènes (formalismes métiers). CADES est commercialisé depuis 2011 par la société Vesta-System (https://www.vesta-system.fr/en/products/vestacades/).
CADES est une suite logicielle, basée sur l'utilisation de composants logiciels pour le design et l'optimisation de systèmes multi-physiques.
Principe général
Le problème étudié est synthétisé dans un modèle descriptif intégrant les phénomènes physiques mais également des paramètres de domaines connexes (notamment économiques).
Le modèle est ensuite interprété par une fabrique de composants logiciels qui produit le composant logiciel correspondant.
Les logiciels de services de la suite CADES permettent ensuite d'exploiter le composant.
Description
Le composant logiciel de calcul
Un composant logiciel possède les caractéristiques suivantes :
Sachant se déployer de façon normalisée, autonome et exécutable (Architecture composant)
Modèle boite noire (le détail du modèle est masqué aux utilisateurs)
Accessible par des interfaces définissants des services (SOA : Architecture Orientée Services)
Les équations algébriques du modèle sont définies à partir du modèle physique dans le langage de description de modèles : SML (System Modeling Language).
L'ordre des équations est défini implicitement, nul besoin de les ordonnancer avant la génération.
Des parties algorithmiques du modèles peuvent également être définies (boucles, conditions, ...)
Il est possible d'importer des modèles externes (programmés en C ou Java, ou empaquetés dans des composants Icar), assurant ainsi flexibilité et réutilisabilité.
Les fonctions principales de cette fabrique sont :
Analyser la syntaxe du modèle
Programmer les équations dans un langage exécutable (Java ou C)
Dériver les équations symboliquement ou par différentiation automatique de code permettant de calculer le Jacobien du modèle.
Empaqueter le modèle de calcul dans un composant.
La création de géométries paramétrées: GeomMaker
Un modeleur 2D permet également de définir une géométrie paramétrée du dispositif étudié. Cette visualisation devient alors un service supplémentaire au service de calcul, disponible dans le composant.
Des modeleurs métiers
Basé sur un formalisme analytique des schémas réluctants, RelucTool est un modeleur permettant de simuler puis d'optimiser très rapidement des dispositifs entièrement paramétrables de machines électriques en régime statique et de capteurs et actionneurs en régimes statique et dynamique.
MacMMems est un outil de modélisation dédié à la conception de microsystème magnétiques. Il est basé sur une modélisation en magnétostatique qui pousse au plus loin les développements symboliques des formulations intégrales
Utilisation des composants : les unités de service
La suite logicielle CADES offre différents modules de services exploitant les composants logiciels. Des modules de calculs, de simulation dynamique, et d'optimisation.
Le module de calcul permet de définir les valeurs des paramètres du modèle et d'afficher les paramètres calculés par le modèle. Il permet également de tracer des paramètres en fonction d'autres.
Un module d'analyse de sensibilité exploitant le Jacobien du modèle est également disponible.
Les composants ont été conçus pour faire de l'optimisation paramétrique performante sur les modèle d'ingénierie soumis à de nombreuses contraintes. C'est dans ce but qu'a été générée l'information de sensibilité du modèle (Jacobien) qui peut ainsi être exploitée par des algorithmes performants tels que ceux de type Quasi-Newton (SQP principalement). Pour traiter des problèmes d'optimisation à minima locaux, des algorithmes génétiques sont utilisés. Des stratégies croisant ces deux types d'algorithmes peuvent également être mis en place.
Concernant l'optimisation multi-objectifs, des algorithmes génétiques de type NSGA II sont également disponibles.
B. Delinchant, L. Estrabaud, L. Gerbaud, F. Wurtz “Outils pour la conception et l’optimisation multicritère” (51 pages), chapitre V du livre collectif “conception systémique pour la conversion d’énergie électrique,” sous la direction de X. Roboam” pp 201-251, ed. Lavoisier-Hermes Science publication (oct. 2012)