Regression test suite ---------------------- The files included in the sub-directory "tests" consist of the tests we do each time a new version of Cheddar is released. Each test is described below. You can read these projects if you want to have an overall view of functionnalities provided by Cheddar. Most of the tests are provided with jpeg files which show the expected result. TESTS ON BASIC PERIODIC TASK SETS ----------------------------------------------------------------- File : test_periodic0.xmlv3 Test : processors without task ----------------------------------------------------------------- File : test_periodic1.xmlv3 Test : test scheduling simulation and feasibility with periodic tasks The task sets defined here use a various values for the parameters : start time, deadline, capacity, period, priority, policy ----------------------------------------------------------------- File : test_periodic2.xmlv3 Test : same tests that the previously one but with non preemptive schedulers ----------------------------------------------------------------- File : test_periodic3.xmlv3 Test : test HPF scheduling with a non nul quantum ----------------------------------------------------------------- File : test_periodic4.xmlv3 Test : test POSIX scheduling policies (SCHED_FIFO/RR/OTHERS) ----------------------------------------------------------------- File : test_periodic5.xmlv3, test_periodic6.xmlv3, test_periodic7.xmlv3, test_periodic8.xmlv3 Test : several tests for LLF scheduling protocol ----------------------------------------------------------------- File : test_periodic9.xmlv3, test_periodic10.xmlv3, test_periodic11.xmlv3, test_periodic12.xmlv3 Test : several tests for preemptive EDF scheduling protocol ----------------------------------------------------------------- File : test_periodic13.xmlv3, test_periodic14.xmlv3, test_periodic15.xmlv3, test_periodic16.xmlv3 Test : several tests for non preemptive EDF scheduling protocol ----------------------------------------------------------------- File : test_non_preemptive_utilization_factor.xmlv3 Test : test feasibility tests based on processor utilization factor ----------------------------------------------------------------- File : test_preemptive_utilization_factor.xmlv3 Test : test feasibility tests based on processor utilization factor ----------------------------------------------------------------- File : test_periodic_with_start_time.xmlv3 Test : test the base period computation in the case of a task : with non nul start time ----------------------------------------------------------------- File : test_harmonic_and_periodic_with_rate_monotonic.xmlv3 Test : test the cpu usage feasibility test on a 100 % busy : processor with a harmonic task set ----------------------------------------------------------------- File : test_aperiodic0.xmlv3 Test : Processors with aperiodic tasks to test if exception are correctly raised ----------------------------------------------------------------- File : test_aperiodic1.xmlv3 Test : processors with aperiodic and periodic tasks ----------------------------------------------------------------- File : test_non_preemptive_rate_monotonic_worst_case_task_response_time.xmlv3 Test : check bound on task response time and the message associated ----------------------------------------------------------------- File : test_preemptive_rate_monotonic_worst_case_task_response_time.xmlv3 Test : check bound on task response time and the message associated ----------------------------------------------------------------- TESTS ON SPECIFIC TASK MODELS ----------------------------------------------------------------- File : test_sporadic.xmlv3 Test : Processors with sporadic tasks. Check is task activations are correctly computed ----------------------------------------------------------------- File : test_poisson_process.xmlv3 Test : Processors with poisson process tasks. Check is task activations are correctly computed ----------------------------------------------------------------- File : test_response_time_from_simulation.xmlv3 Test : test we compute correctly absolution deadline from simulation for both cyclic and non cyclic task TESTS SPECIFIC SCHEDULING OPTIONS ----------------------------------------------------------------- File : test_minimize_preemption.xmlv3 Test : with 'minimize_preemption', when two tasks have the same absolute deadlie, we let the running task on the processor to reduce the number of preemption ... otherwise whe choose the task with the smallest name amoung the tasks with the same deadline ----------------------------------------------------------------- File : test_scheduling_with_jitters1.xmlv3 test_scheduling_with_jitters2.xmlv3 Test : with 'schduling_with_jitters', when a task has a jitter greater than 0, we use this to generate random value to postpone its actual release time ----------------------------------------------------------------- TESTS ON MESSAGES ----------------------------------------------------------------- File : test_message1.xmlv3 Test : test message scheduling alone ----------------------------------------------------------------- File : test_message2.xmlv3 Test : test message scheduling with other dependencies (eg. buffer) ----------------------------------------------------------------- TESTS ON RESOURCES ----------------------------------------------------------------- File : test_noprotocol1.xmv3 test_noprotocol2.xmv3 test_noprotocol3.xmv3 test_noprotocol4.xmv3 test_noprotocol5.xmv3 test_noprotocol6.xmv3 test_noprotocol7.xmv3 Test : test scheduling with Np_Protocol resources and blocking time computation for various scheduler (HPF, EDF, LLF) ----------------------------------------------------------------- File : test_resource2.xmlv3 Test : test scheduling with IPCP_Protocol resources and blocking time computation ----------------------------------------------------------------- File : test_resource3.xmlv3 Test : test scheduling with Pip_Protocol resources and blocking time computation ----------------------------------------------------------------- File : test_resource4.xmlv3 Test : test scheduling with Pcp_Protocol resources and blocking time computation ----------------------------------------------------------------- File : test_resource5.xmlv3 Test : test priority inversions analysis from simulation ----------------------------------------------------------------- File : test_resource6.xmlv3 Test : test deadlock analysis from simulation ----------------------------------------------------------------- File : test_ceiling_priority.xmlv3 Test : test the subprogram to compute and set ceiling priority ----------------------------------------------------------------- File : test_blocking_time_from_simulation1.xmlv3 Test : test the subprogram to compute blocking time from scheduling simulation ----------------------------------------------------------------- TESTS ON RESPONSE TIME DISTRIBUTION ----------------------------------------------------------------- File : test_random.xmlv3 Test : test response time distribution service with a simple Rate Monotonic scheduler and some periodic tasks ----------------------------------------------------------------- TESTS WITH BUFFERS ----------------------------------------------------------------- File : test_buffer1.xmlv3 Test : test buffer feasibility tests ----------------------------------------------------------------- File : test_buffer2.xmlv3 Test : test buffer simulation tools ----------------------------------------------------------------- TESTS ON JITTER/HOLISTIC COMPUTATION ----------------------------------------------------------------- File : test_jitter1.xmlv3 Test : test end to end response time ; holistic jitter propagation to compute response time with no task/processor cycle. Computation completes well ----------------------------------------------------------------- File : test_jitter2.xmlv3 Test : test end to end response time ; holistic jitter propagation to compute response time with task/processor cycle. Computation stopped on missed deadlines ----------------------------------------------------------------- File : test_jitter3.xmlv3 Test : test end to end response time ; holistic jitter propagation to compute response time with no task/processor cycle. Computation not started because tasks have different periods ----------------------------------------------------------------- File : test_jitter4.xmlv3 Test : test end to end response time ; holistic jitter propagation to compute response time with task/processor cycle. Computation not started because some tasks are aperiodic ----------------------------------------------------------------- TESTS ON CHETTO/BLAZEWICZ updates ----------------------------------------------------------------- File : test_chetto1.xmlv3 Test : test deadline modification by chetto/blazewicz rules with aperiodic tasks. To run this test, first schedule without deadline modification, notice that a task "g" is run too early. Then call deadline modification and notice that the "g" task is then run correctly ----------------------------------------------------------------- File : test_chetto2.xmlv3 Test : test priority modification by chetto/blazewicz rules with periodic tasks. To run this test, first schedule without priority modification, notice that a task "g" is run too early. Then call priority modification and notice that the "g" task is then run correctly Tasks are periodics. ----------------------------------------------------------------- File : test_chetto3.xmlv3 Test : another example of periodic task with deadline modification ----------------------------------------------------------------- File : test_chetto4.xmlv3 Test : check if we can detect a dependence cycle ... not allowed with cheddar ----------------------------------------------------------------- File : test_chetto5.xmlv3 Test : check if we can detect different periods ... not allowed with cheddar ----------------------------------------------------------------- File : test_parametric0.xmlv3 Test : Test a simple scheduler (EDF scheduler) ----------------------------------------------------------------- File : test_parametric1.xmlv3 Test : Tests user defined task parameters ----------------------------------------------------------------- File : test_parametric2.xmlv3 Test : Tests for loops (EDF scheduler equal to the one defined in test_parametric0.xmlv3) ----------------------------------------------------------------- File : test_parametric3.xmlv3 Test : Tests while loop ----------------------------------------------------------------- File : test_parametric4.xmlv3 Test : Tests if statement ----------------------------------------------------------------- File : test_parametric5.xmlv3 Test : Tests a non vectorial HPF parametric scheduler : the two processors should compute the same scheduling (HPF schedulers designed by the files hpf1.sc and hpf2.sc) ---------------------------------------------------------------------- File : test_parametric6.xmlv3 Test : Tests parametric task activation model. In this example, activation rules provide static values ----------------------------------------------------------------- File : test_parametric7.xmlv3 Test : Gives an example of bursty activation task rule ----------------------------------------------------------------- File : test_parametric8.xmlv3 Test : Gives an example of a system composed of several parametric schedulers/processors with task user defined parameters. Warning : this example requires to be able to define 12 user defined parameters (check config/framework_config.ads) ----------------------------------------------------------------- File : test_parametric9.xmlv3 Test : Shows the values of the main parametric variables ----------------------------------------------------------------- File : test_parametric10.xmlv3 Test : Shows how the framework catch Ada exception and : displays the number of line of the sc file : which is buggy ----------------------------------------------------------------- File : test_parametric11.xmlv3 Test : tests all the way we can use the "Put" statement : in a .sc file ----------------------------------------------------------------- File : test_parametric12.xmlv3 Test : test the uniform random generator statement : in a .sc file ----------------------------------------------------------------- File : test_parametric13.xmlv3 Test : test the management of tasks.capacity, tasks.used_capacity, : tasks.rest_of_capacity and tasks.used_cpu ----------------------------------------------------------------- File : test_parametric14.xmlv3 Test : test the "exit" statement. This statement simply stops : the simulation ----------------------------------------------------------------- File : test_parametric15.xmlv3 Test : test the random generator with laplace-gauss distribution : law ----------------------------------------------------------------- File : test_parametric16.xmlv3 Test : test how a .sc file can change some standard tasks/processors/... : variables (eg. tasks.deadline) ----------------------------------------------------------------- File : test_event_handler1.xmlv3 Processors : param1 Test : Gives examples of some simple event analyzers ----------------------------------------------------------------- ----------------------------------------------------------------- File : test_partition1.xmlv3 Test : Test Rate Monotonic Small task partition rule ----------------------------------------------------------------- File : test_partition2.xmlv3 Test : Check that all tasks are periodic to be able to run partition rule ----------------------------------------------------------------- File : test_partition3.xmlv3 Test : Check that all processors are Rate Monotonic to be able to run partition rule ----------------------------------------------------------------- File : test_partition4.xmlv3 Test : It's an example of First/Next fit which can not find a schedulable solution ----------------------------------------------------------------- File : test_partition5.xmlv3 Test : Task set which is schedulable by Best Fit, First Fit, Small Task and General Task with three processors. Next Fit needs four processors. ----------------------------------------------------------------- File : test_partition6.xmlv3 Test : Small Task needs four processors. Best Fit, First Fit and General Task need six processors. Next Fit needs 7 processors ----------------------------------------------------------------- File : test_partition7.xmlv3 Test : Utilization for one task is over 100 percent. Not schedulable ----------------------------------------------------------------- ----------------------------------------------------------------- File : auto1.xmlv3 and auto1.sc Test : Test the automaton parser and the ability to give a name to a section ----------------------------------------------------------------- File : auto2.xmlv3 and auto2.sc Test : Test the parsing of the "clock" type ----------------------------------------------------------------- File : auto3.xmlv3 and auto3.sc Test : Test if we can run a priority section and an election section with an automaton ----------------------------------------------------------------- File : auto4.xmlv3 and auto4.sc Test : Test the behavior of the delay statement into an automaton ----------------------------------------------------------------- File : auto5.xmlv3 and auto5.sc Test : Test the behavior of guards without clock into an automaton ----------------------------------------------------------------- File : auto6.xmlv3 and auto6.sc Test : Test an automaton with automaton rendez-vous ----------------------------------------------------------------- File : auto7.xmlv3 and auto7.sc Test : Test the behavior of guards with clock into an automaton ----------------------------------------------------------------- File : auto8.xmlv3 and auto8.sc Test : Test if we can select a set of task to run election according to the automaton name associated to the processor or the address space (required for hierarchical schedulers) ----------------------------------------------------------------- TESTS WITH LARGE TASK SETS ----------------------------------------------------------------- File : task100.xmlv3 Test : Set of 100 tasks, with one processor and with a very large period LCM ----------------------------------------------------------------- File : task200.xmlv3 Test : Set of 200 tasks, with several processors and with a very large period LCM ----------------------------------------------------------------- ----------------------------------------------------------------- File : test_simple.sc Test : Test parsing of simple declarations of parametric scheduler ----------------------------------------------------------------- File : test_if.sc and text_if.xmlv3 Test : Test the if/then/else statement and especially if we can support more than 3 nested if/then/else ----------------------------------------------------------------- File : test_loops.sc Test : Test parsing of loop statements. ----------------------------------------------------------------- File : activations.sc Test : Test parsing of set statements. ----------------------------------------------------------------- ----------------------------------------------------------------- File : stood1.aadl Test : This file test the interoperability of stood and cheddar. ----------------------------------------------------------------- TEST ON HIERARCHICAL SCHEDULING ----------------------------------------------------------------- File : text_hierarchical_cyclic1.xmlv3 Test : Test of hierarchical scheduling using address space scheduler quantums => simply call each address space sequentially for a duration equal to its address space quantum ----------------------------------------------------------------- File : text_hierarchical_round_robin.xmlv3 Test : Test of cyclic hierarchical scheduling => simply call each address space sequentially for one unit of time ----------------------------------------------------------------- File : test_hierarchical_offline1.xmlv3 test_hierarchical_offline2.xmlv3 test_hierarchical_offline3.xmlv3 Test : Test an offline scheduling similar to ARINC 653 scheduling (with an offline address space scheduling table) ----------------------------------------------------------------- TEST ON MEMORY ANALYSIS SERVICE ----------------------------------------------------------------- File : text_memory_footprint_analysis.xmlv3 Test : test if we can compute and update the memory footprint of an address space ----------------------------------------------------------------- TESTS ON TIME SHARING schedulers ----------------------------------------------------------------- File : test_time_sharing_based_on_cpu_usage1.xmlv3 test_time_sharing_based_on_wait_time1.xmlv3 Test : test scheduling simulation with time sharing schedulers ----------------------------------------------------------------- TESTS ON DBF ----------------------------------------------------------------- File : test_dbf1.xlmv3 test_dbf2.xmlv3 test_dbf3.xmlv3 test_dbf4.xmlv3 test_dbf5.xmlv3 test_dbf6.xmlv3 test_dbf7.xmlv3 Test : test of the dbf based feasibility test -----------------------------------------------------------------