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.4.2.1. La redondance des opérations de ciblage :

Il y a redondance dans les informations : très souvent une même information se trouve présente dans plusieurs endroits dans les entrées du flot de ciblage ; par exemple le format de données dans un protocole de communication peut se trouve dans la description de l'architecture et

Chapitre II conception des logiciels embarqués

dans les spécifications ou même le code de l'application à cibler. Il y a aussi redondance dans les fonctionnalités des éléments logiciels : il est fréquent que deux éléments logiciels aient des fonctionnalités communes, ce qui fait que s'ils sont tous les deux sélectionnés pour le ciblage, il y aura du code inutile.

Cette redondance est source de conception lors d'un ciblage manuel, mais elle peut être un avantage pour l'automatisation, car elle peut permettre certaines factorisations.

II.7.4.2.2. Le problème des choix à effectuer lors d'un ciblage :

Nous avons vu précédemment qu'il fallait faire un certain nombre de choix lors du ciblage : il faut par exemple choisir des éléments logiciels en fonction des fonctionnalités requises, des contraintes et des performances. Il faut aussi choisir les valeurs de paramètres de configuration des éléments logiciels (par exemple la taille des mémoires tampons), en fonction des contraintes et des performances.

Si le choix en fonction des fonctionnalités requises peut être effectué automatiquement par simple gestion de dépendances (comme par exemple dans Tornado de Windriver), le choix de fonctions de contrainte et de critères de performance (vitesse, taille, ou consommation) est plus délicat. Dans ce dernier cas, il est nécessaire d'avoir une évaluation des conséquences des choix sue les performances, ce qui peut être d'autant plus difficile à obtenir si les éléments logiciels possèdent de nombreux paramètres. Dans tous les cas le résultat est rarement certain, et il est donc préférable de laisser à l'utilisateur la possibilité d'influencer ces choix.

II.7.4.2.3. Ce qui est systématique dans le flot de ciblage :

Pour automatiser le flot de ciblage, il est intéressant de repérer les actions systématiques, c'est-à-dire les actions qui ne demandent pas d'intelligence.

Dans le cas du ciblage, les actions suivantes sont directement systématiques :

- l'acquisition des informations : cette action consiste juste en la lecture des entrées du flot avec extraction des informations. A partir du moment où les entrées sont bien définies (par exemple des fichiers sous un format connu), les techniques de base d'analyse syntaxique peuvent être utilisées ;

- la mise en place des paramètres : en supposant que les divers éléments logiciels pour le ciblage sont décrits suivant un formalisme connu et que les paramètres sont directement accessibles, cela revient à effectuer des opérations d'expansion de macro ;

- la compilation et l'édition de liens : les compilations et éditeurs de liens existent déjà et sont automatiques, il suffit juste d'automatiser leur appel dans le bon ordre.

Il existe aussi d'autres actions qui peuvent devenir en partie systématiques :

- le choix des éléments logiciels nécessaires : si tous les choix ne sont pas systématiques, un certain nombre peut l'être, comme la détection de tous les éléments ayant une certaine fonctionnalité, et le choix des éléments compatibles avec une certaine architecture matérielle. Cela suppose que le flot de ciblage dispose de descriptions des fonctionnalités de ces éléments ainsi que de leur compatibilités ;

- l'adaptation du code de l'application peut elle aussi être en partie systématique : cela concerne notamment les appels de communications qui peuvent être remplacés par les bons appels au système d'exploitation.

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








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille