[aadl]: Ann. of a new release of Cheddar, a GPL real time scheduling analyzer

frank singhoff singhoff at univ-brest.fr
Mon Oct 9 08:12:37 EDT 2017


Ann. of a new release of Cheddar, a GPL real time scheduling analyzer

We are pleased to announce a new release of Cheddar.
Cheddar is a GPL 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 maintained by the Lab-STICC Team,
University of Brest.

Since 2008, Ellidiss Technologies also contributes to the development of
Cheddar and provides industrial support.
Cheddar is written in Ada and runs on Linux and win boxes.

Thanks to contributors of this release (see AUTHORS.txt for the list of
the contributors).

The current release is now 3.1. If you are a regular Cheddar's user, we
strongly advice you to switch
to the 3.1 release. See "ChangesLog.pdf" and "FIXED_BUGS.pdf" files for
more information.



1) Summary of the new features for this release
-----------------------------------------------

The new release (aka Cheddar-3.1) provides the following improvements:

- Integrate cache analysis features : sustainable
scheduling simulation with CRPD, computation of task
cache access profiles according to UCB/ECB,
priority assignement according to CRPD
- Implement a PAES algorithm to perform partitioning with conflicting
objective functions
- Provide a set of NoC scheduling analysis services
- Implement LLREF and EDZL global scheduling
- Implement new feasibility interval from JRTS paper of Gooseens et al.
- Increase accurrancy of resource blocking time from simulation
- Fix several bugs reladted to the GUI, global scheduling, feasibility
interval, shared resource blocking time and others (see FIXED_BUG.pdf)



2) License and web site
-----------------------

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
http://beru.univ-brest.fr/~singhoff/cheddar



3) Main Cheddar features
------------------------

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 cores,
processors
which own tasks, shared resources, buffers and which may exchange
messages or communication with buffers.
Cheddar includes its own ADL, namely Cheddar ADL.
However, Cheddar is also able to handle AADL V2 compliant models
thanks to its commercial version into AADLInspector.

The framework includes many feasibility tests and simulation tools.
The framework can be embbed in specific tool set such as STOOD (Ellidiss
Tech), TASTE (ESA) or AADLInspector (Ellidiss Tech).
Feasibility tests
can be applied to check that task deadlines can be 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).


The most important analysis tools are the following :

- Do scheduling simulations :
     - With preemptive and non preemptive scheduling policies
     - With uniprocessor and Multiprocessor scheduling policies
     - With uniprocessor : Rate Monotonic, Deadline Monotonic,
       Least Laxity First, Earliest Deadline
       First, POSIX queueing policies : SCHED_OTHERS,
       SCHED_FIFO and SCHED_RR) and many other uniprocessor policies
     - With multiprocessor : Proportionate Fair, EDZL, RUN
     - With instruction cache entities
     - With different type of tasks : aperiodic, periodic, task
activated with a poisson process, ...
     - With shared resources (and with FIFO, PCP, PIP, IPCP
synchronization protocols)
     - Several hierarchical schedulers (such as ARINC 653 scheduling).
     - With task jitters and offsets
     - With various task precedencies

- Extract information from scheduling simulation, such as :
         - Worst/best/average task response times, task missed deadlines
         - Number of preemption, number of context switch
         - Worst/best/average shared resource blocking time
         - Deadlock and priority inversion
         - Worst/average buffer utilization factor, message
worst/average waiting time

- Apply feasibility tests on tasks and buffers  :
          - Compute worst case task response time on periodic task set
          - Several methods to compute worst case response time with linear
and tree transaction
          - Apply processor utilization feasibility tests.
          - Compute bound on buffer size (when buffers are shared by
periodic tasks)
          - Worst case shared resource blocking time
          - Memory footprint of software entities

- Shared resources support (both scheduling simulation and
blocking time analysis).  Supported protocols : PIP, PCPs, IPCP

- Tools to express and performa analysis with task dependencies :
          - Model task transation (linear or tree) and compute worst case
response time
          - Scheduling simulation tasks according to task precedencies
          - Compute Tindell Holistic end to end response time.
          - Apply Chetto and Blazewicz algorithms.

- Task and resource priority assignment :
     - Rate Monotonic, Deadline Monotonic, Audsley task priority assignment
     - Task priority assignment according to CRPD
     - Shared resource ceiling priority assignement (for PCP like policies)

- Features to let Cheddar user to define and handle his policies :
     - User-defined scheduling policies (based on pipeline models or
automaton models)
     - USer-defined task model policies, to express and handle specific
task activation policies
     - User-defined analysis on scheduling simulation, to look for
specific properties on scheduling simulation result

- Partitionning tools for periodic task set :
     - Best fit policy
     - General Task fit policy
     - Fist fit policy
     - Small fit policy
     - Next fit policy






Best Regards

Stéphane Rubini (Lab-STICC Team, University of Brest)
Jalil Boukhobza (Lab-STICC Team, University of Brest)
Laurent Lemarchand (Lab-STICC Team, University of Brest)
Alain Plantec (Lab-STICC Team, University of Brest)
Pierre Dissaux (Ellidiss Technologies)
Jerome Legrand (Ellidiss Technologies)
Frank Singhoff (Lab-STICC Team, University of Brest)










-- 
-------
MOCS Team, Lab-STICC UMR CNRS 6285
Univ. Brest, Faculty of sciences
Phone : +33 298016211





More information about the sae-aadl-users mailing list