Modélisation en langage VHDL-AMS des systèmes pluridisciplinaires

Modélisation en langage VHDL-AMS des systèmes pluridisciplinaires

CREATION ET TRANSFORMATION DE MODELE 

Au cours du premier chapitre, nous avons montré que notre problématique de modélisation système basée sur l’application de la norme VHDL-AMS, s’insérait parfaitement dans un processus de conception guidé par les modèles. Nous avons retenu comme norme de l’ingénierie système l’EIA-632, avec pour volonté de s’appuyer sur les recommandations de l’OMG en Ingénierie guidée par les Modèles (MDA/MDE). Dans ce contexte, notre proposition a été d’utiliser le VHDL-AMS comme le langage de modélisation et de simulation de la solution physique, au sens des recommandations de l’EIA-632. Dans cette optique, nous avons montré qu’il y avait des avantages fondamentaux très attractifs de pouvoir cosimuler directement des systèmes mixtes (numérique-analogique) et accueillir des modélisations de disciplines différentes : Electrique, Electronique, Thermique, Mécanique, Fluidique. Cette aptitude peut être étendue par des techniques de cosimulation outils (cas de Cosimate 287H[Cos06] avec l’utilisation d’un bus de données) mettant en relation dynamique des simulateurs mettant en jeu des modèles écrits dans des langages différents (entre deux outils différents comme par exemple SystemVision 28H[Sys50] et Matlab/Simulink 289H[Mat] ou au sein d’un même outil comme SeamLess 290H[Sea] avec une cosimulation VHDL et C). Cependant nous n’aborderons pas dans ce travail de thèse l’utilisation du langage VHDL-AMS comme héritier du travail de modélisation amont, réalisé pour l’établissement de la solution logique en conception système selon l’EIA-632. Nous rappellerons néanmoins que les résultats obtenus par des travaux récents 291H[Ham05] 29H[Mau05] 54F[Gui03] 5F[Alb05], ont montré que dans la plateforme HiLeS 293H[Ham05], qui propose une solution logique dans un formalisme à base de réseaux de Petri, la traduction automatique du système de commande en VHDL-AMS, pouvait être réalisée de différentes façons. Il nous reste donc à montrer que le VHDL-AMS peut être un langage cible pour d’autres sources de modélisation, c’est-à-dire soit par modélisation directe, soit par modélisation en appliquant des règles de transformations à partir de modèles d’ores et déjà créés dans un autre cadre. Si les modèles sont les principaux acteurs du processus MDA 294H[MDA], la transformation de modèle en est le mécanisme principal 56F[MCV05]. Il convient tout d’abord de définir les principales caractéristiques et les différents langages et outils qui supportent ces transformations. Cela va nous permettre grâce à cette taxonomie et cette présentation des différentes techniques de transformation, de choisir la transformation de modèle la plus adéquate à nos besoins. C’est l’objectif de ce chapitre qui : ƒ Précisera de façon plus approfondie la notion de Transformation de Modèles, ƒ Etablira le meta modèle du formalisme VHDL-AMS, ƒ Explorera les transformations de modèles au niveau meta modèle. 

Taxonomie des Transformations de Modèles

 Dans l’optique de décider quelle approche de transformation de modèle est la plus adaptée pour répondre à notre problème, nous allons tout d’abord nous intéresser aux différents types de transformations de modèle existants, pour ensuite en faire ressortir  Méta Modèle Modèle Source Modèle Cible conforme à conforme à Transformation les différentes caractéristiques et propriétés principales qui seront pour nous des critères de choix pour les transformations de modèle vers le modèle VHDL-AMS cible. 

Types de Transformations 

Les différents types de transformations que l’on peut rencontrer, dépendent de ce que l’on a en entrée et de ce que l’on souhaite obtenir en sortie. Dans la référence 295H[MCV05], est tout d’abord précisé que, suivant que l’entité en entrée est un programme (code source, code machine) ou un modèle, on utilise le terme de transformation de programme ou transformation de modèle. Néanmoins, la transformation de modèle englobe la transformation de programme étant donné qu’un modèle peut avoir plusieurs niveaux d’abstraction pouvant aller d’un modèle d’analyse abstrait (en passant par un modèle plus concret de conception) pour aller vers un modèle très concret de code source. Ainsi les transformations de modèle incluent aussi les transformations entre des modèles de niveaux d’abstraction différents (design vers code ou code vers design dans le cas d’un projet de reverse engineering). 

