The Cheddar project : a free real time scheduling analyzer



English version Version Française




What is Cheddar ?


Cheddar is a free real time scheduling tool. Cheddar is designed for checking task temporal constraints of a real time application/system. Systems to analyze can be described with AADL or a with Cheddar specific language. It can help you for quick prototyping of real time schedulers. It can also be used for educational purpose. Cheddar is developed and maintened by the LISyC Team, University of Brittany.

Cheddar relies on Ocarina to provide schedulability analysis of AADL models. The ocarina team also use the Cheddar analyzer for their research projects and some tutorial/labs. There is a strong cooperation between the two teams.

Cheddar can be run as a STOOD or as a TOPCASED plugin. The interoperability of STOOD/TOPCASED/Cheddar is managed by Pierre Dissaux (Ellidiss software) . There is also a strong cooperation between the Cheddar team and Ellidiss technologies : Ellidiss technologies provides industrial support for Cheddar and participates to the toolset maintenance.

Our real time scheduling simulator is composed of two independent parts : a graphical editor used to describe a real time application/system, and a framework which includes most of classical real time scheduling/feasibility algotithms/tests.

Cheddar is written in Ada. The graphical editor is made with GtkAda. Cheddar runs on Solaris, Linux and win32 boxes and should run on every GNAT/GtkAda supported platforms ( see AdaCore web site for details).

Cheddar provides two kind of features : a simulation engine and feasibility tests. Feasibility tests allow a user to study a real time application/system without computing a scheduling. In the contrary, the simulation engine can be used firstly to computing a scheduling and secondly, to automatically looking for task constraint properties in the computed scheduling. Most of the time, feasibility tests are less complex tools but they are available only for few schedulers and tasks models. To solve this problem, the Cheddar simulation engine provides tools to design specific schedulers and task models : the system is then analyzed according to a given scheduling.

For each analysis result, Cheddar gives the name of the applied equation and the related publication. See the publications topic of this web page to get these publications.


The main features provided by Cheddar are then :



The picture below is a screenshot of Cheddar : on the top of the picture, scheduling is drawn according to the scheduler of each processor. On the bottom, some task information is provided (response times, missed deadlines, processor utilization factor, ...).


News




Download Cheddar



- Download Cheddar binaries (current version is Cheddar-2.0, release date : February the 12th, 2007) :

Cheddar is a free software under the GNU General Public License.
You can get the current stable Cheddar source code here .

Previous releases can be found here . See the ChangesLog.txt file to have history of modifications. The file REQUESTED_FEATURES.txt contains the new features required by users and which will be implemented din the next releases.

You can also get access to the SVN repository of Cheddar. Please, contact us to get an account on this SVN repository.





Install Cheddar

1) Tested platforms :

Cheddar runs on :


2) What do you need ?

On windows boxes, just unzip the zip file. To install Cheddar on Unix boxes, you need the GNU make command (gmake).

All necessary software used to compile or install Cheddar can be found here.

3) Basic Unix Installation process :

For unix, the simpliest way to install this program is:

  1. Edit the Makefile to give the name of the directory where cheddar must be installed. To do this, update the CHEDDAR_ROOT variable. If you do not change CHEDDAR_ROOT, Cheddar will be installed in /usr/local
  2. Type `gmake' to install the package.
  3. Update your PATH and LD_LIBRARY_PATH variables (see the HOWTO_INSTALL.txt file for more details).
  4. Play and have fun.




Last patch

There is nos patch currently distributed...
See the FIXED_BUGS.txt file to have the detailed list of fixed bugs. The list of the bugs to be fixed can be read there (file BUGS_TO_FIX.txt).


Work in progress


We will release the next version of Cheddar on September/november 2007 with the following features :
  1. Continue to increase the part of the Cheddar automatically generated from its model/meta-model with platypus. This work should increase Cheddar effiency and modularity.
  2. Improve Hierarchical schedulers support.
  3. Improve the user-defined scheduler services.
  4. Update the graphical editor in order to take into account GtkAda 2.2
  5. Improvement of message scheduling with :
  6. Provide a global memory analysis (task stack, text/data segments ...)

Mailing List

Cheddar users and developers can share information with a mailing list hosted by the University of Brest.
To post to the list, send e-mail to cheddar@listes.univ-brest.fr. Warning : this is a private mailing-list (to post on this mailing-list, you have to be subscribed).


To subscribe to the list : send a request to sympa@listes.univ-brest.fr with the following text in the body :

SUBSCRIBE cheddar foo@bar.com

where foo@bar.com is the requester.


To unsubscribe to the list : send a request to sympa@listes.univ-brest.fr with the following text in the body :

SIGNOFF cheddar




Related documents and publications

Most important Cheddar's publications :



Examples of use : application analysis, educational material and contributions from Cheddar's users

We distribute Cheddar with a set of AADL and XML examples. But this section also contains a set of contributions from Cheddar's users :



Authors and contributors


This program is developed and maintened by the LISYC Team, mainly by Frank Singhoff. The following people have also contributed to the project: 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 and B. Zalila.

Thanks to people who sent us bug reports and/or advices : 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.

Thanks to the people i forgot ...




Cheddar software developer work space : to get compilation instructions, to report bugs, to get developer documentation ...



For doing bug reports, fetching compilation instructions and developer documentations, a work space is available for Cheddar software developers on this wiki.

You can also report bugs and new tested platforms to cheddar@listes.univ-brest.fr (Warning : this is a private mailing-list. To post, you have to subscribe to the mailing-list first).











Contact : Frank Singhoff mailto:singhoff@univ-brest.fr
Last update : june the 30th, 2007