La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Systèmes Embarqués Hétérogènes

Présentations similaires


Présentation au sujet: "Systèmes Embarqués Hétérogènes"— Transcription de la présentation:

1 Systèmes Embarqués Hétérogènes
République Algérienne Démocratique et Populaire Université des Sciences et de la Technologie Houari Boumediene Faculté d’Électronique et d’Informatique Laboratoire de Recherche en Intelligence Artificielle Systèmes Embarqués Hétérogènes MCA Mohamed FEREDJ Master RSD --- Le domaine d’application des technologies sur lesquelles porte mes travaux de recherche est très vaste puisqu’il concerne la modélisation, la conception, la simulation et la validation des systèmes embarqués.

2 Positionnement du Marché des Systèmes Embarqués
Introduction Positionnement du Marché des Systèmes Embarqués Systèmes Personnels Systèmes Collectifs + 95% de CPU Aujourd’hui, les systèmes embarqués sont de plus en plus présents dans notre environnement. On trouve des systèmes pour des utilisations personnelles, tel que les caméscopes, les téléphones portables, les PDAs, et des systèmes pour des utilisations collectives, tel que les avions les bateaux, les TGV. Les systèmes embarqués représentent le premier marché de l’électronique où plus de 95% de CPU fabriquées ces dernières années sont destinées aux systèmes embarqués. L’accroissement d’utilisation des systèmes embarqués est due : 1/ aux baisse des coûts des processeurs avec l’augmentation des performances. 2/ la digitalisation, car, de nombreux appareils qui étaient dans le passé analogiques sont devenues numériques et sont devenues donc programmable. 3/L’interconnexion des équipements, ce qui implique l’ouverture de nouvelles opportunités. Principaux axes d’explosion du marché Baisse des coûts des processeurs et l’augmentation des performances. Digitalisation: Équipements analogiques  numériques, programmables.

3 Environnement Contrôlé
Définitions & Concepts (1) C’est quoi un système embarqué Dispositif matériel comportant des parties logicielles. Utilisé pour contrôler et agir sur son environnement. Observe les variations de son environnement grâce à des capteurs et agit sur lui grâce à des actionneurs Varie de simple contrôleur de lave vaisselle au système complexe de guidage de missiles. V Cible Paramètre Régulateur de vitesse Accélérer Vitesse Ralentir ON/OFF Système Embarqué Acquisition Réponses Capteurs Actionneurs Le régulateur de vitesse est un exemple de système embarqué. Une fois mise en marche par le conducteur à l’aide du bouton ON/OFF, le régulateur de vitesse doit maintenir la vitesse du véhicule à une valeur constante choisie par le conducteur. Donc, si la valeur de vitesse lue < à la vitesse choisie, le régulateur accélère sinon il ralentit. Environnement Contrôlé

4 Définitions & Concepts (2)
Stimulateur cardiaque Microphone embarqué avec la sonde Mars Surveyor 98 Le régulateur de vitesse est un exemple de système embarqué. Une fois mise en marche par le conducteur à l’aide du bouton ON/OFF, le régulateur de vitesse doit maintenir la vitesse du véhicule à une valeur constante choisie par le conducteur. Donc, si la valeur de vitesse lue < à la vitesse choisie, le régulateur accélère sinon il ralentit.

5 Travaux Scientifiques  Définitions & Concepts (2)
Étapes de conception Système hétérogène Sous systèmes + Système à concevoir Communications + 1/ Décomposition & spécification Apparition du problème d’hétérogénéité: 1/ Lors de la spécification des comportements. 2/ Lors de la construction du modèle du système. 2/ Construction du modèle du système. Correction 3/ Validation à priori σ ╞  (ε1 /\ ε2) ou Un système embarqué mélange plusieurs domaines techniques, ce qui fait lui un système hétérogène. Donc sa conception consiste à élaborer son modèle exécutable qui décrit son comportement et ses propriétés pertinentes afin de répondre aux stimuli provenant de son environnement. Les principales étapes de conception d’un système embarqué hétérogène sont : 1/ La première étape consiste à décomposer le système en un ensemble de composants où chaque composant dispose de sa propre interface de communication et puis de spécifier les comportements des composants. 2/ La deuxième étape est la construction du modèle du système. Cette étape consiste à organiser et interconnecter l’ensemble de composants du système. Autrement dit, la recomposition des composants du système. 3/ La troisième étape consiste à valider le modèle du système (validation à priori): Validation par preuve formelle ou validation par simulation. Cette étape doit garantir, que le système, une fois implémenté, se comporte correctement. Donc, cette étape permet la détection des erreurs de fonctionnement qui implique un retour à l’étape 1 pour apporter des corrections. 4/ La quatrième étape est l’implémentation du système qui consiste à créer les composants matériel et à générer les codes. 5/ Validation à posteriori. 4/ Implémentation + 5/ Validation à posteriori