Transformation endogène et exogène

 Dans le contexte de transformation de modèles, ceux-ci peuvent être exprimés par le biais de langages de modélisation (par exemple en UML ou en VHDL-AMS pour des modèles de conception, ou en assembleur pour des modèles de code source). La syntaxe et la sémantique des langages de modélisation sont exprimées par un méta modèle, concept défini dans l’introduction générale qui sera approfondi au cours du paragraphe 296H2.3. Prenant en compte ces langages de modélisation dans lesquels les modèles source et cible de la transformation sont exprimés, une première distinction doit être précisée entre les transformations endogènes et exogènes. Les transformations endogènes mettent en jeu des modèles exprimés dans un même langage (possédant donc le même méta modèle). La  Figure 22 représente ce type de transformation avec un modèle d’entrée et de sortie conformes à un même méta modèle. Figure 24 : Principe de la Transformation de Modèle Endogène Chapitre 2 : Création et Transformation de Modèle – 45 – Méta Modèle Source Modèle Source Modèle Cible Conforme à Conforme à Transformation Méta Modèle Cible Il peut ainsi s’agir : ƒ D’une optimisation : la transformation a pour but d’améliorer par exemple la qualité d’exécution (en terme de performance) du modèle, tout en préservant la sémantique du modèle, ƒ D’une restructuration : la transformation entraine un changement de la structure interne du modèle afin d’améliorer la qualité de certaines caractéristiques comme la modularité et la réutilisation, sans modifier le comportement du modèle, ƒ D’une simplification : la transformation va permettre de simplifier la complexité de la syntaxe du modèle. La transformation exogène, quant à elle, met en jeu des modèles exprimés dans des langages différents. La 298H dépeint ce type de transformation avec les modèles d’entrée et de sortie ayant des meta modèles différents. Figure 25 : Principe de la Transformation de Modèle Exogène Comme pour la transformation endogène, on peut citer plusieurs exemples de transformation exogène : ƒ La migration : la transformation d’un modèle écrit dans un certain langage en un modèle écrit dans un autre langage, tout en gardant le même niveau d’abstraction. ƒ La synthèse : la transformation d’un modèle de haut niveau, très abstrait (spécification, modèle fonctionnel) vers un modèle de bas niveau plus concret (code généré, exécutable). ƒ Le « reverse engineering » : il s’agit d’une transformation de synthèse inverse qui permet d’extraire des spécifications de haut niveau d’un modèle de bas niveau. 

 Transformation horizontale et verticale

Une deuxième distinction importante est faite entre les transformations. Elle se base cette fois-ci sur les niveaux d’abstraction des modèles sources vis-à-vis des modèles cibles. Il s’agit des transformations horizontales et verticales. Une transformation horizontale présente des modèles sources et cibles ayant le même niveau d’abstraction. La 29HFigure 24 dépeint ce type de transformation en représentant la fusion de deux modèles de même niveau d’abstraction afin d’obtenir un troisième modèle. 

Table des matières

