\documentclass[a4paper,11pt]{paper}

\usepackage{t1enc}
\usepackage{color}
\usepackage{vmargin}
\usepackage{array}
\usepackage{minitoc}
\usepackage{ifthen}
\usepackage{calc}

%\setmarginsrb{2cm}{2cm}{2cm}{1.5cm}{0cm}{0cm}{0cm}{0cm}

\setcounter{tocdepth}{3}

\newcolumntype{a}{p{8cm}}
\newcolumntype{t}{p{6cm}}
\newcolumntype{d}{p{3cm}}
\newcolumntype{e}{p{11cm}}

%%% New commands
\newcommand{\mysection}[1]{\textcolor{blue}{\section{\textcolor{blue}{#1}}}}
\newcommand{\mysubsection}[1]{\textcolor{blue}{\subsection{#1}}}
%\newcommand{\mysection}[1]{\section{#1}}
%\newcommand{\mysubsection}[1]{\subsection{#1}}

\newcommand{\TBD}{\textcolor{red}{To Be Done}}
\definecolor{gray25}{gray}{0.25}
\newcommand{\mycit}[1]{\textcolor{gray25}{\textit{#1}}}

\newcommand{\mytestresult}[1]
{
  \stepcounter{testTotal}
  \ifthenelse{\equal{#1}{OK}}{\stepcounter{testOKTotal} \textbf{\textcolor{green}{OK}}}{}
  \ifthenelse{\equal{#1}{KO}}{\stepcounter{testKOTotal} \textbf{\textcolor{red}{KO}}}{}
  \ifthenelse{\equal{#1}{NA}}{\stepcounter{testNATotal} \textbf{NA}}{}
  \ifthenelse{\equal{#1}{ND}}{\stepcounter{testNDTotal} \textbf{Not Done}}{}
}

\newcommand{\mytabulartestresult}[2]
{
\begin{center}
\begin{tabular}{|d|e|} 
\hline
\textbf{Results} : & \mytestresult{#1}
\\ \hline
\textbf{Observations} : &
#2
\\ \hline
\end{tabular}
\end{center}
}

\include{April2008Report}
%\include{DefaultReport}

\begin{document}

% new counter definition for test statistics
\newcounter{testTotal}
\newcounter{testOKTotal}
\newcounter{testKOTotal}
\newcounter{testNATotal}
\newcounter{testNDTotal}

\newcounter{OKTotalOnTotal}
\newcounter{KOTotalOnTotal}
\newcounter{NATotalOnTotal}
\newcounter{NDTotalOnTotal}

\title{Cheddar Tests}
\author{F. Singhoff, J. Legrand}


% Remove command to get current date 
\date{}

\maketitle

\newpage

\dosecttoc

\tableofcontents

\newpage

\mysection{Task scheduling}

\secttoc
\newpage

\mysubsection{Test 0 : processors without tasks}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_periodic0.xml} Cheddar project.
& Cheddar contains 6 preemptive processors (edf0, llf0, rm0, dm0, hpf0 and dummy) sand 1 task. \\
\hline
Click on \mycit{scheduling simulation} and "scheduling feasibility" toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check these results correspond to the results from \mycit{test\_periodic0.jpg} file.
& Results should be equivalent. \\
\hline
\end{tabular}
\end{center}

\testtaska

\mysubsection{Test 1 : preemptive processors with periodic tasks}

The task sets defined in these tests use various parameter values for start time, deadline, 
capacity, period, priority, policy, ...

\bigskip

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_periodic1.xml} Cheddar project.
& Cheddar contains 5 preemptive processors (\mycit{edf1}, \mycit{llf1}, 
\mycit{rm1}, \mycit{dm1} and \mycit{hpf1}) and 10 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check these results correspond to the results from \mycit{test\_periodic1-1.jpg}, 
\mycit{test\_periodic1-2.jpg}, \mycit{test\_periodic1-3.jpg}, \mycit{test\_periodic1-4.jpg} 
and \mycit{test\_periodic1-5.jpg} files.
& Results should be equivalent (for \mycit{rm1}, in harmonic task set case, processor utilization bound is 1). \\
\hline
\end{tabular}
\end{center}

\testtaskb

\mysubsection{Test 2 : non-preemptive processors with periodic tasks}

Equivalent to previously test with non-preemptive schedulers.

\bigskip
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_periodic2.xml} Cheddar project.
& Cheddar contains 5 non-preemptive processors (\mycit{edf2}, \mycit{llf2}, 
\mycit{rm2}, \mycit{dm2} and \mycit{hpf2}) and 10 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testtaskc

\mysubsection{Test 3 : HPF scheduling with a non null quantum}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_periodic3.xml} Cheddar project.
& Cheddar contains 1 preemptive processor (\mycit{hpf3}) and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testtaskd

\mysubsection{Test 4 : POSIX scheduling policies (SCHED\_FIFO, RR or OTHERS)}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_periodic4.xml} Cheddar project.
& Cheddar contains 1 preemptive processor (\mycit{hpf4}) and 8 tasks (2 periodic and 6 aperiodic tasks). \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testtaske

\mysubsection{Test 5 : utilization factor test in non preemptive case}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_non\_preemptive\_utilization\_factor\-.xml} Cheddar project.
& Cheddar contains 6 processors and 18 tasks. \\
\hline
Click \mycit{scheduling feasibility} toolbar button.
& Results appear on the Cheddar window result part. \\
\hline
Check utilization factor. & \\
\hline
\end{tabular}
\end{center}

\testtaskf

\mysubsection{Test 6 : utilization factor test in preemptive case}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_preemptive\_utilization\_factor.xml} Cheddar project.
& Cheddar contains 6 preemptive processors and 16 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testtaskg


\mysubsection{Test 7 : base period computation with non 0 start time task}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_periodic\_with\_start\_time.xml} Cheddar project.
& Cheddar contains 1 processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check the base period is equal to 590. & \\
\hline
\end{tabular}
\end{center}

\testtaskh

\mysubsection{Test 9 : DM an RM processors with aperiodic tasks}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_aperiodic0.xml} Cheddar project.
& Cheddar contains 2 processors and 2 aperiodic tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check the results. & Exception raised for \mycit{rm0}. \\
\hline
\end{tabular}
\end{center}

\testtaskj


\mysubsection{Test 10 : HPF, LLF  and EDF with aperiodic and periodic tasks}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_aperiodic1.xml} Cheddar project.
& Cheddar contains 3 preemptive processors (\mycit{hpf1}, \mycit{edf1} and 
\mycit{llf1}) and 9 aperiodic/periodic tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check the results. & For feasibility tests exception are raised.\\
\hline
\end{tabular}
\end{center}

\testtaskk

\mysubsection{Test 11 : bound on task response time with non preemptive RM processor}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_non\_preemptive\_rate\_monotonic\_\-worst\_case\_task\_response\_time.xml} Cheddar project.
& Cheddar contains 1 non preemptive processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check bound on task response time and textual message associated (file 
\mycit{test\_non\_preemptive\_rate\_monotonic\_worst\_\-case\_task\_response\_time.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testtaskl


\mysubsection{Test 12 : bound on task response time with preemptive RM processor}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_preemptive\_rate\_monotonic\_worst\_\-case\_task\_response\_time.xml} Cheddar project.
& Cheddar contains 1 preemptive processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check bound on task response time and textual message associated (file 
\mycit{test\_preemptive\_rate\_monotonic\_worst\_case\_\-task\_response\_time.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testtaskm

\mysubsection{Test 13 : check activations with sporadic tasks}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_sporadic.xml} Cheddar project.
& Cheddar contains 1 preemptive processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check is task activations are correctly computed. & \\
\hline
\end{tabular}
\end{center}

\testtaskn

\mysubsection{Test 14 : check activations with poisson tasks}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_poisson\_process.xml} Cheddar project.
& Cheddar contains 1 preemptive processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check is task activations are correctly computed. & \\
\hline
\end{tabular}
\end{center}

\testtasko

\newpage
\mysection{Message scheduling}

\secttoc
\newpage

\mysubsection{Test 1 : message scheduling alone}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_message1.xml} Cheddar project.
& Cheddar contains 2 processors, 2 tasks and 1 message. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testmessagea

\mysubsection{Test 2 : message scheduling with other dependencies (eg. buffer)}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_message2.xml} Cheddar project.
& Cheddar contains 2 processors, 5 tasks, 2 messages and 1 buffer. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testmessageb

\newpage
\mysection{Resource scheduling}

\secttoc
\newpage

\mysubsection{Test 1 : no resource protocol and EDF}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource1.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Resource $\rightarrow$ Bound on blocking time $\rightarrow$ Compute and Display}.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testresourcea

\mysubsection{Test 2 : no resource protocol and RM}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource2.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Resource $\rightarrow$ Bound on blocking time $\rightarrow$ Compute and Display}.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & \\
\hline
\end{tabular}
\end{center}

\testresourceb

\mysubsection{Test 3 : PIP resource protocol and RM}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource3.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Resource $\rightarrow$ Bound on blocking time $\rightarrow$ Compute and Display}.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & 2 for \mycit{$T_1$} and 0 for \mycit{$T_2$}.\\
\hline
\end{tabular}
\end{center}

\testresourcec

\mysubsection{Test 4 : PCP resource protocol and RM}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource4.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Resource $\rightarrow$ Bound on blocking time $\rightarrow$ Compute and Display}.
& Results appear on the Cheddar window result part. \\
\hline
Check results. & 2 for \mycit{$T_1$} and 0 for \mycit{$T_2$}.\\
\hline
\end{tabular}
\end{center}

\testresourced

\mysubsection{Test 5 : priority inversion with no resource protocol}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource5.xml} Cheddar project.
& Cheddar contains 1 processor, 3 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Resource $\rightarrow$ Looking for priority inversion from simulation}.
& Results appear on the Cheddar window result part. \\
\hline
Check results (file \mycit{test\_resource5.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testresourcee

\mysubsection{Test 6 : deadlock}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource6.xml} Cheddar project.
& Cheddar contains 1 processor, 3 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Resource $\rightarrow$ Looking for deadlock from simulation}.
& Results appear on the Cheddar window result part. \\
\hline
Check no deadlock is found (file \mycit{test\_resource6.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testresourcef

\mysubsection{Test 7 : PIP scheduling}

This example is extracted from the Jane Liu's book (chapter 8, figure 8.8).


\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource7.xml} Cheddar project.
& Cheddar contains 1 processor, 5 tasks and 2 resources. \\
\hline
Click on \mycit{scheduling simulation} toolbar button.
& Results appear on the Cheddar window result part. \\
\hline
Check scheduling (file \mycit{test\_resource7.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testresourceg

\mysubsection{Test 8 : PCP scheduling}

This example is extracted from the Jane Liu's book (chapter 8, figure 8.10).


\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_resource8.xml} Cheddar project.
& Cheddar contains 1 processor, 5 tasks and 2 resources. \\
\hline
Click on \mycit{scheduling simulation} toolbar button.
& Results appear on the Cheddar window result part. \\
\hline
Check scheduling (file \mycit{test\_resource8.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testresourceh

\mysubsection{Test 9 : IPCP scheduling}
            
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_ipcp1.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 1 resource. \\
\hline
Click on \mycit{scheduling simulation} toolbar button (10 time units simulation).
& Results appear on the Cheddar window result part. \\
\hline
Check scheduling (file \mycit{test\_ipcp1.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testresourcei

\mysubsection{Test 10 : IPCP scheduling and deadlock}
            
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_ipcp2.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 3 resources. \\
\hline
Click on \mycit{scheduling simulation} toolbar button (15 time units simulation).
& Results appear on the Cheddar window result part. \\
\hline
Check scheduling (file \mycit{test\_ipcp2.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testresourcej

\newpage
\mysection{Statistic tools}

\secttoc
\newpage

\mysubsection{Test 1 : response time distribution service (RM scheduler/periodic tasks)}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_random.xml} Cheddar project.
& Cheddar contains 1 processor, 2 tasks and 3 resources. \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Random $\rightarrow$ Compute response time density}.
& Results appear on Cheddar window. \\
\hline
Check scheduling and density results (file \mycit{test\_random.jpg}). & \\
\hline
\end{tabular}
\end{center}

\teststatistica


\newpage
\mysection{Buffer}

\secttoc
\newpage

\mysubsection{Test 1 : buffer feasibility tests}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_buffer1.xml} Cheddar project.
& Cheddar contains 1 processor, 5 tasks and 9 buffers (\mycit{P/P/1}, 
\mycit{M/P/1}, \mycit{M/M/1}, \mycit{M/D/1}, \mycit{M/G/1} and \mycit{M/G/s}). \\
\hline
Click on \mycit{scheduling simulation} toolbar button and on
\mycit{Tools $\rightarrow$ Buffer $\rightarrow$ Buffer analysis with feasibility tests}.
& Results appear on Cheddar window. \\
\hline
Check feasibility tests results (files \mycit{test\_buffer1-1.jpg} and \mycit{test\_buffer1-2.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testbuffera


\mysubsection{Test 2 : buffer simulation tools}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_buffer2.xml} Cheddar project.
& Cheddar contains 1 processor, 3 tasks and 2 buffers (\mycit{P/P/1} and \mycit{M/M/1}). \\
\hline
Click on \mycit{scheduling simulation} toolbar button, on
\mycit{Tools $\rightarrow$ Buffer $\rightarrow$ Buffer analysis with feasibility tests}
and on \mycit{Tools $\rightarrow$ Buffer $\rightarrow$ Buffer analysis from scheduling simulation}.
& Results appear on Cheddar window. \\
\hline
Check feasibility tests results (file \mycit{test\_buffer2.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testbufferb

\newpage
\mysection{End to end response time with jitter}

\secttoc
\newpage

\mysubsection{Test 1 : holistic jitter propagation with no task/processor cycle}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_jitter1.xml} Cheddar project.
& Cheddar contains 2 processors, 4 tasks and precedences 
(\mycit{$T_4 \rightarrow T_2$} and \mycit{$T_1 \rightarrow T_3$}). \\
\hline
Click on \mycit{scheduling simulation} toolbar button, on
\mycit{Tools $\rightarrow$ Precedences $\rightarrow$ End to end response time $\rightarrow$ Compute and Display}.
& Results appear on Cheddar window. \\
\hline
Check end to end response time (file \mycit{test\_jitter1.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testendtoenda

\bigskip

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_jitter3.xml} Cheddar project.
& Cheddar contains 2 processors, 5 tasks and precedences 
(\mycit{$T_5 \rightarrow T_4 \rightarrow T_2$} and \mycit{$T_1 \rightarrow T_3$}). \\
\hline
Click on \mycit{scheduling simulation} toolbar button, on
\mycit{Tools $\rightarrow$ Precedences $\rightarrow$ End to end response time $\rightarrow$ Compute and Display}.
& Results appear on Cheddar window. \\
\hline
Check end to end response time computation is not started because of period control. & \\
\hline
\end{tabular}
\end{center}

\testendtoendb

\mysubsection{Test 2 : holistic jitter propagation with task/processor cycle}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_jitter2.xml} Cheddar project.
& Cheddar contains 2 processors, 5 tasks and precedences 
(\mycit{$T_5 \rightarrow T_4 \rightarrow T_2$} and \mycit{$T_1 \rightarrow T_3$}). \\
\hline
Click on \mycit{scheduling simulation} toolbar button, on
\mycit{Tools $\rightarrow$ Precedences $\rightarrow$ End to end response time $\rightarrow$ Compute and Display}.
& Results appear on Cheddar window. \\
\hline
Check end to end response time (files \mycit{test\_jitter2-1.jpg} and 
\mycit{test\_jitter2-2.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testendtoendc

\bigskip

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_jitter4.xml} Cheddar project.
& Cheddar contains 2 processors, 5 tasks and precedences 
(\mycit{$T_5 \rightarrow T_4 \rightarrow T_2$} and \mycit{$T_1 \rightarrow T_3$}). \\
\hline
Click on \mycit{scheduling simulation} toolbar button, on
\mycit{Tools $\rightarrow$ Precedences $\rightarrow$ End to end response time $\rightarrow$ Compute and Display}.
& Results appear on Cheddar window. \\
\hline
Check end to end response time (files \mycit{test\_jitter4-1.jpg} and 
\mycit{test\_jitter4-2.jpg}). & \\
\hline
\end{tabular}
\end{center}

\testendtoendd


\newpage
\mysection{Dependencies}

\secttoc
\newpage

\mysubsection{Test 1 : periodic tasks priority modification by chetto/blazewicz rules}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_dependencies1.xml} Cheddar project.
& Cheddar contains 1 processor, 8 tasks and dependences. \\
\hline
In scheduling option (\mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Options}), 
check \mycit{precedences} (scheduling according to). &\\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check task \mycit{g} is run before task \mycit{e}. & \\
\hline
Click on \mycit{Tools $\rightarrow$ Precedences $\rightarrow$ Chetto/Blazewicz modifications on priorities 
$\rightarrow$ Compute and Update tasks}. & \\
\hline
Click on \mycit{scheduling simulation} toolbar button again. &\\
\hline
Check task \mycit{g} is run correctly & \\
\hline
\end{tabular}
\end{center}

\testdependencyc

\mysubsection{Test 2 : precedences taken into account in periodic tasks scheduling simulation}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_dependencies1.xml} Cheddar project.
& Cheddar contains 1 processor, 8 tasks and dependences. \\
\hline
In scheduling option (\mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Options}), 
check \mycit{precedences} (scheduling according to). &\\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check all tasks respect precedences (even \mycit{g}). & \\
\hline
\end{tabular}
\end{center}

\testdependencyd


\mysubsection{Test 3 : aperiodic tasks deadline modification by \mycit{chetto/blazewicz} rules}
              
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_dependencies2.xml} Cheddar project.
& Cheddar contains 1 processor, 8 tasks and dependences. \\
\hline
In scheduling option (\mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Options}), 
uncheck \mycit{precedences} (scheduling according to). & \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check task \mycit{g} is run before task \mycit{e}. & \\
\hline
Click on \mycit{Tools $\rightarrow$ Precedences $\rightarrow$ Chetto/Blazewicz modifications on deadlines 
$\rightarrow$ Compute and Update tasks}. &\\
\hline
Click on \mycit{scheduling simulation} toolbar button again. & \\
\hline
Check task \mycit{g} is run correctly. & \\
\hline
\end{tabular}
\end{center}

\testdependencya

\mysubsection{Test 4 : precedences taken into account in aperiodic tasks scheduling simulation}
              
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_dependencies2.xml} Cheddar project.
& Cheddar contains 1 processor, 8 tasks and dependences. \\
\hline
In scheduling option (\mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Options}), 
check \mycit{precedences} (scheduling according to). &\\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check all tasks respect precedences (even \mycit{g}). & \\
\hline
\end{tabular}
\end{center}

\testdependencyb


\newpage
\mysection{Precedences Graph}

\secttoc
\newpage

\mysubsection{Test 1 : launched \mycit{precedences graph} dialog box}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Click on \mycit{precedences graph} toolbar button. 
& A message box appears to tell the user to create an address space. \\
\hline
Open \mycit{1proc1as.xml} Cheddar project.
& Cheddar contains 1 processor and 1 address space. \\
\hline
Click again on \mycit{precedences graph} toolbar button.
& \mycit{precedences graph} dialog box appears. \\
\hline
\end{tabular}
\end{center}

\testprecedencegrapha

\mysubsection{Test 2 : component creation}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{1proc1as.xml} Cheddar project. 
& Cheddar contains 1 processor and 1 address space. \\ 
\hline
Click on the \mycit{precedences graph} toolbar button. & 
\mycit{precedences graph} dialog box opens.\\ 
\hline
Select \mycit{Create} in the \mycit{precedences graph} combo box and click 
on \mycit{task} radio button. & \\
\hline
Click on \mycit{precedences graph} canvas background. 
& 
A \mycit{New item} dialog box opens.
\\ \hline
Click on \mycit{New item} dialog box \mycit{ok} button. & 
The task \mycit{add/update} dialog box appears. \\
\hline
Fill mandatory fields and click on \mycit{add/update} dialog box \mycit{add} button. 
& A task has been created/added. \\
\hline
Click on \mycit{add/update} dialog box \mycit{close} button.
& A graphical representation of the task appears on \mycit{dependences graph} canvas with the correct name. \\
\hline 
Do the same test with message and buffer. 
& In buffer case, a warning message box appears telling the user to create a task if no one exists. 
So, create a task and then try to create a buffer.\\
\hline
\end{tabular}
\end{center}

\testprecedencegraphb

\mysubsection{Test 3 : cancel component creation}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{1proc1as1ta.xml} Cheddar project. 
& Cheddar contains 1 processor and 1 task. \\ 
\hline
Click on the \mycit{precedences graph} toolbar button. & 
\mycit{precedences graph} dialog box opens.\\ 
\hline
Select \mycit{Create} in the \mycit{precedences graph} combo box and click 
on \mycit{task} radio button. & \\
\hline
Click on \mycit{precedences graph} canvas background. 
& 
A \mycit{New item} dialog box opens.
% and a drawing of the task appears on "dependences graph" canvas.
\\ \hline
Click on \mycit{New item} dialog box \mycit{cancel} button. 
& No task is created and no graphical representation appears. \\
\hline
Click again on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears.\\
\hline
Click on \mycit{New item} dialog box \mycit{ok} button. & 
The task \mycit{add/update} dialog box appears. \\
\hline
Click on \mycit{add/update} dialog box \mycit{close} button. 
& No task has been created and no graphical representation appears. \\
\hline
Click again on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears.\\
\hline
Click on \mycit{New item} dialog box \mycit{ok} button. & The task \mycit{add/update} dialog box appears. \\
\hline
Create a task and click on \mycit{add/update} dialog box \mycit{cancel} button. 
& The task creation has been cancel and no graphical representation appears. \\
\hline
Do the same test with \mycit{message} and \mycit{buffer}. &\\
\hline
\end{tabular}
\end{center}

\testprecedencegraphc

\mysubsection{Test 4 : delete graphical representation components}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{1proc1as199ta4me29bu.xml} Cheddar project. 
& Cheddar contains 1 processor, 199 tasks, 4 messages and 29 buffers. \\ 
\hline
Click on the \mycit{precedences graph} toolbar button. & 
\mycit{precedences graph} dialog box opens.\\ 
\hline
Select \mycit{Create} in the \mycit{precedences graph} combo box and click on \mycit{task} radio button. & \\
\hline
Click on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears. 
In the task list, one shall have the 199 task names and the \mycit{new} label.\\
%\hline
%Click on "New item" dialog box "ok" button. & The task "add/update" dialog box appears. \\
\hline
Select a task in the \mycit{New item} combo box and click on \mycit{New item} 
dialog box \mycit{ok} button.
& The corresponding graphical representation appears on the canvas. \\
\hline
Create another task graphical representation with another existing task.
& The corresponding graphical representation appears on the canvas. \\
\hline
Select \mycit{Delete} in the \mycit{precedences graph} combo box 
and click on \mycit{task} radio button, if it is not already done. & \\
\hline
Click on one of the graphical component. 
& The corresponding representation disappears. \\
\hline
Click on \mycit{precedences graph} canvas background. 
& In the "New item" dialog box task list, the previous deleted graphical component shall appear. \\ 
\hline
Do the same test with message and buffer. & \\
\hline
\end{tabular}
\end{center}

\testprecedencegraphd

\mysubsection{Test 5 : delete components}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{1proc1as199ta4me29bu.xml} Cheddar project. 
& Cheddar contains 1 processor, 199 tasks, 4 messages and 29 buffers. \\ 
\hline
Click on the \mycit{precedences graph} toolbar button. & 
\mycit{precedences graph} dialog box opens.\\ 
\hline
Select \mycit{Create} in the \mycit{precedences graph} combo box and 
click on \mycit{task} radio button. & \\
\hline
Click on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears. 
In the tasks list, one shall have the 199 task names and the \mycit{new} label.\\
\hline
Select a task in the \mycit{New item} combo box and click on \mycit{New item} dialog box \mycit{ok} button.
& The corresponding graphical representation appears on the canvas. \\
\hline
Create another task graphical representation with another existing task.
& The corresponding graphical representation appears on the canvas. \\
\hline
Click on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears. \\ 
\hline
Click on \mycit{New item} dialog box \mycit{ok} button. & 
The task \mycit{add/update} dialog box appears. \\
\hline
In the task \mycit{add/update} dialog box, 
select one of the corresponding task chosen for creating the graphical components.
Click on \mycit{delete} button and then, on \mycit{close} button.
& The graphical components disappears and in the \mycit{New item} dialog box task list, 
the previous deleted component shall not appear. \\
\hline
Do the same test with message and buffer. & \\
\hline
\end{tabular}
\end{center}

\testprecedencegraphe

\mysubsection{Test 6 : \mycit{New Item} modal dialog box}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{1proc1as1ta.xml} Cheddar project. 
& Cheddar contains 1 processor and 1 task. \\ 
\hline
Click on the \mycit{precedences graph} toolbar button. & 
\mycit{precedences graph} dialog box opens.\\ 
\hline
Select \mycit{Create} in the \mycit{precedences graph} combo box and click on \mycit{task} radio button. & \\
\hline
Click on \mycit{precedences graph} canvas background. & 
A \mycit{New item} dialog box appears.\\
\hline
Click again on background. & No new \mycit{New item} dialog box appears. \\
\hline
Do the same test with message and buffer. &\\
\hline
\end{tabular}
\end{center}

\testprecedencegraphf

\mysubsection{Test 7 : limit graphical components creation}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{1proc1as199ta4me29bu.xml} Cheddar project. 
& Cheddar contains 1 processor, 199 tasks, 4 messages and 29 buffers. \\ 
\hline
Click on the \mycit{precedences graph} toolbar button. & 
\mycit{precedences graph} dialog box opens.\\ 
\hline
Select \mycit{Create} in the \mycit{precedences graph} combo box 
and click on \mycit{task} radio button. & \\
\hline
Click on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears. 
In the task list, one shall have the 199 task names and the \mycit{new} label (task limit creation is 200).\\
\hline
Click on \mycit{New item} dialog box \mycit{ok} button. & 
The task \mycit{add/update} dialog box appears. \\
\hline
Fill mandatory fields and click on \mycit{add/update} dialog box \mycit{add} button. 
& A $200^{th}$ task is created and the task graphical representation appears with the correct name. \\
\hline
Click on \mycit{precedences graph} canvas background. 
& A \mycit{New item} dialog box appears. 
In the task list, one shall have the 200 task names and no \mycit{new} label.\\
\hline
Create all 200 tasks (could be long) and try to create a $201^{th}$ one.
& A warning message box appears telling the user is not possible to create another task. \\
\hline
Do the same test with message and buffer. & Limit message creation is 5 and limit buffer creation is 30.\\
\hline
\end{tabular}
\end{center}

\testprecedencegraphg


\newpage
\mysection{Parametric}

\secttoc
\newpage

\mysubsection{Test 0 : simple scheduler (EDF scheduler)}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric0.xml} Cheddar project.
& Cheddar contains 1 processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check scheduling (priority information appears on the result window). & \\
\hline
\end{tabular}
\end{center}

\testparametrica

\mysubsection{Test 1 : user defined task parameters}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric1.xml} Cheddar project.
& Cheddar contains 1 processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check scheduling (a user defined task parameter has been added : importance. 
\mycit{$T_3$} is more important than \mycit{$T_2$} which is more important than \mycit{$T_1$}). & \\
\hline
\end{tabular}
\end{center}

\testparametricb

\mysubsection{Test 2 : \mycit{for} loops (EDF scheduler)}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric2.xml} Cheddar project.
& Cheddar contains 1 processor and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check scheduling (priority information appears on the result window). & \\
\hline
\end{tabular}
\end{center}

\testparametricc

\mysubsection{Test 3 : \mycit{while} loop}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric3.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check there is as much \mycit{while} loop (0 to 4 sequence) as simulation time unit (10). & \\
\hline
\end{tabular}
\end{center}

\testparametricd

\mysubsection{Test 4 : \mycit{if} statement}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric4.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check the following number sequence : 0 10 1 20 2 10 3 20 4 10 5 20 6 10 7 20 8 10 9 20. & \\
\hline
\end{tabular}
\end{center}

\testparametrice

\mysubsection{Test 5 : non vectorial HPF parametric scheduler}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric5.xml} Cheddar project.
& Cheddar contains 2 processors and 6 tasks. 
\\ \hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check \mycit{$HPF_1$} and \mycit{$HPF_2$} has the same scheduling.
\mycit{$HPF_3$} shall have "inversed" simulation (task with lower value priority are
executed first)  & \\
\hline
\end{tabular}
\end{center}

\testparametricf

\mysubsection{Test 6 : parametric task activation model}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric6.xml} Cheddar project.
& Cheddar contains 1 processor and 8 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check task activations (see \mycit{activation.sc}). & \\
\hline
\end{tabular}
\end{center}

\testparametricg

\mysubsection{Test 8 : parametric schedulers/processors and user defined task parameters}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric8.xml} Cheddar project.
& Cheddar contains 4 processors, 12 tasks and dependencies. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check scheduling is run without error. & \\
\hline
\end{tabular}
\end{center}

\testparametrici

\mysubsection{Test 9 : parametric schedulers/processors and user defined task parameters}
    
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric9.xml} Cheddar project.
& Cheddar contains 2 processors and 3 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check for each processor the following sequence is displayed as much as simulation unit of time : 

\begin{itemize}
\item tasks number, 
\item processors number, 
\item address spaces number, 
\item resources number, 
\item buffers number, 
\item simulation time, 
\item simulation length, 
\item tasks number and
\item tasks number. 
\end{itemize}

Default : 

\begin{itemize}
\item processor \mycit{nnn} : 2, 2, 2, 0, 0, x, 10, 2, 2.
\item processor \mycit{ppp} : 1, 2, 2, 0, 0, x, 10, 1, 1.
\end{itemize}
$x \in [0, simulation length[$). 
& \\ \hline
\end{tabular}
\end{center}

\testparametricj


\mysubsection{Test 10 : interaction between framework Ada exception and *.sc file}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric10.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check a simulation error appears on Cheddar result window. & Error : \mycit{Statement error, line 20, processor jjj...}. \\
\hline
\end{tabular}
\end{center}

\testparametrick

\mysubsection{Test 11 : \mycit{Put} statement}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric11.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check the following information appears on Cheddar result window for each simulation unit of time :
see \mycit{test\_parametric11.jpg}. & \\
\hline
\end{tabular}
\end{center}

\testparametricl

\mysubsection{Test 12 : uniform random generator statement}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric12.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button (make a 1500 unit of time simulation). &\\
\hline
Check a 10 number sequence is displayed and check the distribution is uniform from
the $4^{th}$ to the $9^{th}$ number. & \\
\hline
\end{tabular}
\end{center}

\testparametricm

\mysubsection{Test 13 : tasks management}

\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric13.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check the following information appears for each simulation unit of time : 
\begin{itemize}
\item tasks capacity, 
\item tasks activation number, 
\item tasks rest of capacity, 
\item tasks used capacity and
\item tasks used processor.
\end{itemize}
& \\
\hline
\end{tabular}
\end{center}

\testparametricn

\mysubsection{Test 14 : \mycit{exit} statement}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric14.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check a warning message appears on Cheddar result window. & Message warning : 
\mycit{Simulation warning : line 13, processor nnn, file xxx ; simulation
stopped by exit statement}. \\
\hline
\end{tabular}
\end{center}

\testparametrico

\mysubsection{Test 15 : laplace-gauss distribution law random generator}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric15.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check numbers following a \mycit{laplace/gauss} distribution appear for each simulation unit of time.
& It is difficult to test the distribution just check there is no errors and values\\
\hline
\end{tabular}
\end{center}

\testparametricp

\mysubsection{Test 16 : change some standard tasks/processors/... variables (eg. tasks.deadline)
from *.sc files}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_parametric16.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar button. &\\
\hline
Check a number appears for each simulation unit of time following
this equation : \mycit{task deadline + 1 * simulation unit of time}.
& \\
\hline
\end{tabular}
\end{center}

\testparametricq

\mysubsection{Test 17 : simple event analyzers}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_event\_handler1.xml} Cheddar project.
& Cheddar contains \TBD \\
\hline
Click on \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Customized scheduling simulation}. &\\
\hline
Check the event are well analysed.
& \\
\hline
\end{tabular}
\end{center}

\testparametricr


\newpage
\mysection{Partition/Task processor assignment}

\secttoc
\newpage

\mysubsection{Test 1 : RM Small task partition rule}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition1.xml} Cheddar project.
& Cheddar contains 3 processors and 9 tasks. \\
\hline
Click on \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition $\rightarrow$ With Small Task}. 
& One have the following processor assignment : 

$t_1 \Rightarrow$ processor a

$t_2 \Rightarrow$ processor a

$t_3 \Rightarrow$ processor a

$t_4 \Rightarrow$ processor a

$t_5 \Rightarrow$ processor b

$t_6 \Rightarrow$ processor b

$t_7 \Rightarrow$ processor b

$t_8 \Rightarrow$ processor c

$t_9 \Rightarrow$ processor c

$t_10 \Rightarrow$ processor c
\\
\hline
\end{tabular}
\end{center}

\testpartitiona

\mysubsection{Test 2 : check tasks periodicity in order to apply partition rule}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition2.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on every choices in \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition} 
(\mycit{with Best Fit}, \mycit{General Task}, \mycit{Next Fit}, \mycit{First Fit} and \mycit{Small Task}). &\\
\hline
Check a warning message appears for each action. & Warning message : 
\mycit{Invalid scheduler : can not run scheduling partition}.
\\
\hline
\end{tabular}
\end{center}