6 Définitions & Concepts (3)
Domaines techniques  Hétérogénéité  Modèles de Calcul (MoC) Chaque domaine technique obéit à un ensemble de lois physiques. Ces lois sont dites lois d’interaction, qui gouvernent les interactions entre les composants du système. Ces lois sont appelées : « Modèles de Calcul (Model of Computation) – MoC » Exemples de MoCs généralement utilisés: - CT (Continuous Time) : Système à dynamique continue. - DE (Discrete Events) : Réseaux de communication, circuit digital - FSM (Finite State Machines) : Systèmes transitant par plusieurs états - SDF (Synchronous Data Flow) : Traitement du signal - SR (Synchronous Reactive) : Systèmes réactifs, logique de contrôle Dis modélisation au lieu de conception.

7 Définitions & Concepts (4)
Exemple d’Hétérogénéité : Téléphone cellulaire multimédia 3G Compression et décompression son Images vidéos Interfaces Acquisition image Son IHM Contrôle et Accès réseau multiple Interface Homme Machine Radio Micro-Onde Amplification Charge et décharge

8 Problématique & Solutions (1)
Problème posé par la coexistence de plusieurs MoCs Construction du modèle du système  une mise en communication des composants obéissants à des MoCs différents. Sémantiques différentes: - Protocoles de communication différents - Formats des données différents.  Comment faire communiquer des composants hétérogènes? Utiliser les approches hétérogènes Existantes: Approche Amorphe Approche Hiérarchique Approche Non Hiérarchique Approche Composant Domaine Polymorphe La construction du modèle du système implique la mise en communication des composants obéissant à des MoCs différents. Cela peut entraîner des incompatibilités des sémantiques dans le cas où les composants utilisent des protocoles de communication et des formats des données différents. Ce qui pose le problème d’hétérogénéité. Pour pallier les difficultés de l’hétérogénéité et de pouvoir faire communiquer des composants hétérogènes, on peut utiliser l’une des approches hétérogènes suivantes: 1/ App. Amorphe. 2/ App. Hiérarchique. 3/ App. Non-Hiérarchique.

9 Problématique & Solutions(2)
Approche hétérogène amorphe Elle permet la coexistence des MoCs au même niveau  Composants obéissants aux MoCs différents peuvent communiquer directement car: ils incorporent les caractéristiques des MoCs. Elle ne concentre que sur un nombre réduit de MoCs: Temps Continu & Temps Discret pour les syst mixant le signal analogique et le signal discret CT et FSM pour les syst hybrides. Puisque le nombre de MoCs est connu à l’avance, elle fait leur union pour avoir la conjonction entre eux. Exemple d’environnements basés sur cette approche: VHDL-AMS et Simulink. Avantages Désavantages Permet l’intégration complète des MoCs  Pas de frontières entre MoCs. Permet l’utilisation des boucles hétérogènes. Pas nécessairement de séparation claire entre flot de données & flot de contrôle  Évolution et validation difficiles. Pas de possibilité d’ajouter de nouveaux MoCs.

10 Problématique & Solutions(3)
Approche hétérogène hiérarchique (1) Structure le système en un ensemble de niveaux hiérarchiques. DE CT FSM Chaque niveau hiérarchique ne contient que les composants obéissant au même MoC. Les niveaux hiérarchiques sont imbriqués l’un dans l’autre. Il faut changer de niveau hiérarchique pour passer d’un MoC à un autre. Les changements de MoCs ne peuvent s’opérer qu’à la frontière des niveaux hiérarchiques. Exemple d’environnements basés sur cette approche: Ptolemy II, POLIS, DYMOLA, MODELICA, SystemC, SpecC, OMOLA.

11 Problématique & Solutions(4)
Exemple d’Hétérogénéité Hiérarchique Conducteur Corps de la voiture contrôleur Réseau Capteur moteur Air Carburant Etincelles A D E C Moteur Couple Capteurs DE modèle voiture contrôleur RTOS tâches CT moteur corps voiture A C E FSM D détente explosion admission compression - Dans chaque couche, le MoC est bien défini. - L'interface entre les couches est prise en compte par les concepteurs de plate-formes.

