206 lines
7.7 KiB
TeX
206 lines
7.7 KiB
TeX
\documentclass[a4paper]{book}
|
|
\usepackage{fullpage}
|
|
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[francais]{babel}
|
|
|
|
\usepackage{latexsym}
|
|
\usepackage{fancyhdr}
|
|
\usepackage{makeidx}
|
|
\usepackage{graphics}
|
|
\usepackage{graphicx}
|
|
\usepackage{longtable}
|
|
\usepackage{moreverb}
|
|
\usepackage{listings}
|
|
|
|
\newcommand{\altarica}{{\sc AltaRica}}
|
|
|
|
\begin{document}
|
|
|
|
\title{Master 1, Conceptions Formelles\\
|
|
Projet du module \altarica\\
|
|
Synthèse (assistée) d'un contrôleur du niveau d'une cuve}
|
|
|
|
\date{}
|
|
|
|
\author{Nom1 \and Nom2 \and Nom3}
|
|
|
|
\maketitle
|
|
|
|
\chapter{Le sujet}
|
|
\input{tank}
|
|
|
|
\chapter{Le rapport}
|
|
Le rapport est sur 20 points.
|
|
|
|
\section{Processus} \subsection{Rôle du fichier {\tt GNUmakefile} (1.5 points)}
|
|
% A COMPLETER en expliquant les enchainements des calculs effectués.
|
|
|
|
\paragraph{Le fichier GNUMakeFile} sert à compiler les différents éléments du
|
|
projet via la commande \textit{make}. La cible \textit{\$(MODEL).time} est la
|
|
plus interresante~: elle utilise trois paramètres afin de contruite les
|
|
différents calculs. Cest éléments sont utilisés dans l'ordre défini dans la
|
|
liste ci-dessous dans des boucles \texttt{for} imbriquées
|
|
|
|
\begin{enumerate}
|
|
\item les controlleurs à partir desquel construire les modèles -
|
|
\texttt{Crtl} et \texttt{CtrlVV}
|
|
\item les nombres de pannes - de 0 à 3
|
|
\item l'itération - de 1 à 5
|
|
\end{enumerate}
|
|
|
|
Une fois effectués, les résultats de chaque calcul sont exportées dans le répertoire
|
|
\texttt{LaTeX} afin d'étre \textbf{inclus dans ce rapport}.
|
|
|
|
\subsection{Rôle de la constante {\tt nbFailures} et de l'assertion associée (0.5 point)}
|
|
% A COMPLETER en expliquant le rôle de la constante.
|
|
|
|
\paragraph{nbFailure} détermine le nimbre maximal de panne pouvans intervenir en
|
|
même temps sur les valves de notre système. Cette variable est définie à partir
|
|
de \texttt{NbPannes} qui elle même est définie dynamiquement dans notre
|
|
\textit{Makefile} (cible \textit{\$(MODEL).time}).
|
|
|
|
\paragraph{} Cette constante est utilisés dans l'assertion \texttt{nbFailures >=
|
|
(V[0].stucked + V[1].stucked + V[2].stucked);} afin de s'assurer que le nombre
|
|
de pannes sur le modèle (\texttt{V[x].stucked}) ne dépasse pas le nombre de
|
|
panne définis dans \texttt{nbFailures}.
|
|
|
|
\section{Résultats avec le contrôleur initial {\tt Ctrl}}
|
|
\subsection{Calcul d'un contrôleur}
|
|
\subsubsection{Avec 0 défaillance (0.5 point)}
|
|
\input{LaTeX/System0FCtrl.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\paragraph{} Lors de la premiere itération, avec un controleur initial
|
|
\textit{Ctrl} et sans défaillance, nous n'avons pas de situation de
|
|
\textit{deadlock}. Nous pouvons attendre 86 état de \textbf{niveau critiques} et
|
|
autant de \textbf{situation redoutée} pour un total de 247 états atteignables.
|
|
Côté transitions, le système en comporte 3474 dont un tier environ mène à
|
|
des coups gagnant.
|
|
|
|
\paragraph{}lors de la seconde itération, nous obtenons 97 états et toujours
|
|
aucun \textit{deadlock}. Nous ne constatons plus de \textbf{niveau critique} ni
|
|
de \textbf{situation redoutée}. Côté transitions, environ \textbf{83\%} mène à
|
|
des coups gagnants, mais nous en avons aussi près de 4 fois moins par rapport à
|
|
l'itération précédente.
|
|
|
|
Les itérations suivantes n'entrainent pas de modification sur le contrôleurs.
|
|
Nous pouvons donc dire que qu'il est correct.
|
|
|
|
Nous observons aussi que les état \texttt{out1}, \texttt{out2} et \texttt{out3}
|
|
sont atteinds dans toutes les itérations, ce qui montre que la vanne de sortie
|
|
fonctionne dans ses trois configurations: ouverte, semi-ouverte et fermée.
|
|
|
|
\subsubsection{Avec 1 défaillance (0.5 point)}
|
|
\input{LaTeX/System1FCtrl.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsubsection{Avec 2 défaillances (0.5 point)}
|
|
\input{LaTeX/System2FCtrl.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsubsection{Avec 3 défaillances (0.5 point)} \input{LaTeX/System3FCtrl.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsection{Bilan avec le contrôleur initial (1 point)}
|
|
% A COMPLETER
|
|
|
|
\section{Construction d'un contrôleur initial plus performant}
|
|
\subsection{Rôle du composant {\tt ValveVirtual}(2 points)}
|
|
\includegraphics[height=.2\textheight,width=.5\textwidth]{Graphs/Valve-modes.pdf}
|
|
\includegraphics[height=.2\textheight,width=.5\textwidth]{Graphs/ValveVirtual-modes.pdf}
|
|
% A COMPLETER en expliquant sa sémantique et son rôle.
|
|
|
|
\subsection{Rôle du composant {\tt CtrlVV} (4 points)}
|
|
% A COMPLETER en expliquant les mécanismes mis en oeuvre, leurs rôles et les avantages de ce contrôleur par rapport au précédent CtrlVV.
|
|
|
|
\section{Résultats avec le contrôleur {\tt CtrlVV}}
|
|
\subsection{Calcul d'un contrôleur}
|
|
\subsubsection{Avec 0 défaillance (0.5 point)}
|
|
\input{LaTeX/System0FCtrlVV.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsubsection{Avec 1 défaillance (0.5 point)}
|
|
\input{LaTeX/System1FCtrlVV.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsubsection{Avec 2 défaillances (0.5 point)}
|
|
\input{LaTeX/System2FCtrlVV.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsubsection{Avec 3 défaillances (0.5 point)}
|
|
\input{LaTeX/System3FCtrlVV.tex}
|
|
\paragraph{Interprétation des résultats}
|
|
% A COMPLETER
|
|
|
|
\subsection{Bilan avec le contrôleur CtrlVV (1 point)}
|
|
% A COMPLETER
|
|
|
|
\section{Une première optimisation des contrôleurs pour améliorer le débit aval}
|
|
\subsection{Une optimisation basée sur les priorités (1 point)}
|
|
\small{\lstinputlisting{ControleursOpt/Optimisation.alt}}
|
|
% A COMPLETER en expliquant en quoi consiste l'optimisation mise en place.
|
|
|
|
\subsection{Calcul des contrôleurs optimisés avec {\tt CtrlVV}}
|
|
\paragraph{Avec 0 défaillance}\ \\
|
|
\input{LaTeX/System0FCtrlVV_opt.tex}
|
|
|
|
\paragraph{Avec 1 défaillance}\ \\
|
|
\input{LaTeX/System1FCtrlVV_opt.tex}
|
|
|
|
\paragraph{Avec 2 défaillances}\ \\
|
|
\input{LaTeX/System2FCtrlVV_opt.tex}
|
|
|
|
\paragraph{Avec 3 défaillances}\ \\
|
|
\input{LaTeX/System3FCtrlVV_opt.tex}
|
|
|
|
\subsection{Bilan avec la première optimisation du contrôleur CtrlVV (1 point)}
|
|
% A COMPLETER
|
|
|
|
\section{Une deuxième optimisation (3 points)}
|
|
Il est possible d'obtenir de meilleurs résultats que les précédents par au moins deux façons.
|
|
\begin{enumerate}
|
|
\item En utilisant un meilleur ordre pour les priorités entre événements.
|
|
\item En introduisant cet objectif dans le système de calcul de point fixe des actions du contrôleur.
|
|
\end{enumerate}
|
|
|
|
Vous devez proposer une des deux optimisations conduisant à une solution dans laquelle le débit de la vanne aval est le moins souvent possible décrémenter, voire jamais. Pour cela, vous pouvez~:
|
|
\begin{itemize}
|
|
\item Meilleur ordre sur les événements.
|
|
\begin{enumerate}
|
|
\item Modifier le fichier \texttt{ControleursOpt/Optimisation.alt}.
|
|
\item Faites \texttt{make}.
|
|
\item Quand vos résultats sont satisfaisants, notez les, puis copiez votre fichier dans \texttt{ControleursOpt/Optimisation-2.alt}.
|
|
\item Remettez le fichier \texttt{ControleursOpt/Optimisation.alt} d'origine.
|
|
\item Faites \texttt{make}.
|
|
\end{enumerate}
|
|
\item Meilleur système d'équations au point fixe.
|
|
\begin{enumerate}
|
|
\item Modifier le fichier \texttt{Spec/System.spe}.
|
|
\item Faites \texttt{make}.
|
|
\item Quand vos résultats sont satisfaisants, notez les, puis copiez votre fichier dans \texttt{Spec/System-2.spe}.
|
|
\item Remettez le fichier \texttt{Spec/System.spe} d'origine.
|
|
\item Faites \texttt{make}.
|
|
\end{enumerate}
|
|
\end{itemize}
|
|
|
|
\paragraph{Le nouvel ordre}\ \\
|
|
\small{\lstinputlisting{ControleursOpt/Optimisation-2.alt}
|
|
% A COMPLETER en décrivant les résultats obtenus
|
|
|
|
\paragraph{Le nouveau système d'équations}\ \\
|
|
\small{\lstinputlisting[texcl]{Spec/System-2.spe}}
|
|
% A COMPLETER en décrivant les résultats obtenus
|
|
|
|
\section{Conclusion sur la synthèse de contrôleur (1 point)}
|
|
% A COMPLETER
|
|
|
|
\end{document}
|