\testpartitionb

\mysubsection{Test 3 : check processor scheduler is RM in order to apply partition rule}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition3.xml} Cheddar project.
& Cheddar contains 1 EDF processor and 2 periodic tasks. \\
\hline
Click on every choices in \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition} 
(\mycit{with Best Fit}, \mycit{General Task}, \mycit{Next Fit}, \mycit{First Fit} and \mycit{Small Task}). &\\
\hline
Check a warning message appears for each action. & Warning message : 
\mycit{Invalid scheduler : can not run scheduling partition}.
\\
\hline
\end{tabular}
\end{center}

\testpartitionc

\mysubsection{Test 4 : partition rule can not find a schedulable solution}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition4.xml} Cheddar project.
& Cheddar contains 1 RM processor and 2 periodic tasks. \\
\hline
Click on every choices in \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition} 
(\mycit{with Best Fit}, \mycit{General Task}, \mycit{Next Fit}, \mycit{First Fit} and 
\mycit{Small Task}). &\\
\hline
Check a warning message appears for each action. & 
Warning message : 
\mycit{can not do partitioning : you must define more processors}. \\
\hline
\end{tabular}
\end{center}

\testpartitiond

\mysubsection{Test 5 : task set schedulable with partition rules}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition5.xml} Cheddar project.
& Cheddar contains 3 RM processors and 9 periodic tasks. \\
\hline
Click on every choices in \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition} 
(\mycit{with Best Fit}, \mycit{General Task}, \mycit{Next Fit}, \mycit{First Fit} and 
\mycit{Small Task}). &\\
\hline
Check assignments for \mycit{Best Fit} (3 processors). &

$t_1 \Rightarrow$ processor \mycit{c}

$t_2 \Rightarrow$ processor \mycit{b}

$t_3 \Rightarrow$ processor \mycit{a}

$t_4 \Rightarrow$ processor \mycit{c}

$t_5 \Rightarrow$ processor \mycit{a}

$t_6 \Rightarrow$ processor \mycit{b}

$t_8 \Rightarrow$ processor \mycit{a}

$t_9 \Rightarrow$ processor \mycit{c}

$t_{10} \Rightarrow$ processor \mycit{b}
\\ \hline
Check assignments for \mycit{General Task} (3 processors). &

$t_1 \Rightarrow$ processor \mycit{a}

$t_2 \Rightarrow$ processor \mycit{a}

$t_3 \Rightarrow$ processor \mycit{a}

$t_4 \Rightarrow$ processor \mycit{a}

$t_5 \Rightarrow$ processor \mycit{b}

$t_6 \Rightarrow$ processor \mycit{b}

$t_8 \Rightarrow$ processor \mycit{c}

$t_9 \Rightarrow$ processor \mycit{c}

$t_10 \Rightarrow$ processor \mycit{c}
\\ \hline
Check assignments for \mycit{Next fit} (4 processors). &

$t_1 \Rightarrow$ processor \mycit{c}