INTRODUCTION GENERALE
CHAPITRE 1
1. LES MODELES DANS LA CONCEPTION SYSTEME
1.1 Les Modèles
1.2 Les Transformations de Modèles
1.3 La Conception Système vue comme un Assemblage de Processus et de Transformations de Modèles
1.3.1 Les couplages en Y de processus
1.3.2 Le rôle de la co-simulation
1.3.2.1 La cosimulation Système
1.3.2.2 Cosimulation matériel-logiciel
1.3.3 Les Bibliothèques de modèles
1.4 La Modélisation Fonctionnelle des Systèmes
1.5 Cartographie des Langages
1.5.1 Langages pour la simulation numérique
1.5.1.1 Le Verilog
1.5.1.2 VHDL (Very High Speed Integrated Circuit (VHSIC) Hardware Description Language)
1.5.2 Langages pour la simulation mixte
1.5.2.1 Verilog-AMS
1.5.2.2 MAST
1.5.2.3 VHDL-AMS
1.5.2.4 Modelica
1.5.2.5 Tableaux comparatifs des langages MAST, Verilog-AMS et VHDL-AMS
1.5.3 Langages pour le codesign matériel/logiciel
1.5.3.1 Le langage SystemC
1.5.3.2 SystemVerilog
1.5.4 Langages pour la conception de système logiciel
1.5.4.1 UML 2.0
1.5.4.2 SysML
1.5.5 Les Outils dédiés
1.5.5.1 Logiciel Pspice
1.5.5.2 MatLab/Simulink
1.6 Notre Problématique
1.6.1 Proposition d’un processus générique de conception
1.6.2 VHDL-AMS au centre du Prototypage Virtuel
1.7 Conclusion
CHAPITRE 2
2. CREATION ET TRANSFORMATION DE MODELE
2.1 Taxonomie des Transformations de Modèles
2.1.1 Types de Transformations
2.1.1.1 Transformation endogène et exogène
2.1.1.2 Transformation horizontale et verticale
2.1.1.3 Conclusions pour notre problématique
2.1.2 Propriétés et Caractéristiques
2.2 Techniques de Transformations
2.2.1 Méthodes Disponibles
2.2.1.1 Transformation d’arbres
2.2.1.2 Transformation directe
2.2.2 Technique avec un Langage Pivot
2.2.3 Approche Hybride (ATL)
2.3 La Conception de Meta Modèle
2.3.1 Définition d’un Meta Modèle
2.3.2 La notion de Meta Meta Modèle
2.3.3 Création d’un Meta Modèle
2.3.4 Meta Modèle HiLeS
2.4 Proposition d’un Meta Modèle pour VHDL-AMS
2.4.1 Etat de l’art Meta Modèle
2.4.2 Création du meta modèle VHDL-AMS
2.5 Conclusion
CHAPITRE 3
3. INTERETS DES TRANSFORMATIONS VERS LE VHDL-AMS
3.1 VHDL-AMS support de la solution physique
3.1.1 Description du système à modéliser
3.1.2 Spécifications du système de mise à feu de la charge pyrotechnique
3.1.3 Modélisation VHDL-AMS du système
3.1.3.1 Modélisation de la partie accéléromètre
3.1.3.2 Modélisation de la partie Commande
3.1.3.3 Modélisation de la partie alimentation
3.1.3.4 Modélisation de la partie pyrotechnique
3.1.3.5 Intégration et Résultats de Simulation
3.1.4 Conclusions sur le VHDL-AMS comme support de la Solution Physique
3.2 De la solution logique à la solution physique
3.2.1 Traduction des Blocs HiLeS en VHDL-AMS
3.2.1.1 Schématique niveau 0 et concept de banc d’essai
3.2.1.2 Interprétation des Blocs Structurels
3.2.1.3 Interprétation des blocs fonctionnels
3.2.1.4 Interprétation des canaux
3.2.2 Traduction des Réseaux de Petri
3.3 Conception directe des Modèles en VHDL-AMS
3.3.1 Méthodologie mise en place
3.3.2 Techniques et traduction manuelle
3.4 D’un Langage de description de matériel quelconque vers le VHDL-AMS
3.4.1 Meta Modèle VHDL-AMS en vue d’une transformation MAST vers VHDL-AMS
3.4.2 Création du modèle de transformation
3.4.3 Conclusions sur la méthode
3.5 Conclusion
CHAPITRE 4
4. TRANSFORMATIONS ET VALIDATIONS SUR DES EXEMPLES
D’APPLICATION
4.1 Modèle de Transistor Bipolaire à Hétérojonction
4.1.1 Présentation du Modèle
4.1.2 Méthodologie de création du modèle VHDL-AMS
4.1.3 Résultats
4.2 Modèle de MOSFET de puissance
4.2.1 Présentation du Modèle
4.2.2 Méthodologie de création du modèle VHDL-AMS
4.2.3 Résultats
4.3 Modèle de capteur oxygène
4.3.1 Présentation du modèle
4.3.2 Méthodologie de création du modèle VHDL-AMS
4.3.3 Résultats
4.4 Modèle de Fil et de Fusible
4.4.1 Présentation du modèle
4.4.2 Méthodologie de création du modèle VHDL-AMS
4.4.3 Résultats
4.5 Problèmes Posés par la Validation
4.6 Conclusion
CONCLUSION GENERALE
GLOSSAIRE
BIBLIOGRAPHIE
ANNEXE 1
ANNEXE 2
ANNEXE 3 : CODES MODELES VHDL-AMS
1. Modèle Partie Commande Système Mise à Feu
2. Interrupteur on-off Système Mise à Feu
3. OptiMOS
3.1 BSC032N03S.vhd
3.2 OptiMOS2_30_L3.vhd
3.3 mos_sfet3_30.vhd
3.4 kanal30.vhd
3.5 diode30.vhd
3.6 Cgd30.vhd
3.7 Rdiode30.vhd
3.8 rmos30.vhd
4. CAPTEUR OXYGENE
5. Fusible
5.1 fuse_dim_v1.vhd
5.2 r_tc_fuse.vhd
ANNEXE 4 : CARACTERISATION MODELE CAPTEUR
ANNEXE 5 : SCHEMATIQUE ALLUME-CIGARE 187
LISTE DES PUBLICATIONS
RESUME
ABSTRACT

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *