WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les systèmes embarqués

( Télécharger le fichier original )
par Ramzi BOULKROUNE
Université de Annaba - Ingénieur d'état en électronique option télécommunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.7.3.1.1. La représentation d'entrée :

La représentation d'entrée est une spécification du système. Cette spécification peut contenir des informations structurelles, des informations comportementales, mais aussi des paramètres qui précisent les détails des éléments à générer. Ces paramètres peuvent être présents sous la forme d'annotations associées aux éléments de la spécification.

La représentation d'entrée n'a pas besoin d'être exécutable. Au contraire, les informations nécessaires pour l'exécution ou la simulation peuvent interférer avec le ciblage. Il peut être par

Chapitre II conception des logiciels embarqués

exemple suffisant pour la description comportementale de donner des listes de fonctionnalités requises, sans donner leurs réalisations.

Cette représentation est souvent une forme intermédiaire, produite par une étape de synthèse. Elle n'a donc pas forcément de format humainement accessible : elle peut par exemple être limitée à une structure de données interne à un outil de ciblage.

II.7.3.1.2. La représentation de sortie :

Le résultat de la génération est donné dans la représentation de sortie. Etant la cible de la génération, il n'y a pas de contrainte particulière sur cette représentation.

Elle décrit le système donné en entrée, mais avec tous les détails d'implémentation obtenus par le générateur de code.

II.7.3.1.3. Représentation supplémentaire, nécessaire pour le fonctionnement du ciblage :

Le ciblage consiste souvent à produire et assembler des parties de code élémentaires (décrites dans la représentation de sortie) correspondant à certains éléments donnés dans la spécification d'entrée. L'ordre dans lequel les parties de code élémentaires doivent être assemblées est déduit de l'ordre dans lequel sont présentés les éléments du système, c'est-à-dire les informations structurelles de la spécification (voir le paragraphe II.7.3.1.1). La production des parties de code élémentaires est dirigée par les paramètres associés aux éléments de la spécification.

Le cibleur de code doit donc être capable de produire les parties élémentaires de code pour chaque type d'élément de la représentation d'entrée. La méthode couramment employée est de ranger toutes les parties de code élémentaire possibles dans une bibliothèque. Le problème se réduit alors à la recherche dans la bibliothèque des portions de code correspondant aux éléments de la spécification. Pour le résoudre il convient d'avoir une représentation pour décrire le contenue de cette bibliothèque. Cette représentation doit être relationnelle pour donner les correspondances entre les éléments de spécification et les portions de code finales. Elle doit être aussi comportementale pour la description des portions de code.

Si la représentation de sortie est suffisamment souple pour pouvoir décrire les parties élémentaires de code, leur paramétrage et leur assemblage, elle peut être utilisée également pour la description de la partie comportementale de la bibliothèque. Si ce n'est pas le cas, il convient alors d'encapsuler les parties de code final dans une autre représentation plus flexible.

II.7.3.2. Les étapes du ciblage logiciel :

Nous allons présenter dans cette section les étapes à suivre lors du ciblage logiciel. Nous procéderons par ordre chronologique, en partant des descriptions de l'application et de l'architecture matérielle cible, jusqu'à la production des exécutables finaux.

Le but de cette section n'est pas de présenter une méthodologie de ciblage, mais plutôt de montrer le type d'opérations et la chronologie qu'il sera généralement nécessaire de suivre. Nous nous contenterons donc ici de présentations sommaires des étapes du ciblage, sachant que les détails les concernant varient suivant la méthodologie employée.

La figure II.14 présente les diverses étapes d'un flot de ciblage. Ces étapes sont présentées dans les paragraphes suivants.

II.7.3.2.1. Analyse des entrées : application et architecture matérielle :

Cette étape consiste en l'acquisition des informations nécessaire au ciblage. Nous allons voir les types d'information requis pour effectuer un ciblage et comment nous pouvons y accéder.

Les informations nécessaires pour le ciblage sont tout d'abord les services requis : dans cette catégorie se trouvent toutes les informations concernant les fonctionnalités logicielles à ajouter. Parmi celles-ci trouvent les fonctionnalités de communication, les fonctionnalités du système d'exploitation et les gestionnaires de périphérique

Application Architecture

logicielle Choix des éléments
logiciels

Analyse des entrées

Requis

Code de

l'application logicielle

Paramètre

Eléments logiciels
supplémentaires

Mise en place des paramètres

Génération du code ciblé

Code ciblé de l'application logicielle

Compilation

Edition de liens

Code exécutable de l'application
Figure II.14 : Les étapes du ciblage logiciel

D'autres informations requises prennent la forme de paramètres : dans cette catégorie, se trouvent toutes les valeurs qui permettront de configurer les éléments logiciels. Ces paramètres peuvent avoir les origines suivantes :

- les informations sur le matériel : quel type de processeur, quel type de périphériques, etc. ;

- les allocations, c'est-à-dire les adresses mémoire des divers éléments (logiciels ou matériels) ;

- les contraintes imposées par l'environnement. Il peut s'agir de contraintes temporelles (délais à respecter, débit, etc.), de contraintes de surface (quantité de mémoire limitée), de contraintes de consommation ou d'autres contraintes plus spécifiques (liées par exemple à du matériel particulier). Ces contraintes peuvent elles aussi avoir une influence sur le chois des services.

Accès aux informations

Ces informations sont en règle générale dispersées dans plusieurs endroits, et sous plusieurs formes :

- directement dans la spécification, sous la forme d'annotations,

Chapitre II conception des logiciels embarqués

- déductibles à partir de la structure de la spécification,

- déductibles à partir d'autres informations de la spécification, - données en langage naturel.

Il est préférable de rassembler ces informations avant de commencer toute opération de ciblage.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le doute est le commencement de la sagesse"   Aristote