$t_2 \Rightarrow$ processor \mycit{d}

$t_3 \Rightarrow$ processor \mycit{a}

$t_4 \Rightarrow$ processor \mycit{c}

$t_5 \Rightarrow$ processor \mycit{a}

$t_6 \Rightarrow$ processor \mycit{b}

$t_8 \Rightarrow$ processor \mycit{a}

$t_9 \Rightarrow$ processor \mycit{c}

$t_10 \Rightarrow$ processor \mycit{b}

\\ \hline
Check assignments for \mycit{First Fit} (3 processors). &

$t_1 \Rightarrow$ processor \mycit{c}

$t_2 \Rightarrow$ processor \mycit{b}

$t_3 \Rightarrow$ processor \mycit{a}

$t_4 \Rightarrow$ processor \mycit{c}

$t_5 \Rightarrow$ processor \mycit{a}

$t_6 \Rightarrow$ processor \mycit{b}

$t_8 \Rightarrow$ processor \mycit{a}

$t_9 \Rightarrow$ processor \mycit{c}

$t_10 \Rightarrow$ processor \mycit{b}
\\ \hline
Check assignments for \mycit{Small Task} (3 processors). &

$t_1 \Rightarrow$ processor \mycit{a}

$t_2 \Rightarrow$ processor \mycit{a}

