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} \begin{frame}
\frametitle{Comparaison entre le noyau de Créole et Tiramisu} \frametitle{Comparaison entre le noyau de Créole et Tiramisu}
\begin{itemize} \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} cf \texttt{tiramisu/doc/build/pydoc/index.html}
\item \emph{Créole} : \texttt{cfgparser.py + typeeole.py} $ \Rightarrow 2500$ lignes ; \item \emph{Creole} : \texttt{cfgparser.py + typeeole.py} $ \Rightarrow 2500 $ lignes ;
\item \emph{Tiramisu} : \texttt{config.py + option.py} $ \Rightarrow 800$ lignes ; \item \emph{Tiramisu} : \texttt{config.py + option.py} $ \Rightarrow 800 $ lignes ;
\item Et en plus : \item Et en plus :
\begin{itemize} \begin{itemize}
\item \emph{Créole} valide le type mais pas la structure (fait trop confiance au \texttt{XML}) ; \item compatible \texttt{gen\_config}, \texttt{cheetah}, \texttt{templates} \dots
\item Avec \emph{Créole} il est compliqué d'ajouter un type à cause de la métaclasse ;
\item \emph{Tiramisu} valide le type \emph{et} la structure, et l'ajout de types est aisé. \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} \end{itemize}
\item \texttt{eole-report/D02CoherenceVariables.pdf} \item \texttt{eole-report/D02CoherenceVariables.pdf}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{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} \begin{itemize}
\item c'est un \emph{dictionnaire} de données ; \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} \item \texttt{eole-report/D01AccesVariables.pdf}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -45,14 +56,4 @@
\end{itemize} \end{itemize}
\end{frame} \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 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 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 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 \texttt{eole-report/D03ReglesEtats.pdf}
\item lisibilité d'une config : \texttt{tiramisu/report/build/index.html} rapport html d'une config \item lisibilité d'une config : \texttt{tiramisu/report/build/index.html} rapport html d'une config
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
@ -21,7 +18,6 @@
\item \texttt{doc/status.html} \item \texttt{doc/status.html}
\item \texttt{eole-report/D03ReglesEtats.pdf} \item \texttt{eole-report/D03ReglesEtats.pdf}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{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 ? \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 ; 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$ \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é : 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 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 \item une compliation statique devient possible dans \emph{CreoleLint} \dots
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{compatibilité Créole : ce qui reste à faire} \frametitle{compatibilité Créole : ce qui reste à faire}
\begin{itemize} \begin{itemize}
\item tous les options spéciales sont implémentées (auto, fill, obligatoire, \dots) \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) \item tous les états sont implémentés (hidden, disabled, mode (normal/expert), \dots), il faut fixer les comportement \texttt{read write} ;
\item reste la librairie des fonctions pour les variables automatiques \item les "valprec" (valeur précédentes) et une mémoire de \emph{tous} les états antérieurs ;
\item les "valprec" (valeur précédentes) \item fixer les comportement des hides (sous-groupes récursifs, \dots) ;
\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.
\item validations master/slaves, validations globales (au regard de la configuration entière) éventuellement
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View file

@ -21,7 +21,8 @@
\title{Tiramisu} \title{Tiramisu}
\subtitle{gestionnaire de configuration} \subtitle{gestionnaire de configuration}
\author{Gwen} \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} \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 en live et on revient en arrière si la conf n'est pas cohérente
(un `parse_dico()` avec un `SCM` derrière) (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 documents de présentation
--------------------------- ---------------------------
@ -19,18 +39,5 @@ documents de présentation
- `doc/eole-report/eolreport` : diff pdf entre creole ~ tiramisu - `doc/eole-report/eolreport` : diff pdf entre creole ~ tiramisu
- `tiramisu/report/` : rapport autmatique sur une config - `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**