Do you have a question? Post it now! No Registration Necessary
- Frank Singhoff
September 8, 2004, 3:04 pm
rate this thread
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
tasks, shared resources, buffers and which exchange messages.
The framework includes many feasibility tests and simulation tools.
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
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
- 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
- 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
- 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)
- 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.
- 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.
- Shared resource states are displayed on
the time line.
3) Work in progress :
During the next year, we plan to improve the tool with the following
- 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
- 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.
The EA 2215 team
- » How to use Windpower ICE with Virtex2Pro V2P4 FG456 board from Memec
- — Previous thread in » Embedded Programming
- » What is the proper way to test alkaline batteries?
- — The site's Last Updated Thread. Posted in » Electronics Repair