$t_3 \Rightarrow$ processor \mycit{a}

$t_4 \Rightarrow$ processor \mycit{a}

$t_5 \Rightarrow$ processor \mycit{b}

$t_6 \Rightarrow$ processor \mycit{b}

$t_8 \Rightarrow$ processor \mycit{c}

$t_9 \Rightarrow$ processor \mycit{c}

$t_10 \Rightarrow$ processor \mycit{c}
\\ \hline
\end{tabular}
\end{center}

\testpartitione

\mysubsection{Test 6 : task set schedulable with partition rules}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition6.xml} Cheddar project.
& Cheddar contains 4 RM processors and 13 periodic tasks. \\
\hline
Click on every choices in \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition} 
(\mycit{with Best Fit}, \mycit{General Task}, \mycit{Next Fit}, \mycit{First Fit} 
and \mycit{Small Task}). &\\
\hline
Check processors number needed for each partition rule. & 
\begin{itemize}
\item \mycit{Small Task} needs four processors. 
\item \mycit{Best Fit}, \mycit{First Fit} and \mycit{General Task} need six processors. 
\item \mycit{Next Fit} needs 7 processors.
\end{itemize}
\\ \hline
\end{tabular}
\end{center}

\testpartitionf

\mysubsection{Test 7 : utilization for one task is over 100 percent}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_partition7.xml} Cheddar project.
& Cheddar contains 2 RM processors and 2 periodic tasks. \\
\hline
Click on every choices in \mycit{Tools $\rightarrow$ Scheduling $\rightarrow$ Partition} 
(\mycit{with Best Fit}, \mycit{General Task}, \mycit{Next Fit}, \mycit{First Fit} 
and \mycit{Small Task}). &\\
\hline
Check no partition rule can find an assignment.
& \\
\hline
\end{tabular}
\end{center}

\testpartitiong

\newpage
\mysection{Automaton}

\secttoc
\newpage

\mysubsection{Test 1 : automaton parser and the ability to give a name to a section}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto1.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Check the project is loading without error.\TBD.
& \\
\hline
\end{tabular}
\end{center}

