eole presentation

This commit is contained in:
gwen 2012-06-14 09:58:28 +02:00
parent d5ef466350
commit 2b8d1c1c70
4 changed files with 49 additions and 49 deletions

View File

@ -10,26 +10,37 @@
\begin{frame}
\frametitle{Comparaison entre le noyau de Créole et Tiramisu}
\begin{itemize}
\item \emph{Créole} : \texttt{EoleDict, EoleVars} $ \Leftrightarrow $ \texttt{Config, Option} \\
\item \emph{Creole} : \texttt{EoleDict, EoleVars} $ \Leftrightarrow $ \texttt{Config, Option} \\
cf \texttt{tiramisu/doc/build/pydoc/index.html}
\item \emph{Créole} : \texttt{cfgparser.py + typeeole.py} $ \Rightarrow 2500$ lignes ;
\item \emph{Tiramisu} : \texttt{config.py + option.py} $ \Rightarrow 800$ lignes ;
\item \emph{Creole} : \texttt{cfgparser.py + typeeole.py} $ \Rightarrow 2500 $ lignes ;
\item \emph{Tiramisu} : \texttt{config.py + option.py} $ \Rightarrow 800 $ lignes ;
\item Et en plus :
\begin{itemize}
\item \emph{Créole} valide le type mais pas la structure (fait trop confiance au \texttt{XML}) ;
\item Avec \emph{Créole} il est compliqué d'ajouter un type à cause de la métaclasse ;
\item compatible \texttt{gen\_config}, \texttt{cheetah}, \texttt{templates} \dots
\item \emph{Tiramisu} valide le type \emph{et} la structure, et l'ajout de types est aisé.
\item remplace le noyau \emph{Creole} $ \Rightarrow $ \texttt{doc/build/config.html}
\item et \texttt{creole serv} (cf diapo suivante)
\end{itemize}
\item \texttt{eole-report/D02CoherenceVariables.pdf}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Qu'est-ce que c'est un gestionnaire de conf ?}
\frametitle{Un vrai serveur de config}
\begin{itemize}
\item serveur de données de configuration ;
\item $1^{ere}$ méthode : exportation (snapshot) d'un état de la config $ \Rightarrow $ Créole ;
\item $2^{eme}$ méthode : JIT (just in time) calculation, une modification
de l'état de la configuration est possible \emph{pendant} la manipulation et l'utilisation de la conf $ \Rightarrow $ Tiramisu.
\item \texttt{doc/getting-started.html}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Qu'est-ce qu'un gestionnaire de conf moderne ?}
\begin{itemize}
\item c'est un \emph{dictionnaire} de données ;
\item clefs-valeurs, mais quelles valeurs exactement ? ;
\item clefs-valeurs, mais quelles valeurs exactement ? $ \Rightarrow $ calcul JIT (just in time) ;
\item \texttt{eole-report/D01AccesVariables.pdf}
\end{itemize}
\end{frame}
@ -45,14 +56,4 @@
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Définition d'un gestionnaire de configuration 2}
\begin{itemize}
\item serveur de données de configuration ;
\item $1^{ere}$ méthode : exportation (snapshot) d'un état de la config $\Rightarrow$ Créole ;
\item $2^{eme}$ méthode : JIT (just in time) calculation, une modification
de l'état de la configuration est possible \emph{pendant} la manipulation et l'utilisation $\Rightarrow$ Tiramisu.
\item \texttt{doc/getting-started.html}
\end{itemize}
\end{frame}

View File

