\section{Introduction}
\label{introduction}

We consider real-time applications, dedicated to process control, 
which are modelled by a set of tasks. They are characterized by 
the presence of temporal constraints, induced by the dynamics of 
the controlled process. The tasks can be periodic or not, have same first 
release time or not, may shared resources or exchanges messages. 

For study schedulability analysis, each task $T_i$ is usually modelled 
by four temporal parameters \cite{Liu73}: its first release time $r_i$, 
its worst case execution time (WCET) $C_i$, which is the highest 
computation time of the task, its relative deadline $D_i$, which is the 
maximum acceptable delay between the release and the completion of 
any instance of the task, and its period $P_i$.

From this simplified model of task, real-time scheduling theory provides 
two ways to perform schedulability analysis: feasibility tests and 
scheduling simulation on the hyperperiod\footnote{The lcm periods}. 

We have a necessary condition for a system to be feasible \cite{Buttazo97}: 
if a system of $n$ tasks $T_1$ \dots $T_n$ is feasible, then 
its utilization factor, defined by $$U=\sum_{i=1}^{n}{\frac{C_i}{P_i}}$$ is 
less than or equal to $1$.

Our general aim is the validation, using simulation, of the real-time applications. 

For that, we consider the Cheddar project. Cheddar \cite{Singhoff04} is a GPL 
open-source schedulability tool composed of a graphical editor and a library 
of schedulability analysis modules. The library of analysis modules 
implements various analysis methods based on the real-time scheduling theory.

In order to perform schedulability analysis in Cheddar context, 
several approaches have been investigated \cite{Singhoff13}: 
The MARTE based approach \cite{Maes07} \cite{Li12} where a 
MARTE to Cheddar transformation have been proposed, and an 
experimentation on an industrial software radio system have been done; 
The Model Driven Engineering (MDE)~\cite{Schmidt06_ModelDrivenEngineering} 
based approach, combined to ADL have been experimented by showing how 
scheduling analysis tools can be automatically produced from an ADL with 
MDE \cite{PLANTEC:2006:HAL-00504325:1} \cite{Singhoff:2007:TUE:1769168.1769182} 
\cite{gaudel11}; An AADL based approach \cite{rubini11} where the relevant 
hardware features are expressed in order to have better scheduling analysis.

We focus on this paper to the ADLs approach, by presenting Cheddar ADL. 
It will allow us to finely specify and validate the real-time application, 
in the Cheddar context \cite{Singhoff13}. 
Indeed, Cheddar ADL, especially dedicated to scheduling analysis, provides 
tools to design and validate (by using Cheddar tool) real-time applications.

The paper presents an Architecture Description Language (ADL) 
that has been designed to model software architecture in the perspective of 
scheduling analysis. 
This ADL illustrates how an ADL may provide to model a real-time application 
on which designers expect to perform  scheduling analysis.

The rest of the paper is organized as follows: we begin by enumerate the requirements 
of Cheddar ADL (section \ref{requirements}), in order to lay the foundations 
of our language, 
then, we describe 
the general concepts of the language (section~\ref{Cheddar_adl_concept}). 
After-that, the sections 
\ref{semantic_of_components} and \ref{notion_of_deployements} precise the semantic of 
the basic entities of Cheddar ADL, and section \ref{applications_of_cheddar_adl} is 
dedicated to the way to apply it. Section \ref{related} gives the related works, 
by 
describing some ADLs using in real-time domains, and we conclude in 
section \ref{conclusion}, 
by giving some perspectives.