ITRA1: Systèmes réactifs et temps-réel

Responsable:

Charles ANDRE.

Prérequis:

Recommandé : Informatique Industrielle.

Objectif:

Introduction aux systèmes réactifs et aux systèmes soumis à des contraintes de temps réel. On étudie l'approche synchrone : modélisation, programmation et réalisation.

Programme:

Contenu des TD:

Logiciels :

Editeurs/compilateurs/simulateurs de formalismes synchrones. Sur stations de travail Sun/Solaris (la plupart tournent également sous Linux).

Bibliographie:


Lafon Jean-Claude
\subsection*{ITRA1 --- «Syst{è}mes R{é}actifs et Programmation

  Synchrone»}
Responsable et intervenant~:~ Charles André

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

Dernière mise à jour : 5 mai

Sommaire - Ecole Supérieure en Sciences Informatiques - essi@essi.fr