\section{Cheddar ADL Concepts}
\label{Cheddar_adl_concept}
Cheddar ADL defines basic entities which model usual concepts of 
the real-time scheduling theory. We have two kinds of entities:
\begin{enumerate}
	\item Components: There are the reusable units. 
	A component has a type, an unique name and attributes. 
	It is a part of a 
	system to analyse.
	\item Bindings: the bindings define relationships between components. 
	They Model a resource allocation between $n$ providers and 
	$m$ consumers, where $n$ and $m$ are integers. 
\end{enumerate}
These basic entities can be grouped into 3 types:
\begin{enumerate}
	\item Hardware components: They model resources provided by the 
	execution environment. We have \processor, \cache, \core, \memory and 
	\network.
	\item Software components: They model the design of the software. 
	They are deployed onto hardware components. In Cheddar, we 
	have \task, \resource, \buffer, \dependencys and \messages.
	\item Bindings: Their role is to enforce either temporal or spatial isolation. 
	They allow to model the relationships between 
	components.
\end{enumerate}
In order to finely describe the Cheddar ADL, we clarify in 
sections \ref{semantic_of_components} and \ref{notion_of_deployements} the semantic of basic entities.