12 Problématique & Solutions(4)
Approche hétérogène hiérarchique (2) Avantages Désavantages Ens. de MoC ouvert  Possibilité d’ajout de nouveaux MoCs. 2 MoCs au plus sont en contact Limiter la complexité de l’interface entre MoCs. La hiérarchie permet  de maîtriser la complexité des systèmes  d’abstraire un réseau de composants obéissant au même MoC dans un seul composant composite.  de raffiner un composant en décrivant son comportement à l’aide d’un MoC différent. Introduction de niveaux hiérarchiques artificiels créés uniquement pour changer de MoC. Les composants ayant des entrées et des sorties qui obéissent à des MoCs différents ne sont pas autorisés dans les modèles. Le passage des données et du contrôle entre les MoCs est effectué de manière implicite  pas d’intervention des concepteurs

13 Problématique & Solutions(5)
Approche Hétérogène Non Hiérarchique « Gestion de l’hétérogénéité entre composant» Système original MoC1 MoC2 Elle permet de faire coexister des MoCs au même niveau Système plat Elle repose sur l’utilisation de HIC (Composant à Interface Hétérogène) et Modèle d’Exécution Hétérogène. MoC1 HIC MoC2 Changement de sémantique - Conversion du protocole - transformation format de donnés Modèle d’exécution hétérogène MoC1 MoC2 Sous système1 Sous système2 Permet l’utilisation des composants possédant des E/S hétérogènes. Permet l’utilisation de plusieurs MoCs au même niveau hiérarchique. Permet d’expliciter le passage des données entre les MoCs. Avantages - La projection du HIC augmente le nombre de composants utilisés par le système. Pas de boucles hétérogènes. Désavantages Partitionnement du système en sous systèmes homogènes  isolement des MoCs. Projection du HIC sur les sous systèmes qui l’utilisent. Délégation du calcul du comportement des sous systèmes à leurs MoCs. Ordonnancement des sous systèmes. Avec l’approche hiérarchique, l’hétérogénéité est gérée à l’exécution. Projeter le HIC sur les sous systèmes.

14 Problématique & Solutions(6)
Composant Domaine Polymorphe Le Composant Domaine Polymorphe (CDP) : 1/ Capable de s’adapter aux différentes sémantiques des environnements 2/ Garantir un comportement interne suivant la sémantique de spécification. Domaine CT Domaine SDF Proposer…. Ce composant est appelé CDP Un composant domaine-polymorphe est un acteur atomique, dynamique et réutilisable ayant des propriétés lui permettant de s’adapter aux différentes sémantiques des domaines tout en garantissant un comportement interne suivant la sémantique de spécification. En effet, il a la capacité de s’adapter aux sémantiques externes tout en conservant sa sémantique interne. Domaine DE Composant domaine-polymorphe

15 Problématique & Solutions(7)
Couches du CDP Au niveau abstrait, le CDP est composé de 4 couches : Couche Noyau. Couche Conservateur. Couche frontière. Couche Adaptateur. Je dois dire: Couche Frontière permet d’expliciter le passage des données et le contrôle.

16 Exemples Exemple : Mélange de SDF et DE Système Réel DE SDF DE
B C Avec le modèle du système utilisant le CDP 1- CDP est un acteur spécifique à DE 2- Il est toujours possible d’activer le noyau NB, en utilisant le mode SDF Relaxé Avec le modèle du système utilisant l’app. hiérarchique 1- CC apparaît comme un bloc DE sans retard. 2- Il n’est pas toujours possible d’activer l’acteur B. Modèle du système utilisant l’approche hiérarchique DE Modèle du système utilisant le CDP DE I// Le premier cas est SDF dans DE: A) Avec le modèle du système utilisant le CDP 1- CDP est un acteur spécifique à DE et donne la possibilité de produire des données avec retard. 2- Il est possible d’activer le noyau B même dans le cas de non présence du nombre nécessaire de données. Pour cela, j’ai introduit le mode SDF Relaxé qui consiste à utiliser les données de bourrage à la place des données manquantes. Les données de bourrage ont une signification par rapport à l’application utilisant le CDP. B) Avec le modèle du système utilisant l’approche hiérarchique 1- L’acteur composite CC apparaît comme un bloc DE sans retard et les données produites ont toujours un retard égal à zéro. 2- Il est impossible de lancer l’acteur B tant que le nombre de données nécessaire n’est pas présent sur le port d’entrée du CC. II// Le deuxième cas est SR dans DE: A) Avec le modèle du système utilisant le CDP 1- CDP est un acteur spécifique à DE et il est possible de produire des données avec retard. Mais dans ce cas le retard égal à zéro afin de respecter la sémantique SR. 2- La présence d’au moins d’une donnée sur le port d’entrée du CDP n’impliquera pas l’activation du Noyau B, cela dépend de l’interprétation des données d’entrée au niveau du composant CF. 1- L’acteur composite CC apparaît comme un bloc DE sans retard et les données de sortie ont toujours un retard égal à zéro. 2- La présence d’au moins d’une donnée sur le port d’entrée du CC impliquera automatiquement l’activation de B. A CC C SDF A C NB SDF B

