\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}