FR 2978265 A1 20130125 FR 1156561 A 20110720 PROCEDE AUTOMATIQUE BASE SUR DES MODELES POUR LA GENERATION D'ARCHITECTURES PHYSIQUES DE SYSTEMES ET LEUR OPTIMISATION Domaine de l'invention La présente invention se rapporte au domaine des architectures physiques de systèmes. La présente invention se rapporte plus particulièrement à un procédé automatique basé sur des modèles pour la génération d'architectures physiques de systèmes et leur optimisation. 15 La présente invention permet de créer automatiquement des architectures physiques de systèmes à partir d'une architecture fonctionnelle de celui-ci en se basant sur un ensemble de composants physiques pouvant être utilisés (catalogue de composants). Plusieurs alternatives de conception sont ainsi générées. Le procédé selon la présente invention permet ensuite de modifier 20 ces alternatives sur la base de l'évaluation de leurs performances pour trouver les architectures les plus performantes. Etat de la technique 25 La conception de systèmes complexes fait intervenir un grand espace de conception, qui peut être défini comme étant l'ensemble des combinaisons possibles de composants et leurs différentes allocations et qui est généralement composé de plusieurs milliers d'alternatives. Ces alternatives 30 consistent en différents arrangements de composants réalisant les fonctions allouées au système considéré. Il est impossible d'évaluer toutes ces alternatives sans l'aide d'un processus automatisé d'exploration de l'espace de conception. La présente invention permet d'automatiser ces études pour explorer largement l'espace de conception et repérer les architectures les plus 10 performantes. Ceci permet d'obtenir avec quasi-certitude des architectures dans une zone optimale globale de l'espace de conception et, ainsi, de garantir une qualité optimale de la solution adoptée. Actuellement, pour des systèmes à forte complexité, deux approches peuvent être identifiées : - l'architecture est adaptée de celle d'un système similaire (programme précédent par exemple) ; - une étude approfondie est menée en s'appuyant sur le sens de l'ingénieur. Un espace de conception est identifié et des catégories d'architectures sont éliminées itérativement en fonction de l'expérience, du savoir-faire ou des croyances. Récemment, des approches scientifiques ont été proposées pour la génération d'architectures physiques. Elles sont pour la plupart basées sur la définition de règles explicites purement physiques [les publications scientifiques K. Seo, Z. Fan, J. Hu, and E. Goodman, "Toward an automated design method for multi-domain dynamic systems using bond graph and genetic programming"; Mechatronics, 2003, pp. 1-21, et R. Rai, "Simulation-Based Design of Aircraft Electrical Power Systems"; modelica.org, 2011] (un ensemble de composants peut être remplacé par ou associé à un autre ensemble de composants) ou fonctionnelle/physique [les publications scientifiques T. Kurtoglu and M.I. Campbell, "Automated synthesis of electromechanical design configurations from empirical analysis of function to form mapping"; Journal of Engineering Design, vol. 20, 2009, p. 83-104, et V. Holey, "Toward the prediction of multiphysic interactions using MDM and QFD matrices"; Design, 2010, pp. 1-11] (une fonction peut être réalisée par un ensemble de composants). Ces approches nécessitent la définition d'un nombre important de règles. L'approche selon la présente invention se différencie par le fait que seules deux règles sont à définir. Dans les demandes de brevets publiées faisant partie de l'état de la technique, aucun procédé ne permet aujourd'hui de générer d'alternatives de conception pour des architectures physiques. Seuls des procédés de représentation ou de conception manuelle de ces architectures sont proposés. On connaît par exemple dans l'état de la technique la demande de brevet français N° FR 2 846 117 (Renault), qui décrit un procédé et un dispositif pour synthétiser une architecture électrique. Cette demande de brevet français divulgue un procédé pour synthétiser une architecture électrique et électronique d'au moins une partie d'un produit comprenant des fils électriques et des composants électriques et électroniques tels que des capteurs, des actionneurs et des calculateurs. On connaît également dans l'état de la technique la demande de brevet français N° FR 2 905 491(EADS Deutschland) qui concerne l'allocation de fonctions à une architecture physique prédéterminée. Cette demande de brevet français décrit un procédé automatique, basé sur modèle, pour l'intégration d'une architecture fonctionnelle de système avec une architecture physique de système pour former un système électronique. Exposé de l'invention La présente invention entend remédier aux inconvénients de l'art antérieur en proposant un procédé permettant de générer des alternatives de conception à partir d'une architecture fonctionnelle et d'un ensemble de composants physique, puis de modifier de façon itérative ces alternatives pour explorer l'espace de conception (l'ensemble des combinaisons possibles de composants et leurs différentes allocations). A cet effet, la présente invention concerne, dans son acception la plus générale, un procédé de génération et d'optimisation d'architectures physiques de systèmes, caractérisé en ce qu'il comporte les étapes suivantes : - modélisation d'un problème sous forme d'un modèle ; - génération d'architectures physiques au moyen dudit modèle et d'un algorithme qui recherche, pour une fonction, une combinaison de composants viable et valide ; - évaluation desdites architectures physiques selon plusieurs attributs ou critères au moyen de modules d'analyse s'appuyant sur ledit modèle ; - sélection d'une partie desdites architectures physiques selon des relations de dominance ; - génération de nouvelles architectures physiques en appliquant des opérateurs génétiques aux architectures physiques précédentes ; et - synthèse des résultats en ne retenant qu'une partie desdites architectures physiques. La présente invention permet ainsi d'optimiser la qualité des architectures physiques générées. Selon une variante, ladite sélection d'une partie desdites architectures physiques est réalisée selon des relations de dominance au sens de Pareto. Avantageusement, ladite sélection d'une partie desdites architectures physiques est réalisée selon la méthode NSGA-II (« Non-Dominated Sorting Genetic Algorithms »). 25 Selon une variante, ladite sélection d'une partie desdites architectures physiques est réalisée selon des relations de dominance basée sur les préférences du ou des utilisateur(s) du procédé.20 Avantageusement, ladite sélection d'une partie desdites architectures physiques est réalisée selon la méthode NEMO (« Necessary-preferenceenhanced Evolutionary Multiobjective Optimizer »). Selon un mode de réalisation, lesdits opérateurs génétiques comprennent un opérateur de reproduction. Ledit opérateur de reproduction reproduit une alternative de la population antérieure dans la population postérieure. 10 Selon un mode de réalisation, lesdits opérateurs génétiques comprennent un opérateur de mutation. Ledit opérateur de mutation modifie une alternative de la population antérieure (parent) en sélectionnant une partie de l'architecture et en la remplaçant par une combinaison de composants équivalente (i.e. viable et capable de réaliser les mêmes fonctions). La nouvelle architecture ainsi 15 créée (enfant) est placée dans la population postérieure. Selon un mode de réalisation, lesdits opérateurs génétiques comprennent un opérateur de croisement. Ledit opérateur de croisement échange des parties de deux architectures de la population antérieure (parents) entre elles pour 20 créer deux nouvelles alternatives (enfants) qui sont placées dans la population postérieure. De préférence, durant l'étape de modélisation d'un problème sous forme d'un modèle, un concepteur décrit un système, des interfaces avec un 25 environnement, une architecture fonctionnelle ainsi que des composants physiques à considérer. La présente invention se rapporte également à un programme informatique caractérisé en ce qu'il comprend des instructions de code de programme pour5 l'exécution des étapes du procédé évoqué ci-dessus, lorsque ledit programme est exécuté dans ou par un processeur. La présente invention se rapporte également à un dispositif pour la mise en 5 oeuvre du procédé évoqué ci-dessus. 10 Brève description des dessins On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence 15 aux Figures dans lesquelles : - la Figure 1 illustre le procédé de génération d'architectures physiques selon la présente invention ; - la Figure 2 est une vue générale du procédé selon la présente invention ; et 20 ^ les Figures 3a à 3d représentent un exemple de recherche de combinaison possible pour une fonction donnée. Description détaillée des modes de réalisation de l'invention La Figure 1 illustre le procédé de génération d'architectures physiques selon la présente invention La Figure 2 illustre les différentes étapes du procédé selon la présente 30 invention : 1. Modélisation du problème. 2. Initialisation de la population. 25 3. Evaluation des performances. 4. Elicitation de préférence (étape optionnelle). 5. Sélection des alternatives préférées. 6. Exploration de l'espace de conception. 7. Synthèse des résultats. Les Figures 3a à 3d représentent un exemple de recherche de combinaison possible pour une fonction donnée. La Figure 3b illustre une combinaison possible pour F1 car l'élément représenté réalise déjà F2 et a la capacité F1. La Figure 3c représente une combinaison possible pour F1 car l'élément représenté est connectable à ci et a la capacité F1. La Figure 3d illustre une combinaison possible pour F1 car l'élément représenté est connectable à ci, a la capacité F1, et C3 et C4 sont connectables. Le procédé selon la présente invention débute par une étape de modélisation durant laquelle le concepteur décrit son problème sous la forme de modèles qui pourront être utilisés par le procédé. Le concepteur décrit le système, ses interfaces avec l'environnement, son architecture fonctionnelle ainsi que les composants physiques à considérer. La modélisation représente notamment les échanges ou possibilités d'échanges de flux entre composants et entre système et composants. Un modèle M est ainsi créé. Grace à ce modèle M, des architectures physiques API, AP2, .., APN sont générées par un algorithme A. L'algorithme A recherche, pour chaque fonction, une chaîne (ou combinaison) de composants viable et valide. La viabilité des chaînes est définie par une règle de compatibilité des ports des composants. Ainsi, deux composants peuvent être connectés entre eux uniquement si deux de leurs ports peuvent être connectés. La règle de compatibilité des ports comprend des règles de type direction, multiplicité et30 peut être enrichie par d'autres règles spécifiques au problème (ex : types de connecteurs, ports males vs. ports femelle...). La validité des chaînes est définie par une règle de compatibilité de la chaîne avec la fonction. Cette règle comprend des règles de capacité (i.e. les capacités requises par les fonctions doivent être couvertes par les composants de la chaîne) et de compatibilité entrée/sortie de fonction avec entrée/sortie de chaîne (i.e. la chaîne réalise elle-même les fonctions qui utilisent les flux de sortie de la fonction ou bien la chaîne est connectable aux chaînes qui réalisent ces fonctions). Les architectures API, AP2, .., APN sont ensuite évaluées selon plusieurs attributs ATM, AT2, .., ATp (par exemple : la masse, le coût, la disponibilité...) grâce à des modules d'analyse MAI, MA2, ..., MANI d'appuyant sur le modèle M pour calculer les performances des alternatives. Les meilleures alternatives sont ensuite sélectionnées selon des relations de dominance. Selon un mode de réalisation, les meilleures alternatives sont sélectionnées selon des relations de dominance au sens de Pareto (par exemple type NSGA-11 - « Non-Dominated Sorting Genetic Algorithms »). Selon un autre mode de réalisation, les meilleures alternatives sont sélectionnées selon des relations de dominance basée sur les préférences (par exemple type NEMO (« Necessary-preference-enhanced Evolutionary Multiobjective Optimizer »). Ce dernier type de sélection requiert d'éliciter auparavant les préférences de l'utilisateur. L'utilisateur donne des informations permettant de donner une importance relative à chacun des critères/objectifs d'optimisation. En se basant sur cette sélection, de nouvelles alternatives AP'1, AP'2, ..., AP'N, sont générées. Pour cela, des modifications (opérateurs génétiques OP1, OP2, ..., OPN2) sont appliqués aux alternatives précédentes API, AP2, .., APN. Selon le mode de réalisation, les opérateurs génétiques OP1, OP2, ..., OPNI peuvent être de trois sortes : - un opérateur de reproduction reproduit simplement l'alternative dans la nouvelle population (opérateur identité) ; ^ des opérateurs de mutation modifient une alternative en modifiant tout ou partie d'une chaîne de composants associée à une fonction ; ou - des opérateurs de croisement mélangeant les chaînes de composants de deux alternatives pour créer deux alternatives-enfants. Ces opérateurs génétiques OP1, OP2, OPNI sont appliqués aux architectures API, AP2, .., APN après identification d'une partie découplée des architectures API, AP2, .., APN (i.e. un ensemble de composants réalisant entièrement une ou des fonction(s). Le procédé selon la présente invention est itératif et permet d'explorer progressivement l'espace de conception en convergeant vers les zones les plus intéressantes. Les itérations sont stoppées lorsqu'un critère d'arrêt est atteint. Il peut s'agir d'un nombre d'itérations, d'un critère de qualité des architectures ou d'un critère de convergence de cette qualité (faible amélioration de la qualité maximale des architectures). Lorsque ce critère d'arrêt est atteint, la population finale est composée des meilleures architectures trouvées. Une synthèse des résultats est ensuite effectuée afin de permettre aux concepteurs d'analyser les performances des solutions et, éventuellement, de reformuler le problème. Le principal avantage d'une telle approche est qu'elle permet de gagner en confiance sur l'optimalité de l'architecture physique retenue. Dans un mode de réalisation, le procédé se présente sous la forme d'un programme informatique composé de cinq grands sous-composants : - un composant principal chargé de faire l'interface entre les autres sous- composants et de gérer le procédé dans son ensemble (flux de données, séquencement des tâches...) ; - un composant architecte chargé de générer des alternatives de conception ; - un composant sélectionneur chargé de sélectionner, dans une population d'alternatives, les alternatives à conserver pour la création de nouvelles alternatives ; - un composant évaluateur permettant d'évaluer les alternatives selon plusieurs critères. Ce composant est à compléter par le concepteur en fonction des critères à évaluer et de la modélisation du problème ; - un composant de synthèse chargé d'archiver les données acquises et de les synthétiser pour donner au concepteur une vue totale et organisée des résultats de l'analyse. Ces différents composants utilisent et modifient le modèle créé initialement par l'utilisateur pour générer les architectures, évaluer leurs performances et sélectionner les meilleures d'entre elles. Le procédé peut être utilisé par les concepteurs de tout système à forte complexité durant les phases de conception préliminaires pour déterminer les alternatives de conception présentant le plus grand intérêt. L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet. - REVENDICATIONS1. Procédé de génération et d'optimisation d'architectures physiques de systèmes, caractérisé en ce qu'il comporte les étapes suivantes : - modélisation d'un problème sous forme d'un modèle (M) ; - génération d'architectures physiques (API, AP2, .., APN) au moyen dudit modèle (M) et d'un algorithme (A) qui recherche, pour une fonction, une combinaison de composants viable et valide ; - évaluation desdites architectures physiques (API, AP2, .., APN) selon plusieurs attributs (AT1, AT2, .., ATp) ou critères au moyen de modules d'analyse (MAI, MA2, ..., MANI) s'appuyant sur ledit modèle (M) ; - sélection d'une partie desdites architectures physiques (API, AP2, APN) selon des relations de dominance ; - génération de nouvelles architectures physiques (AP'1, AP'2, ..., AP'N,) en appliquant des opérateurs génétiques (OP1, OP2, ..., OPN2) aux architectures physiques précédentes (API, AP2, .., APN) ; - synthèse des résultats en ne retenant qu'une partie desdites architectures physiques ; et - réalisation d'architectures physiques. 2. Procédé selon la revendication 1, caractérisé en ce que ladite sélection d'une partie desdites architectures physiques (API, AP2, .., APN) est réalisée selon des relations de dominance au sens de Pareto. 3. Procédé selon la revendication 2, caractérisé ladite sélection d'une partie desdites architectures physiques (API, AP2, .., APN) est réalisée selon la méthode NSGA-II (« Non-Dominated Sorting Genetic Aigorithms »). - 2978265 12 4. Procédé selon la revendication 1, caractérisé en ce que ladite sélection d'une partie desdites architectures physiques (API, AP2, .., APN) est 5 réalisée selon des relations de dominance basée sur les préférences. 5. Procédé selon la revendication 4, caractérisé en ce que ladite sélection d'une partie desdites architectures physiques (API, AP2, .., APN) est réalisée selon la méthode NEMO (« Necessary-preference-enhanced 10 Evolutionary Multiobjective Optimizer »). 6. Procédé selon l'une des revendicationss 1 à 5, caractérisé en ce que lesdits opérateurs génétiques (OP1, OP2, ..., OPN2) comprennent un opérateur de reproduction, ledit opérateur de reproduction reproduisant 15 une alternative de la population antérieure dans la population postérieure. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que lesdits opérateurs génétiques (OP1, OP2, ..., OPN2) comprennent un 20 opérateur de mutation, ledit opérateur de mutation modifiant une alternative de la population antérieure (parent) en sélectionnant une partie de l'architecture et en la remplaçant par une combinaison de composants équivalente (i.e. viable et capable de réaliser les mêmes fonctions), la nouvelle architecture ainsi créée (enfant) étant placée dans 25 la population postérieure. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que lesdits opérateurs génétiques (OPE, OP2, ..., OPN2) comprennent un opérateur de croisement, ledit opérateur de croisement échangeant des parties de deux architectures de la population antérieure (parents) entreelles pour créer deux nouvelles alternatives (enfants) qui sont placées dans la population postérieure. 9. Procédé selon l'une des revendications précédentes, caractérisé en ce que, durant l'étape de modélisation d'un problème sous forme d'un modèle (M), un concepteur décrit un système, des interfaces avec un environnement, une architecture fonctionnelle ainsi que des composants physiques à considérer. 10. Programme informatique caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé d'au moins une des revendications 1 à 9, lorsque ledit programme est exécuté dans ou par un processeur.