1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

ANN : New release of Cheddar : a real time scheduling simulator

Discussion in 'Embedded' started by Frank Singhoff, Sep 8, 2004.

  1. ANN : New release of Cheddar, a free real time scheduling simulator

    The EA 2215 team is pleased to announce a new release of Cheddar.

    Cheddar is a free real time scheduling tool. Cheddar is designed for
    checking task temporal constraints and buffer sizes of a real time
    It can also help you for quick prototyping of real time schedulers.
    it can be used for educational purposes.

    Cheddar is developed and maintened by the EA 2215 Team,
    University of Brest.

    Cheddar is composed of two independent parts : an editor used to
    describe a real time application/system, and a framework.
    The editor allows you to describe systems composed of several processors
    which own
    tasks, shared resources, buffers and which exchange messages.
    The framework includes many feasibility tests and simulation tools.
    Feasibility tests
    can be applied to check that task response times are met and that buffers
    have bounded size.
    When feasibility tests can not be applied, the studied application can be
    with scheduling and buffer simulations.
    Cheddar provides a way to quickly define "user-defined schedulers" to
    model scheduling of ad-hoc applications/systems (ex : ARINC 653).

    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

    The current release is now 1.3p3.
    If you are a regular Cheddar's user, we strongly advice you to switch
    to the 1.3p3 release due to the large amount of 1.3p2 bugs
    that we fixed.

    Cheddar is distributed under the GNU GPL license.
    It's a free software, and you are welcome to redistribute it under
    certain conditions;
    See the GNU General Public License for details.
    Source code, binaries and documentations can be freely downloaded from

    1) Summary of features :

    - Do scheduling simulations with classical real time schedulers
    (Rate Monotonic, Deadline Monotonic,
    Least Laxity First, Earliest Deadline
    First, POSIX queueing policies : SCHED_OTHERS,
    SCHED_FIFO and SCHED_RR) with
    different type of tasks (aperiodic, periodic, task
    activated with a poisson process law, ...)
    - Extract information from scheduling simulation.
    (buffer utilization factor, task response times, task missed deadlines,
    number of preemption, ...)
    - Apply feasibility tests on tasks and buffers (without scheduling
    simulation) :
    - Compute task response time bounds.
    - Apply processor utilization tests.
    - Compute bound on buffer size (when buffers are shared by periodic tasks)
    - Shared resources support (scheduling and
    blocking time analysis). Supported protocols : PIP, PCP.
    - Tools to express and do simulations/feasibility tests with task
    precedencies :
    - Schedule tasks according to task precedencies
    - Compute Tindell end to end response time.
    - Apply Chetto and Blazewicz algorithms.
    - Tools to run scheduling simulation in the case of
    multiprocessors systems
    - Do simulation when tasks are randomly activated.
    - Can run scheduling simulation on user-defined scheduler
    and task arrival patterns.
    - Run user-defined analysis on scheduling simulation.
    - ...

    2) Most of new features provided by 1.3p3 :

    - Fix many bugs of the previous release (see BUGS file)

    - Add a new user interface of the scheduling simulation service.
    With 1.3p3, Cheddar provides two different scheduling simulations :
    customized or uncustomized scheduling.

    Uncustomized simulation draws time line
    and computes worst case response time
    from simulation. This service is called
    from the "Scheduling Simulation" pixmap.

    Customized simulation draws time line
    and can compute many others measures
    (eg. Worst/Best/Average cases
    of shared resource blocking and response time
    time from simulation).
    This service is called from the menu
    "Tools/Scheduling/Scheduling simulation" (F. Singhoff)

    - Add a way to display or export event tables
    produced by the scheduling simulator engine. Event
    tables are XML formated. An event table
    is a set of data which stores a computed
    scheduling. (F. Singhoff)

    - Add a way to import event tables computed by
    other tools. This service allows you
    to run analysis on scheduling produced by
    operating system, object request broker or
    any applications. (F. Singhoff).

    - Add Partitioning tools for multiprocessor
    systems scheduled with Rate Monotonic.
    Several partitioning strategies are
    provided (RM Best Fit, RM Next Fit, RM
    First Fit, RMGT and RMST)
    (M. Nivala)

    - Fix errors on utilization factor feasibility tests.
    In the previous release, preemptive EDF and RM
    tests were applied by error on other schedulers.
    (H. Martin, S. Bothorel)

    - Add user-defined event analyzers. User-defined
    analyzer can be run on a given scheduling to look
    for user specific properties.
    User-defined event analyzers
    are pieces of user code which scan and do analysis
    on event tables.
    (F. Singhoff)

    - Add user-defined task arrival pattern. This
    feature should allow us to easily define new
    task activation patterns (ex : bursty task activation;
    jitter constraint activation, sporadic
    (H. Huopana, F. Singhoff)

    - Add a simple message scheduling.
    Actually, message scheduling is limited with
    constant communication delay messages and with
    sending tasks which send messages at the start
    of their activation. This service have to be
    extended in the next release to be really usefull.
    (G. Oliva, F. Charlet)

    - Add a sub-program To detect priority inversion
    from scheduling simulation (F. Singhoff)

    - Add a C interface to call the framework
    from C programs.
    (F. Singhoff)

    - Shared resource states are displayed on
    the time line.
    (E. Vilain)

    3) Work in progress :

    During the next year, we plan to improve the tool with the following
    features :

    - Update the user's guide according to the new 1.3p3 features
    - Improvement of the buffer analysis features with queueing
    theory analysis tools.
    - Provide a way to import/export application specifications
    in AADL.
    - Improvement of message scheduling with :
    - Allowing message sending at any time of a task
    - Providing a way to user-defined message
    delay communication by specification
    of user-defined message scheduling
    (as user-defined scheduler)
    - Fixing a buggy service which should detects deadlock from simulation.
    - Completing available services on event tables.


    Feel free to contact us for help or bugs report.

    Best Regards,
    The EA 2215 team
    Frank Singhoff, Sep 8, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.