@ -4,12 +4,9 @@
\item dans \emph{tiramisu} l'accent est mis sur l'organisation arborescente des données ;
\item la validation des options de configuration se fait par l'appartenance aux groupes (families, master/slaves \dots) ;
\item l'organisation en groupes est unifiée par l'espace de nommage ;
\item la lisibilité de l'API excellente, contrairement à \emph{Creole}
\item \texttt{eole-report/D03ReglesEtats.pdf}
\item lisibilité d'une config : \texttt{tiramisu/report/build/index.html} rapport html d'une config
\end{itemize}
\end{frame}
\begin{frame}
@ -21,7 +18,6 @@
\item \texttt{doc/status.html}
\item \texttt{eole-report/D03ReglesEtats.pdf}
\end{itemize}
\end{frame}
\begin{frame}
@ -54,25 +50,20 @@ réalisable par les techniques de \emph{Model Checking} ;
\item la propriété dans aucun état on a $P = 3$ et $Q = 1$ est-elle vraie ?
Pour vérifier cette propriété, on a besoin de connaître l'espace d'états ;
\item la propriété : chaque chemin débutant dans un état accessible $P=1$ passe par un état où $Q=3$ et $P=2$
est-elle vraie ? Cela demande de connaître le graphe d'accessibilité :
\item les structures de \emph{Kripe} sont des machines à états étiquetées par les valuations de toutes les variables propositionnelles.
est-elle vraie ? Cela demande de connaître le graphe d'accessibilité ;
\item les structures de \emph{Kripe} sont des machines à états étiquetées par les valuations de toutes les variables propositionnelles ;
\item une compliation statique devient possible dans \emph{CreoleLint} \dots
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{compatibilité Créole : ce qui reste à faire}
\begin{itemize}
\item tous les options spéciales sont implémentées (auto, fill, obligatoire, \dots)
\item tous les états sont implémentés (hidden, disabled, mode (normal/expert), \dots)
\item reste la librairie des fonctions pour les variables automatiques
\item les "valprec" (valeur précédentes)
\item fixer les comportement des hides (sous-groupes récursifs, \dots)
\item validations master/slaves, validations globales (au regard de la configuration entière) éventuellement
\item les options spéciales sont implémentées (auto, fill, obligatoire, \dots) reste la librairie des fonctions pour les variables automatiques \texttt{eosfunc} ;
\item tous les états sont implémentés (hidden, disabled, mode (normal/expert), \dots), il faut fixer les comportement \texttt{read write} ;
\item les "valprec" (valeur précédentes) et une mémoire de \emph{tous} les états antérieurs ;
\item fixer les comportement des hides (sous-groupes récursifs, \dots) ;
\item validations master/slaves, validations globales au regard de la configuration entière puisque c'est possible maintenant.
\end{itemize}
\end{frame}

View File

@ -21,7 +21,8 @@
\title{Tiramisu}
\subtitle{gestionnaire de configuration}
\author{Gwen}
\institute{\texttt{tiramisu/doc/build/index.html}}
\institute{\texttt{git clone git://git.labs.libre-entreprise.org/tiramisu.git} \\
\texttt{firefox tiramisu/doc/build/index.html}}
\date{\today}

View File

@ -8,8 +8,28 @@ Gestionnaire de configuration existants
en live et on revient en arrière si la conf n'est pas cohérente
(un `parse_dico()` avec un `SCM` derrière)
- puppet, cfgengine -> laisser parler nebu, lolo...
- puppet, cfgengine
- il y a **tous** les concepts de base de Créole, ce qui ne veut pas dire
que tout ce qu'on veut est implémenté (cf -> les variables automatiques)
Comparaison entre le noyau de Créole et Tiramisu
----------------------------------------------------
- Avec Créole il est compliqué d'ajouter un type à cause de la métaclasse ;
- Créole valide le type mais pas la structure (fait trop confiance au XML) ;
un peu de mathématique
-------------------------
- soit on a besoin de ne connaître que l'ensemble des états, par leurs liens
- soit on a besoin de connaître les relations
- il suffit de coder un générateur de machines à états pour pouvoir
- faire des prédictions sur les configuration possibles
------
documents de présentation
---------------------------
@ -19,18 +39,5 @@ documents de présentation
- `doc/eole-report/eolreport` : diff pdf entre creole ~ tiramisu
- `tiramisu/report/` : rapport autmatique sur une config
affichage du rapport en html
-----------------------------
espace d'état ou graphe d'accessibilité
-------------------------------------------
- soit on a besoin de ne connaître que l'ensemble des états, par leurs liens
- soit on a besoin de connaître les relations
repérage des **deadlocks**