\testautomatona

\mysubsection{Test 2 : \mycit{clock} type parsing}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto2.xml} Cheddar project.
& Cheddar contains 1 processor and 1 task. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. &\\
\hline
Check a number sequence from 1 to 9 appears on Cheddar result window.
& \\
\hline
\end{tabular}
\end{center}

\testautomatonb

\mysubsection{Test 3 : \mycit{priority section} and \mycit{election section} with an automaton}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto3.xml} Cheddar project.
& Cheddar contains 1 processor and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. &\\
\hline
Check the simulation is well executed ($T_1$ is executed before $T_2$).
& \\
\hline
\end{tabular}
\end{center}

\testautomatonc


\mysubsection{Test 4 : \mycit{delay} statement behavior into an automaton}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto4.xml} Cheddar project.
& Cheddar contains 1 processor and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. &\\
\hline
Check the simulation is well executed ($T_1$ is executed before $T_2$ and each unit time execution is
separated by 2 time units).
& \\
\hline
\end{tabular}
\end{center}

\testautomatond

\mysubsection{Test 5 : guards without clock behavior into an automaton}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto5.xml} Cheddar project.
& Cheddar contains 1 processor and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. &\\
\hline
Check the simulation is well executed ($T_1$ is executed before $T_2$ and one line on two
"line 10" and "line 17" is displayed).
& \\
\hline
\end{tabular}
\end{center}

\testautomatone

\mysubsection{Test 6 : automata with automaton rendez-vous}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto6.xml} Cheddar project.
& Cheddar contains 1 processor and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. &\\
\hline
Check the simulation is well executed (between 2 successive task unit time execution, 
3 idle unit of time must be found, the first executed task is the task $T_2$).
& \\
\hline
\end{tabular}
\end{center}

\testautomatonf

\mysubsection{Test 7 : guards with clock behavior into an automaton}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto7.xml} Cheddar project.
& Cheddar contains 1 processor and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. &\\
\hline
Check the simulation is well executed (between 2 successive task unit time execution, 
1 idle unit of time must be found, the first executed task is the task $T_1$).
& \\
\hline
\end{tabular}
\end{center}

\testautomatong

\mysubsection{Test 8 : automaton user-defined scheduler which includes address space scheduler}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_auto8.xml} Cheddar project.
& Cheddar contains 1 processor and 2 tasks. \\
\hline
Click on \mycit{scheduling simulation} toolbar buttons. \\
\hline
Check the simulation is well executed ($T_2$ and $T_4$: between 2 successive task unit time execution, 
3 idle unit of time must be found, the first executed task is the task $T_2$).
& \\
\hline
\end{tabular}
\end{center}

\testautomatonh


\newpage
\mysection{Large task set}

\secttoc
\newpage

\mysubsection{Test 1 : task set with a large period LCM}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_large\_task\_set1.xml} Cheddar project.
& Cheddar contains 1 processor and 200 tasks. \\
\hline
Click on \mycit{scheduling simulation} and \mycit{scheduling feasibility} toolbar buttons. & Select 1 or several tasks.\\
\hline
Check the services are executed without error.
& \\
\hline
\end{tabular}
\end{center}

\testlargetaskseta

\mysubsection{Test 2 : task set with a very large period LCM}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Open \mycit{test\_large\_task\_set2.xml} Cheddar project.
& Cheddar contains 1 processor and 20 tasks. \\
\hline
Click on \mycit{scheduling simulation} and 
\mycit{scheduling feasibility} toolbar buttons. & Select 1 or several tasks.\\
\hline
Check the services are executed without error.
& \\
\hline
\end{tabular}
\end{center}

\testlargetasksetb

\newpage
\mysection{AADL}

\secttoc
\newpage

\mysubsection{Test 1 : Stood/Cheddar interoperability}
               
\begin{center}
\begin{tabular}{|a|t|}
\hline
\textbf{Actions} & \textbf{Results} \\ 
\hline
Import \mycit{stood1.aadl} AADL project.
& \\
\hline
Check Cheddar contains 1 processor, 1 address space, 2 tasks, 2 resources and 1 buffer
and check those component correspond to the ones in AADL file. & 
The processor's scheduler is \mycit{Deadline Monotonic}.\\
\hline
\end{tabular}
\end{center}

\testaadla

\newpage
\mysection{Conclusion}

\mysubsection{Statistics}

% Statistics computation
\setcounter{OKTotalOnTotal}{\value{testOKTotal} * 100}
\setcounter{OKTotalOnTotal}{\value{OKTotalOnTotal}/\value{testTotal}}

\setcounter{KOTotalOnTotal}{\value{testKOTotal} * 100}
\setcounter{KOTotalOnTotal}{\value{KOTotalOnTotal}/\value{testTotal}}

\setcounter{NATotalOnTotal}{\value{testNATotal} * 100}
\setcounter{NATotalOnTotal}{\value{NATotalOnTotal}/\value{testTotal}}

\setcounter{NDTotalOnTotal}{\value{testNDTotal} * 100}
\setcounter{NDTotalOnTotal}{\value{NDTotalOnTotal}/\value{testTotal}}

\begin{tabular}{|a|t|}
\hline
\textbf{Total number} & \\
\hline
Test & \thetestTotal
\\ \hline
\mycit{OK} test & \thetestOKTotal\  ($\approx$ \theOKTotalOnTotal \%)
\\ \hline
\mycit{KO} test & \thetestKOTotal\  ($\approx$ \theKOTotalOnTotal \%)
\\ \hline
\mycit{N/A} test & \thetestNATotal\  ($\approx$ \theNATotalOnTotal \%)
\\ \hline
\mycit{Not Done} test & \thetestNDTotal\  ($\approx$ \theNDTotalOnTotal \%)
\\ \hline
\end{tabular}

\mysubsection{General observations}

\testconclusion

\end{document}




