SIMULATEUR
La simulation est un approche nécessaire pour comparer plusieurs algorithmes d’ordonnancement ou plusieurs tests d’ordonnançabilité. Elle permet de générer aléa toirement des ensembles de tâches et d’évaluer les propriétés des algorithmes. Bien que les systèmes temps réel soient étudiés depuis longtemps, aucun outil de simula tion libre n’a réussi à s’imposer comme standard dans le monde académique (comme peut l’être ns-2 pour la simulation des protocoles réseaux).
Cheddar [SJNM04], bien qu’étant un outil de simulation abouti, nécessite la connaissance de la programmation en langage Ada. Même si nous n’avons pas la prétention de fournir un tel standard, nous avons décidé de rendre disponible le code développé dans le cadre de cette thèse sous la forme du logiciel libre Real-Time Multiprocessor SIMulator (RTMSim).
Propriétés du logiciel
Licence RTMSim est développé et distribué sous licence BSD modifiée. Il s’agit d’une licence libre qui permet à quiconque de pouvoir exploiter le code de ce logiciel, de le modifier et de le redistribuer sous une quelconque forme. Cette licence n’est pas contaminante car elle n’impose pas au contributeur de continuer à utiliser la même licence. Ce choix a été motivé par la volonté de nemettre aucuneentrave juridique pour pouvoir utiliser ou contribuer au développement de RTMSim.
Langage de programmation RTMSim est développé avec le langage de programmation Java. Java est un langage objet de haut niveau et utilisé par une large communauté de développeurs. Nous ex pliquons par la suite quelles propriétés font de RTMSim un simulateur évolutif.
Interface utilisateur
Le développement d’une interface graphique est une tâche longue et qui apporte que de valeur ajoutée à un logiciel de simulation. Si l’interface graphique permet de rendre compte rapidement du potentiel d’un logiciel, elle est souvent difficilement maintenable pour un logiciel en cours de développement. Nous nous sommes foca lisés sur le développement d’un noyau de simulateur évolutif.
C’est pourquoi nous avons fait le choix d’utiliser une interface en ligne de commande. Plutôt que de fournir une commande monolithique difficile à prendre en main, nous avons préféré respec ter la philosophie des systèmes Unix consistant à ce qu’une commande ne fournisse qu’une seule fonctionnalité.
La commande doit être simple d’utilisation et pouvoir in teragir avec le reste du système. RTMSim est donc constitué d’un ensemble de com mandes qui peuvent être liées entre elles. Nous donnons l’exemple de la visualisation d’un diagramme d’ordonnancement. RTMSim dispose des commandes taskgen, per mettant d’engendrer aléatoirement des ensembles de tâches, sched, permettant de simuler un ordonnancement et schedviz, permettant de visualiser la trace d’un or donnancement.