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

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 application/system. It can also help you for quick prototyping of real time schedulers. Finally, 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 analyzed 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

formatting link

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 activation,...) (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 capacity - 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

Reply to
Frank Singhoff
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.