diff --git a/doc/eole-report/presentation/definition.tex b/doc/eole-report/presentation/definition.tex index 65166e4..4a01cc1 100644 --- a/doc/eole-report/presentation/definition.tex +++ b/doc/eole-report/presentation/definition.tex @@ -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} diff --git a/doc/eole-report/presentation/statut.tex b/doc/eole-report/presentation/statut.tex index 575de2f..73a1021 100644 --- a/doc/eole-report/presentation/statut.tex +++ b/doc/eole-report/presentation/statut.tex @@ -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} diff --git a/doc/eole-report/presentation/tiramisu.tex b/doc/eole-report/presentation/tiramisu.tex index 36f74cf..a6067c9 100644 --- a/doc/eole-report/presentation/tiramisu.tex +++ b/doc/eole-report/presentation/tiramisu.tex @@ -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} diff --git a/doc/eole-report/presentation/tiramisu.txt b/doc/eole-report/presentation/tiramisu.txt index f3d3761..7c70a37 100644 --- a/doc/eole-report/presentation/tiramisu.txt +++ b/doc/eole-report/presentation/tiramisu.txt @@ -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** - -