\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[francais,english]{babel}
\usepackage[dvips]{graphicx}
\usepackage{fancybox}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{array}
\usepackage{hhline}
\usepackage{longtable}
\usepackage{float}
\usepackage{graphicx}
\usepackage{latexsym}
\usepackage{psfrag}

\usepackage{listings}

\newcommand\core{$Core$ $ $}
\newcommand\cores{$Cores$ $ $}
\newcommand\cache{$Cache$ $ $}
\newcommand\caches{$Caches$ $ $}
\newcommand\memory{$Memory$ $ $}
\newcommand\network{$Network$ $ $}
\newcommand\networks{$Networks$ $ $}
\newcommand\task{$Task$ $ $}
\newcommand\tasks{$Tasks$ $ $}
\newcommand\battery{$Battery$ $ $}
\newcommand\batteries{$Batteries$ $ $}
\newcommand\dependency{$Dependency$ $ $}
\newcommand\resource{$Resource$ $ $}
\newcommand\buffer{$Buffer$ $ $}
\newcommand\buffers{$Buffers$ $ $}
\newcommand\dependencys{$Dependency$ $ $}
\newcommand\processor{$Processor$ $ $}
\newcommand\processors{$Processors$ $ $}
\newcommand\addressspace{$Address$ $space$ $ $}
\newcommand\addressspaces{$Address$ $spaces$ $ $}
\newcommand\taskgroup{$Task$ $group$ $ $}
\newcommand\taskgroups{$Task$ $groups$ $ $}
\newcommand\resources{$Resources$ $ $}
\newcommand\messages{$Message$ $ $}
\newcommand\messagess{$Messages$ $ $}

\lstdefinelanguage{CheddarADL}
{keywords={CHEDDAR, NAME, CORE_UNIT, SCHEDULER_TYPE, PREEMPTIVE_TYPE, 
CAPACITY, PERIOD, PRIORITY, START_TIME, MULTI_CORES_PROCESSOR, 
PROCESSOR_TYPE,NETWORK,CORES,CPU_NAME,BLOCKING_TIME,
PERIODIC_TASK,MIGRATION_TYPE,POLICY,JITTER,DEADLINE,
ALLOCATION
}, 
sensitive=f,
morestring=[d]",
morestring=[d]',
morecomment=[s]{(*}{*)},
morecomment=[l]--
}[keywords,comments,strings]
\lstset{frame=tblr,language=CheddarADL}

\newtheorem{mydef}{Definition}

%
\title{Cheddar Architecture Description Language}
%
\author{Christian Fotsing, Frank Singhoff, St\'{e}phane Rubini, \\
Hai Nam Tran,  Alain Plantec, Laurent Lemarchand, \\
Shuai Li, Mourad Dridi, Ill-ham Atchamdam,  Vincent Gaudel \\
Lab-STICC/UMR CNRS 6285, University of Brest\\
20, av Le Gorgeu, CS 93837, 29238 Brest Cedex 3, France\\
Email: \{$first_{-}name.last_{-}name$\}@univ-brest.fr\\
\\
Pierre Dissaux, J\'er\^ome Legrand\\
Ellidiss Technologies\\
24, quai de la douane\\
29200 Brest, France\\
Email: \{$first_{-}name.last_{-}name$\}@ellidiss.com
}

\begin{document}


\maketitle

\selectlanguage{english}

\begin{abstract}
The aim of this paper is to give a complete and fine definition of the Cheddar 
Architecture Design Language. 

Cheddar is a free real time scheduling tool composed of a graphical editor used 
to describe a real-time applications, a framework which includes most of classical 
real time scheduling/feasibility algorithms/tests. It is designed for checking 
temporal constraints of real-time applications. 

To perform this type of scheduling analysis with Cheddar, systems to analyse 
can be described with AADL or with a dedicated ADL, the Cheddar Architecture 
Design Language, called Cheddar ADL.

Cheddar ADL aims to write, analyse and validate real-time applications 
handled in the context of Cheddar. 

Our objective in this report is to describe it formally, to also 
show how it may be implemented and used.
\end{abstract}

\textbf{Keywords}: ADL; Cheddar; Real-Time Systems; Validation; Simulation;

\newpage

\renewcommand\contentsname{Table of Contents}
\tableofcontents

\newpage
\renewcommand\listfigurename{List of Figures}
\listoffigures

\newpage
\renewcommand\listtablename{List of Tables}
\listoftables

\newpage

\input{sections/guidelines_to_read}

\newpage

\input{sections/definitions}

\newpage

\input{sections/introduction}

\input{sections/requirements}

\input{sections/cheddar_adl_concept}

\input{sections/semantic_of_components}

\input{sections/core}

\input{sections/processor}

\input{sections/cache}

\input{sections/cfg}

\input{sections/memory}

\input{sections/network}

\input{sections/battery}

\input{sections/software_components}

\input{sections/address_space}

\input{sections/task}

\input{sections/resource}

\input{sections/buffer}

\input{sections/message}

\input{sections/dependencies}

\input{sections/task_group}

\input{sections/applications_of_cheddar_adl}

\input{sections/related}

\input{sections/conclusion}

\input{sections/biblio}

\end{document}
