This directory provides a set of AADL examples which can be imported into
Cheddar. For each example, a summary of the analysis tools provided by Cheddar
is describe.
1. rate_monotonic.aadl :
This AADL specification tests the Cheddar AADL extension related to schedulers (Quantum and Preemptive properties)
From this AADL specificatio, one can call the following Cheddar services :
- Classical periodic tasks and rate monotonic scheduler
- Analytical results (feasibility tests : bound on worst case
response time, cpu utilization factor test)
=> some kind of proof
- Simulation and information gathring such as response times
(worst/best/average), context switches, task preemptions
- Export of simulation results towards XML files
2. pcp.aadl :
This AADL file :
- Tests how critical sections can be expressed in AADL.
The current implementation of Cheddar add a new property
to give more critical section information, but this
information should be computed from a detailed AADL specification
- Shows how the data blocking time property can be use to store or compute the
maximum waiting time on data according to a data access protocol.
- Tests the way scheduling simulation on data can be performed.
This AADL file tests the following Cheddar services :
- Scheduling according to shared resource access
- Compute bound on shared resource blocking time (PCP/PIP)
3. pcp2.aadl :
Same AADL specification that pcp.aadl but without the Critical_Section
property.
4. posix.aadl :
This AADL specification tests the AADL extension related to POSIX 1003.1b scheduling (fixed priority and policy properties)
5. simulation_engine.aadl :
This AADL specification contains a user-defined scheduling protocol.
The Source_Text property stores the name of the file containing such a
user-defined scheduling protocol.
This AADP specification tests :
- How to perform performance analysis with user-defined scheduling protocol.
- How to look for new kind of performance criterion in a scheduling
simulation result.
6. sporadic.aadl :
This AADL specification contains a user-defined thread dispatching protocol.
The Source_Text property stores the name of the file containing such a
user-defined thread dispatching protocol.
7. buffers.aadl :
This AADL specification is composed of event ports connections.
From this AADL specification, we show how to perform a buffer requirement
analysis (memory requirement analysis from the buffer used to store events).
8. mixed_ts_priority.aadl :
An AADL example with a user-defined scheduling protocol mixing a time sharing and a real time
scheduler. Threads are periodic or sporadic.
9. part1.aadl and part2.aadl :
The files part1.aadl and part2.aadl model a system composed of threads,
processors and processes. The model is splitted in two files and this
example is used to test if we can load into cheddar an AADL specification
stored in several files.
10. Papabench project aadl files :
Papabench is a benchmarck proposed by the LAAS.
The files papabench*.aadl are some examples of AADL used in this context.
11. precedencies.aadl :
This AADL specification is related to thread precedencies (ie.
precedency constraints on the scheduling of threads).
It shows how to transform AADL event and event data connections
to Cheddar's thread precedencies.
12. Various examples in order to tests some specific stuffs :
- test_process.aadl : a set of various processes
- test_processor_bindings.aadl : an example of cpu bindng badly expressed
- test_sub_systems.aadl : an AADL specification composed of several sub-systems
- test_processors.aadl : a set of various processors