The Cheddar project : a GPL real-time scheduling analyzer






What is Cheddar ?



In few words

Cheddar is a GPL real-time scheduling tool. Cheddar allows you to model software architectures of real-time systems and to check its schedulability or others performance criteria.

As many schedulability analysis tools, schedulability can be assessed by both scheduling simulations or feasibility tests.

With Cheddar, the modeling of the system to verify can be achieved with either AADL or with the Cheddar architecture design language. Some experiments also exist with MARTE UML. Finally, Cheddar hosts a domain specific language inside its scheduling simulator that allows users to design new task models or scheduling policies.

To summarize, Cheddar can help you : to perform schedulability analysis, to be used for educational purpose or to quickly prototype new real-time scheduling policies or task models.

History

Cheddar is developed and maintened by a team composed of the Lab-STICC laboratory UMR CNRS 6285, the University of Brest and Ellidiss Technologies.

The Cheddar project was started in 2002 by Frank Singhoff, University of Brest. The full list of the contributors can be reach there. Since 2008, Ellidiss Technologies also contributes to the development of Cheddar and provides industrial support of AADLInspector an AADL verification tool embedding the commercial version of Cheddar.

Main features

Cheddar is composed of two independent parts : an editor to model the real-time system to be analyzed, and a framework to perform analysis.

The editor allows you to describe systems composed of several cores, processors which own tasks, shared resources, buffers and which may communicate by messages or with buffers. Cheddar includes its own ADL, namely Cheddar ADL. However, Cheddar is also able to handle AADL models with an embedded AADL V1.0 parser built with Ocarina , but also with a full compliant AADL V2 parser thanks to its commercial version embedded into AADLInspector.



The framework, called "Cheddar Kernel" can be called alone (e.g. by a shell script) and embedded in a toolset. The framework includes many feasibility tests and simulation tools. The framework is embedded in specific tool sets such as AADLInspector and STOOD (Ellidiss Tech), TASTE (ESA) or PPOOA .


The main analysis tools of Cheddar are the following :

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





News








Download Cheddar



- Download Cheddar binaries (current version is Cheddar-3.0, release date : the 2nd of November 2015) :

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 that we plan to implement in the next releases.

You can also get access to the SVN repository of Cheddar.

For compilation procedures, please read HOWTO_COMPILE.pdf, HOWTO_COMPILE_ON_UBUNTU.pdf or HOWTO_COMPILE_ON_WINDOWS.pdf

Cheddar is written in Ada, with GNAT and GtkAda Adacore products. Cheddar is known to run on Linux and windows boxes, but should run on any Adacore supported platforms ( see AdaCore web site for details).



  • To easy compile Cheddar on any computer, you can also use VirtualBox. You must download the cheddar_developers.vdi file in this case. For compilation procedures with VirtualBox, please read SIMPLE_WAY_TO_COMPILE_CHEDDAR_USING_VIRTUAL_BOX.pdf



    How to install and run Cheddar



    For installation procedures, please read HOWTO_INSTALL.txt



    Last patch



    There is no binary patch currently distributed as all fixed bug are integrated in the current binary release.
    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



    Current developments on Cheddar are about the following topics:
    1. Cache analysis support.
    2. Global multiprocessor scheduling.
    3. NoC support.
    4. PAES implementation.




    Mailing List



    Cheddar users and developers 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 (i.e. to post on this mailing-list, you have to subscribe to it).


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

    SUBSCRIBE cheddar foo@bar.com

    where foo@bar.com is your email address.


    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







    Examples of use : system 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 Lab-STICC laboratory UMR CNRS 6285/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 (Lab-STICC/Université de Bretagne Occidentale), Stéphane Rubini (Lab-STICC/Université de Bretagne Occidentale), Jalil Boukhobza (Lab-STICC/Université de Bretagne Occidentale), Laurent Lemarchand (Lab-STICC/Université de Bretagne Occidentale) and Frank Singhoff (Lab-STICC/Université de Bretagne Occidentale).

    Phd Students working on Cheddar: Nam Tran Hai, Ramha Bouaziz, Mourad Dridi and Blandine Djika. Former Phd Students  : Shuai Li. Vincent Gaudel. Jérôme Legrand.

    The project has been funded by Ellidiss Technologies, Conseil régional de Bretagne, UBO, BMO/Brest Métrople Océance, BPI France, Conseil général du Finistère, Thales TCS and EGIDE/Campus France PESSOA number 27380SA.

    Researches on Cheddar are also performed in collaboration with the following partners:

    The following people have also contributed to the project: see
    AUTHORS.txt

    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, ...



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



    To do a bug report, to find 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 : The 8th of June, 2016