17 Exemple de Conception basée sur CDP et App. Hétérogène Hiérarchique
Exemples Exemple de Conception basée sur CDP et App. Hétérogène Hiérarchique Atelier de production automatisé (proposé par FZI: Forschungszentrum Informatik de Karlsruhe) Pièce métallique Pour valider mes concepts, j’ai pris l’atelier de production automatisé comme exemple à concevoir en utilisant les CDP. L’atelier est un système hétérogène qui mélange le contrôle et la dynamique continue. Il comporte des contrôleur des contrôleurs et des capteurs. Les contrôles sont les responsables du bon fonctionnement de l’atelier et les capteurs sont les informateurs des contrôleurs sur l’état de l’atelier. Pour la conception de l’atelier: 1/ J’ai décomposé la partie contrôle de l’atelier en 6 contrôleurs dont chacun est dédié à un dispositif de l’atelier. 2/ Et pour des raisons de synchronisation entre les contrôleurs lors du passage des pièces d’un dispositif à un autre, j’ai défini un autre contrôleur principal assurant l’ordre principal du cycle d’usinage. 2/ Ensuite, j’ai spécifié l’ensemble de contrôleurs en Esterel et puis à partir des modules Esterel j’ai généré les composants Noyaux correspondant aux contrôleurs par notre traducteur des modules Esterel en composants Ptolemy II. Zones Critiques 17

18 Exemples Conception de l’atelier sous Ptolemy II
CDP représentant un capteur CDP représentant le Contrôleur principal de l’atelier Acteur composite représentant un dispositif de l’atelier Acteur composite représentant une pièce Acteur composite CDP représentant ControllerFB Acteur composite représentant la partie opérationnelle du FB J’ai conçu le modèle Ptolemy de l’atelier suivant l’approche hiérarchique. Au niveau hiérarchique le plus haut, on trouve le CDP ayant le Noyau représentant le contrôleur principal de l’atelier, les acteurs composites représentant les 6 dispositifs de l’atelier et les acteurs composites représentant les pièces. J’ai choisi d’utiliser deux pièces à usiner car ce nombre est suffisant pour simuler le fonctionnement de l’atelier et en plus au delà de ce nombre, le modèle devient plus compliquer. A ce niveau, hiérarchique, j’ai utilisé le MoC DE. Chaque acteur composite représentant un dispositif est composé d’un CDP représentant le contrôleur du dispositif et un acteur composite représentant la partie fonctionnelle du dispositif et les deux sont régis par le MoC DE. L’acteur composite représentant la partie fonctionnelle du dispositif est un système hybride combinant les CT et FSM. Donc, j’ai utilisé le MoC FSM pour représenter les différents états dans lesquels le dispositif peut se trouver et chaque état je l’ai raffiné par un domaine CT. Dans le domaine CT on trouve les acteurs calculant à chaque instant la position de la pièce sur le dispositif et le CDP représentant un capteur. Le rôle du CDP à ce niveau est de signaler si la pièce a atteint une position bien déterminée afin de changer d’état.

19 Exemples Simulation du fonctionnement de l’atelier sous Ptolemy II
Pour une simulation en 3D, j’ai conçu la seine graphique de l’atelier. L’exécution du modèle de l’atelier a bien montré que le fonctionnement de l’atelier est bien déroulé, ce qui explique que les CDP encapsulant des Noyau spécifiés suivant la sémantique synchrone ont bien fonctionné sous les MoCs DE et CT.


Télécharger ppt "Systèmes Embarqués Hétérogènes"

Présentations similaires


Annonces Google