The Cheddar project : a free real time scheduling analyzer



English version Version Française


Translations of this page written by contributors :




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 with the Cheddar architecture design 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 a team composed of the LISyC laboratory/Université de Bretagne Occidentale and Ellidiss Technologies.

Cheddar can be run as a STOOD or as a TOPCASED plugin. The interoperability of STOOD/TOPCASED/Cheddar is managed by Pierre Dissaux (Ellidiss Technologies) . More recently, the Ellidiss technologies has also announced a new tool that embeddeds Cheddar : this new tool is called 'AADLInspector' and is devoted to AADL model verifications. See their web site for further details.

Cheddar relies on Ocarina to provide schedulability analysis of AADL models. The S3/Télécom-Paris-Tech team, who is developing Ocarina, also uses the Cheddar analyzer for different research projects and some tutorial/labs. The two teams cooperate for the development of AADL software engineering tools. See "Example of uses" section for further details.

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.1, release date : Jully the 1st, 2008) :

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.pdf file to have history of modifications. The file REQUESTED_FEATURES.pdf 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 simplest 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.pdf 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.pdf).


Work in progress


We will release the next version of Cheddar on September 2011 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.10
  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 your email adress.


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, contributors, and Sponsors


Cheddar is developed and maintened by a team composed of members from the LISyC laboratory/Université de Bretagne Occidentale and Ellidiss Technologies. The current members of this project are Pierre Dissaux (Ellidiss Technologies), Jérôme Legrand (Ellidiss Technologies), Alain Plantec (LISyC/Université de Bretagne Occidentale), Stéphane Rubini (LISyC/Université de Bretagne Occidentale) and Frank Singhoff (LISyCUniversité de Bretagne Occidentale).

The project is sponsored/funded by Ellidiss Technologies, Conseil régional de Bretagne, Conseil général du Finistère, BMO, EGIDE/Campus France and Thales TCS. The Cheddar project was started in 2002 by Frank Singhoff, LISyC Team, University of Brest. Since 2008, Ellidiss Technologies also contributes to the development of Cheddar and provides industrial support.

Researches on Cheddar are also conducted in collaboration with the following groups:

The following people have also contributed to the project: M. Auer, S. Bothorel, M. Baert, F. Charlet, N. Chauvin, R. Couillet, 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, H. Martin, L. Moal, L. Morin, C. Mouden, P. Normand, M. Nivala, G. Oliva, R. Prevot, D. Saulnier, M. Strauss, E. Thomas, N. Vienne, 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, G. Laurens, V. Hugel, C. Valle Su Young Lee, P. Wong, and M. Zanconi.

Thanks to the people we 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 : september 2011