Les systèmes temps réel prennent une place de plus en plus importante dans notre société, ils servent à contrôler, réguler en « temps réel » des dispositifs électroniques grâce à des capteurs, embarqués dans des robots, des véhicules spatiaux, etc. Ces systèmes temps réel embarqués sont souvent utilisés par le public dans la vie de tous les jours sans même qu'on ne s'en rende compte, par exemple dans les systèmes de freinage d'une voiture, le contrôle de vol d'un avion,... Pour contrôler des systèmes critiques comme des centrales nucléaires, des réseaux électriques, etc., le réseau public Internet est de plus en plus utilisé car cela a deux avantages majeurs :
- la maintenance du système est facilitée, on peut se connecter au système à partir de tout endroit où une connexion Internet est disponible ;
- les coûts sont réduits étant donné qu'il ne faut pas mettre en place un réseau privé.
Mais il en découle également comme inconvénient l'accroissement des besoins en sécurité. Le problème qui se pose est donc d'arriver à maximiser la sécurité des échanges d'informations sans que cela nuise au respect des échéances des tâches du système temps réel. Nous voulons dire par là qu'il faut dans les limites du possible, qu'un système soit toujours ordonnançable avec la sécurité mise en place afin de garantir un fonctionnement sûr du système. En effet, sécuriser au maximum le système pourrait nous amener à un système qui dépasse sa capacité de traitement. Il faut donc limiter la sécurité de chaque tâche (...)
[...] Il faudrait alors en ajoutant un évènement Echéance séparer la gestion des arrivées dans laquelle on vérifiait que l'échéance soit respectée en même temps que la gestion de l'arrivée du travail suivant. L'instant de départ Ai pouvant être différent d'une tâche Ti à l'autre il faudra effectuer le test d'ordonnançabilité sur un intervalle : [min {Ai } , P + max {Ai Cependant, ici nous nous focaliserons sur des systèmes à départ simultané et à échéance sur requête, inutile donc de rendre la simulation plus longue en temps de calcul. [...]
[...] La simulation serait donc beaucoup plus longue à effectuer étant donné qu'il faut simuler l'évolution du système jusqu'à l'hyperpériode P = ppcm {Pi } Ti . Nous avons donc décidé, afin de faciliter nos simulations d'utiliser la technique exposée dans qui consiste à choisir la période comme un multiple des premières puissances de nombres premiers : Y Pi = pup p est premier } où p est un nombre premier et up est la puissance de p sélectionnée au hasard. [...]
[...] Les systèmes seront encodés dans un fichier de manière à récupérer aisément ceux-ci lors de l'exécution de la simulation. B Generateur.h Listing B.7 Generateur.h 1 #ifndef GENERATEUR_H 2 #define GENERATEUR_H #include "Systeme.h" class Generateur 7 { public: void genStaticT(int nbsys, int char fichier ; génère nbsys systèmes de n tâches dans fichier void genStaticU(int nbsys, double char fichier ; 12 génère nbsys systèmes avec une utilisation U dans fichier Systeme∗ getNextSystem(long &pos, char fichier[]); retourne le système à la position pos dans le fichier #endif B Generateur.cpp Listing B.8 Generateur.cpp 1 #include "Generateur.h" #include "Divers.h" #include "Tache.h" 4 void Generateur::genStaticT(int nbsys, int char fichier { génère nbsys systèmes de n tâches indépendamment de l'utilisation FILE simul; int i 9 double currentload = 0,coeff; simul = fopen ( fichier , ANNEXE B. [...]
[...] Un instant d'arrivée aij , un temps d'exécution eij et une échéance dij . Le travail τij devra donc recevoir eij unités d'exécution sur l'intervalle [aij , dij ) Il existe différentes classes de niveaux de contraintes temporelles, on parle d'échéances strictes (hard), fermes (firm) ou souples (soft) Un système temps réel est dit à échéances strictes (hard deadlines) lorsqu' on ne peut rater aucune échéance, les conséquences en seraient catastrophiques ; Pour les échéances fermes (firm deadlines), les conséquences sont moins sévères, mais la valeur de l'exécution d'un travail après son échéance est nulle et donc d'aucune utilité. [...]
[...] La récompense totale que nous noterons Rew W M à cause de la contrainte Résoudre la question Rew est-elle égaleP à W M ? revient à résoudre la question Existe-il un ensemble de ti tel que ni=1 ti = chaque ti étant égal à 0 ou à si ? autrement dit Rew = W M si et seulement s'il existe un ensemble P SA S tel que si si = M. L'analogie au problème Subset-Sum est faite, ce qui implique que MAX-REW et donc REW-PER avec des fonctions convexes de u récompense est NP-difficile. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture