| A> |
ITRA1: Systèmes réactifs et temps-réel |
{\bf Prérequis :}
Notions de systèmes et de programmation concurrente.\\[1ex]
{\bf Objectif :} La programmation des syst{è}mes temps-r{é}el
est
une activit{é} relativement ancienne. Le fait de programmer
des
syst{è}mes li{é}s au monde physique impose des contraintes
qui
n'existaient pas en programmation « ordinaire ».
Des techniques de
programmation sp{é}cifiques aux syst{è}mes temps-r{é}el
ont dues
{ê}tre d{é}velopp{é}es.
Le cours « Programmation Synchrone » s'int{é}resse
{à} l'une des
approches possibles~: l'{\em Approche Synchrone}. Cette approche fait
l'objet d'une activit{é} de recherche intense et commence {à}
conna{\^\i}tre des d{é}veloppements industriels.
L'approche synchrone s'adresse plus g{é}n{é}ralement aux
{\em
syst{è}mes r{é}actifs}. Le point de vue
adopt{é} est {à} la
fois {\em pragmatique et th{é}orique}~:
\begin{itemize}
\item Les langages synchrones sont des langages de programmation
cr{é}{é}s pour {\em {é}crire des programmes
r{é}actifs
corrects et efficaces}. Une partie du cours est
consacr{é}e
{à} l'{\em apprentissage} de ces langages et autres formalismes
synchrones.
\item Les mod{è}les synchrones s'appuient sur des {\em
s{é}mantiques math{é}matiques}.
Nous {é}tudions certaines
de ces s{é}mantiques. Ce support rigoureux facilite les
preuves
formelles de programme. Des probl{è}mes de preuve de
comportement
seront {é}galement abord{é}s.
\end{itemize}
Ce module entre dans la thématique \emph{Objets et Systèmes
Réactifs}.
\begin{itemize}
\item Le comportement dynamique des objets (cours TC4 \emph{Modèles
de programmation par objets}) est généralement
exprimé par
des machines à états ou mieux par des \emph{Statecharts}
qui ont
un caractère synchrone. Les modèles synchrones
étudiés
apportent plus de souplesse et de garantie pour l'expression
des
comportements réactifs complexes.
\item Le cours TC2 \emph{Méthode formelles et fiabilité
du
logiciel} introduit des techniques de vérification.
Les
programmes synchrones se prètent particulièrement
bien à
l'analyse formelle de propriétés (analyses sur
automates ou sur
systèmes d'équations booléennes).
\item Le module \emph{Objets réactifs en Java} s'appuie, comme
la
programmation synchrone, sur la notion d'instant. L'expression
des
comportements s'inspire de celle utilisée en Estérel.
Les
modules \emph{Syst{è}mes R{é}actifs et Programmation
Synchrone}
et \emph{Objets réactifs en Java} sont très complémentaires.
\end{itemize}
{\bf Plan du cours} :
\begin{enumerate}
\item Introduction aux systèmes temps-r{é}el;
\item Le paradigme synchrone;
\item Un langage imp{é}ratif synchrone~: {\sc esterel};
\item Langages d{é}claratifs synchrones;
\item Formalismes graphiques synchrones;
\item S{é}mantiques mathématiques.
\end{enumerate}