Cheddar : un simulateur d'ordonnanceurs temps réel



English version Version Française




Cheddar, c'est quoi ?


Cheddar est un outil de simulation permettant de calculer différents critères de performance (contraintes temporelles, dimensionnement de ressources). L'outil permet, entre autre, de tester le respect des contraintes temporelles d'un jeu de tâches modélisant une application/un système temps réel. Cet outil a initialement été écrit dans un but pédagogique, mais il peut néanmoins, dans une certaine mesure, aider les personnes qui étudient/conçoivent des algorithmes d'ordonnancement temps réel ou qui souhaitent étudier les contraintes temporelles d'une application temps réel simple. Cheddar est maintenu par le LISyC, Université de Bretagne.

Cheddar utilise Ocarina pour l'analyse de performance de modèle AADL. Ocarina est un compilateur AADL développé par Télécom-Paris-Tech. Il existe une forte coopération entre les deux équipes.

Cheddar peut être employé comme un plug-in avec STOOD ou avec TOPCASED. L'interopérabilité de Cheddar avec ces outils de modélisation est géré par Pierre Dissaux (Ellidiss software) . Il existe aussi une forte coopération entre Ellidiss Technologies et le LISyC : Ellidiss Technologies propose un support inductriel pour Cheddar et participe activement à la maintenance de l'outil.

Cheddar est principalement constitué de deux composants logiciels :


Cheddar est écrit en Ada (l'interface graphique est basée sur GtkAda). L'outil a été testé sur Linux, Windows et Solaris mais devrait fonctionner sur toutes les plates-formes supportées par GNAT ( voir le site web d'AdaCore).

Cheddar offre deux types de fonctionnalité : un environnement de simulation et des tests de faisabilité. Les tests de faisabilité permettent à l'utilisateur de vérifier si les contraintes temporelles d'une application sont respectées sans pour autant calculer une simulation de l'ordonnancement. L'environnement de simulation quant à lui, effectue une analyse d'un ordonnancement précédemment calculé. L'environnement peut être étendu afin de modéliser des modèles de tâches ou d'ordonnanceurs non couverts par la théorie de l'ordonnancement actuel.

Pour chaque résultat d'analyse, Cheddar affiche le nom ou la référence de la méthode de calcul appliquée (voir la liste des publications/documents de cette page).


Les principales fonctionnalités de l'outil sont :



L'image ci-dessous est une copie d'écran de l'outil. On y voit dans la partie haute les chronogrammes issues de l'ordonnancement des tâches, puis, dans la partie basse, les résultats concernant l'analyse de l'ordonnancement ainsi que les tests de faisabilité.


Télécharger le source, les binaires



- Le version actuelle de Cheddar est la version Cheddar-2.0 (distribuée depuis le 12 février 2007) :

Cheddar est un outil open-source distribué sous la license GNU.
Vous pouvez télécharger la version stable actuelle du source ici .

Les versions précédentes sont ici (voir le fichier ChangesLog.txt pour un historique des modifications).

Le cas échéant, nous disposons d'un accès SVN (à demander par la liste de diffusion de Cheddar si vous envisagez de contribuer au développement de l'outil).





Installer Cheddar

1) Plates-formes testées :


2) Logiciel nécessaire :

Sur Windows, il suffit de décompresser le fichier zip est de lancer Cheddar depuis le répertoire utilisé lors de la décompression. Sur Unix, vous avez besoin de la commande GNU make (gmake).

3) Installation pour Unix :

Sur Unix, la façon la plus simple pour installer Cheddar est la suivante :

  1. Editez le Makefile afin de désigner le répertoire où doit être installé le logiciel. Pour ce faire, vous devez mettre à jour la variable CHEDDAR_ROOT. Par défaut, Cheddar sera installé dans /usr/local
  2. Tapez `gmake' pour installer le logiciel.
  3. Modifiez vos variables shell PATH et LD_LIBRARY_PATH (voir le fichier HOWTO_INSTALL.txt).
  4. Lancez et testez l'outil.




Dernière version

Il n'y a pas de patch binaire actuellement distribué.
Voir le fichier FIXED_BUGS.txt pour la liste des bugs corrigés. Les bugs connus et non corrigés sont décrits ici.


Liste de diffusion

Pour toute question concernant l'utilisation ou le développement de Cheddar, l'Université de Brest héberge une liste de diffusion.
Pour poster dans cette liste, envoyer vos mails vers cheddar@listes.univ-brest.fr. Attention : cette liste est privée. Pour pouvoir y poster, vous devez vous y inscrire d'abord.


Pour s'abonner à la liste : envoyer une requête à sympa@listes.univ-brest.fr avec le corps de mail suivant :

SUBSCRIBE cheddar foo@bar.com

Où foo@bar.com est l'adresse e-mail de l'expéditeur.


Pour se désabonner : envoyer une requête à sympa@listes.univ-brest.fr avec le corps de mail suivant :

SIGNOFF cheddar




Documents et publications

Principales publications liées à Cheddar :




Exemples d'utilisation : analyses d'applications temps réel, cours/enseignement, outils divers

Nous distribuons Cheddar avec des exemples AADL et XML . D'autre part, vous trouverez ici quelques contributions faites par des utilisateurs de Cheddar :



Auteurs


Cette application est maintenue par le LISYC, et principalement par Frank Singhoff. Merci à ceux qui ont contribué au développement de cet outil : M. Auer, S. Bothorel, M. Baert, F. Charlet, N. Chauvin, V. Cuiec, S. Demurget, S. Edzang, R. Frin, H. Ihamouten, D. Geffroy, M. Gning, W. Guillo, S. Herry, T. Huertas, J. Hugues, A. Huopana, H. Lapinoja, G. Laurens, A. Le bot, J. Legrand, H. Martin, L. Moal, L. Morin, P. Normand, M. Nivala, G. Oliva, A. Plantec, R. Prevot, D. Saulnier, M. Strauss, E. Thomas, E. Vilain et B. Zalila.

Merci à ceux qui nous ont envoyé des rapports de bug, conseils ou idées : B. Baron, P. Mueller, H. Bonnin, T. Ren, K. Bryan, N. Hoogland, V. Hugel, J. Stemerdink, T. Vergnaud, F. Rodrigues de la Rocha, P. Dissaux, G. Laurens, V. Hugel, C. Valle and M. Zanconi.

Enfin, merci à ceux qui ont participé au projet ... et qui ont été oubliés ci-dessus...




Espace développeur : comment compiler, faire des rapports de bugs, obtenir de la documentation pour le développeurs ...


Un espace de travail pour les développeurs existe via un wiki accessible ici. Cet espace de travail est disponible pour faire les rapports de bugs et récupérer de la documentation développeur (ex : instructions de compilation).

Les rapports de bug peuvent aussi être envoyés sur cheddar@listes.univ-brest.fr (Attention, pour poster sur cette liste, vous devez d'abord y être abonné).






Contact : Frank Singhoff mailto:singhoff@univ-brest.fr
Dernière mise à jour : le 30 juin 2007