diff --git a/docs/présentation_consistence_faible/définition/adt.tex b/docs/presentations/LIS/consistence_faible/définition/adt.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/définition/adt.tex rename to docs/presentations/LIS/consistence_faible/définition/adt.tex diff --git a/docs/présentation_consistence_faible/définition/exemple.tex b/docs/presentations/LIS/consistence_faible/définition/exemple.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/définition/exemple.tex rename to docs/presentations/LIS/consistence_faible/définition/exemple.tex diff --git a/docs/présentation_consistence_faible/définition/index.tex b/docs/presentations/LIS/consistence_faible/définition/index.tex old mode 100644 new mode 100755 similarity index 80% rename from docs/présentation_consistence_faible/définition/index.tex rename to docs/presentations/LIS/consistence_faible/définition/index.tex index 9fede3c..2ba5ea4 --- a/docs/présentation_consistence_faible/définition/index.tex +++ b/docs/presentations/LIS/consistence_faible/définition/index.tex @@ -4,4 +4,4 @@ \include{définition/adt} \subsection{Définition du modèle} -% \include{définition/modele} +\include{définition/modele} diff --git a/docs/présentation_consistence_faible/définition/intro.tex b/docs/presentations/LIS/consistence_faible/définition/intro.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/définition/intro.tex rename to docs/presentations/LIS/consistence_faible/définition/intro.tex diff --git a/docs/présentation_consistence_faible/définition/modele.tex b/docs/presentations/LIS/consistence_faible/définition/modele.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/définition/modele.tex rename to docs/presentations/LIS/consistence_faible/définition/modele.tex diff --git a/docs/présentation_consistence_faible/images/carte_criteres.png b/docs/presentations/LIS/consistence_faible/images/carte_criteres.png old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/images/carte_criteres.png rename to docs/presentations/LIS/consistence_faible/images/carte_criteres.png diff --git a/docs/présentation_consistence_faible/main.tex b/docs/presentations/LIS/consistence_faible/main.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/main.tex rename to docs/presentations/LIS/consistence_faible/main.tex diff --git a/docs/présentation_consistence_faible/script.md b/docs/presentations/LIS/consistence_faible/script.md old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/script.md rename to docs/presentations/LIS/consistence_faible/script.md diff --git a/docs/présentation_consistence_faible/wconsistence_properties/convergence_hc.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/convergence_hc.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/convergence_hc.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/convergence_hc.tex diff --git a/docs/présentation_consistence_faible/wconsistence_properties/index.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/index.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/index.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/index.tex diff --git a/docs/présentation_consistence_faible/wconsistence_properties/linearisation_atomicite_hc.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/linearisation_atomicite_hc.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/linearisation_atomicite_hc.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/linearisation_atomicite_hc.tex diff --git a/docs/présentation_consistence_faible/wconsistence_properties/linearisation_regularite_hc.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/linearisation_regularite_hc.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/linearisation_regularite_hc.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/linearisation_regularite_hc.tex diff --git a/docs/présentation_consistence_faible/wconsistence_properties/linearisation_surete_hc.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/linearisation_surete_hc.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/linearisation_surete_hc.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/linearisation_surete_hc.tex diff --git a/docs/présentation_consistence_faible/wconsistence_properties/localiteetat_hc.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/localiteetat_hc.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/localiteetat_hc.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/localiteetat_hc.tex diff --git a/docs/présentation_consistence_faible/wconsistence_properties/validite_hc.tex b/docs/presentations/LIS/consistence_faible/wconsistence_properties/validite_hc.tex old mode 100644 new mode 100755 similarity index 100% rename from docs/présentation_consistence_faible/wconsistence_properties/validite_hc.tex rename to docs/presentations/LIS/consistence_faible/wconsistence_properties/validite_hc.tex diff --git a/docs/presentations/LIS/vanderlinde/corps/attaques.tex b/docs/presentations/LIS/vanderlinde/corps/attaques.tex new file mode 100755 index 0000000..c0129ba --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/corps/attaques.tex @@ -0,0 +1,69 @@ +\begin{frame} + \frametitle{Résumé de l'article} + + \begin{block}{Apports} + \begin{itemize} + \item Formalisation des attaques possibles sur les systèmes satisfaisant la convergence causale. + \item Définition de propriétés permettant de contrer ou de limiter ces attaques. + \item Formalisation de "nouvelles" classes de cohérence faible étendant la cohérence causale à ces propriétés : "Secure Causal Consistency". + \item Présentation d'algorithmes produisant des histoires satisfaisant cette classe. + \item Expérimentation de ces algorithmes et comparaison avec les algorithmes existants. + \end{itemize} + \end{block} + +\end{frame} + +\begin{frame} + \frametitle{Résumé de l'article} + + \begin{block}{Attentes} + Les auteurs cherchent à produire un algorithme maximisant l'interactivité et donc minimisant la latence. \newline + L'architecture étudiée est une architecture client-serveur, avec une connectivité en pair à pair entre les clients. + \end{block} + + Illustration de l'architecture + +\end{frame} + +\begin{frame} + \frametitle{Attaques} + + \begin{block}{Attaques} + \begin{itemize} + \item \textbf{Tempering} : Anticipation d'une opération reçue par le système, mais pas encore exécutée par l'ensemble des nœuds. + \item \textbf{Omitting Dependencies} : Création d'une opération suivant un sous ensemble des dépendances réelles. + \item \textbf{Unseen Dependencies} : Anticipation d'une opération non reçue par le système, mais probable d'arrivée. + \item \textbf{Sibling Generation} : Création de deux opérations différentes possédant le même identifiant. Réalisant ainsi une divergence entre les nœuds. + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Propriétés} + + \begin{block}{Propriétés} + \begin{itemize} + \item \textbf{Immutable History} : Chaque opération est envoyée avec son passé causal. (Parade le \textbf{Tempering}) + \item \textbf{No Future Dependencies} : Chaque opération est envoyée avec l'état qu'il connait des nœuds. (Parade l'\textbf{Unseen Dependencies}, il devient impossible de créer une opération à l'avance). + \item \textbf{Causal Execution} : Toute opération $o_i$ appartenant au passé causal d'une opération $o$ doit être sérialisable t.q. : $o_i < o$. (Fait office de synchronisation entre les nœuds) + \item \textbf{Eventual Sibling Detection} : Les opérations sont considérées comme des "jumeaux" éventuels et sont donc "révocables" via une nouvelle opération dédiée. (Parade (relativement) le \textbf{Sibling Generation}) + \item \textbf{Limited Omission} : à travailler + \end{itemize} + \end{block} + + Ces propriétés définissent la première classe que les auteurs introduisent : \textbf{Secure Causal Consistency}. +\end{frame} + +\begin{frame} + \frametitle{Les différentes classes de cohérence faible} + + \begin{block}{Les différentes classes de cohérence faible} + \begin{itemize} + \item \textbf{Secure Causal Consistency} : Respecte les propriétés précédentes ainsi que celles introduites par la convergence causale. + \item \textbf{Secure Strict Causal Consistency} : Extension de la précédente, mais avec un ordre total basé sur la vision d'un observateur externe. + \item \textbf{Extended Secure Causal Consistency} : + \end{itemize} + \end{block} + + +\end{frame} diff --git a/docs/presentations/LIS/vanderlinde/corps/index.tex b/docs/presentations/LIS/vanderlinde/corps/index.tex new file mode 100755 index 0000000..59ea92b --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/corps/index.tex @@ -0,0 +1 @@ +\input{corps/attaques.tex} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/images/carte_criteres.png b/docs/presentations/LIS/vanderlinde/images/carte_criteres.png new file mode 100755 index 0000000..cd71ddc Binary files /dev/null and b/docs/presentations/LIS/vanderlinde/images/carte_criteres.png differ diff --git a/docs/presentations/LIS/vanderlinde/intro/coherencecausale.tex b/docs/presentations/LIS/vanderlinde/intro/coherencecausale.tex new file mode 100755 index 0000000..e954478 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/intro/coherencecausale.tex @@ -0,0 +1,88 @@ +\begin{frame} + \frametitle{Cohérence Causale (Convergente)} + + \begin{columns} + \column{0.5\textwidth} + \resizebox{\columnwidth}{!}{ + \includegraphics{images/carte_criteres.png} + } + + \column{0.5\columnwidth} + \begin{block}{La cohérence causale selon Van Der Linde} + Usage du terme \textbf{Causal Consistency} qui pourrait être confondue avec la Cohérence Causale de Perrin. \newline + Mais s'approche plus de ce que Perrin qualifie de \textbf{Convergence Causale} (ou Causal Convergence (CCv)). \newline + Les auteurs souhaitent privilégier la \textbf{Convergence} à la \textbf{Validité}. + \end{block} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Cohérence Causale Faible (WCC)} + + \begin{block}{Définition} + Il existe un ordre causal tel que pour chaque lecture, il existe une linéarisation du passé causal de cet événement le justifiant. + \end{block} + + \only<1>{ + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=green!50!black] + \input{schemas/wcc_hc_1} + \end{tcolorbox} + \column{0.5\columnwidth} + $\textcolor{red}{w(1)} \bullet \textcolor{red!50}{r/(0,1)}$ \newline + $\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{green!75!black}{r/(3,1)}$ \newline + $\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{blue!50}{r/(3,1)}$ \newline + $\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{red!25}{r/(3,2)}$ \newline + $\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{blue!50}{r} \bullet \textcolor{blue!25}{r/(3,2)}$ \newline + \end{columns} + + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=red!50!black] + \input{schemas/wcc_hc_2} + \end{tcolorbox} + \column{0.5\columnwidth} + $w(1) \bullet r/(0,1)$ \newline + Ici il n'est pas possible de trouver un ordre causal qui permette de linéariser le passé causal de $r/(2,1)$. + \end{columns} + } + + \only<2>{ + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=green!50!black] + \input{schemas/wcc_hc_3} + \end{tcolorbox} + \column{0.5\columnwidth} + $\textcolor{green!75!black}{r/(0,0)}$ \newline + $\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{red!50}{r/(3,1)}$ \newline + $\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{blue!50}{r/(1,3)}$ \newline + $\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{red!25}{r/(1,2)^\omega}$ \newline + $\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{blue!50}{r} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{blue!25}{r/(3,2)^\omega}$ \newline + + Cet exemple respecte la validité, mais pas la convergence. + \end{columns} + } +\end{frame} + +\begin{frame} + \frametitle{Convergence Causale (CCv)} + + \begin{block}{Définition} + Il existe un ordre causal et un ordre total tel que pour chaque lecture, il existe une linéarisation du passé causal de cet événement trié suivant l'ordre total le justifiant. + \end{block} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=green!50!black] + \resizebox{1.2\columnwidth}{!}{ + \includegraphics{schemas/ccv_hc_1.png} + } + \end{tcolorbox} + \column{0.5\columnwidth} + % J'expliquerai au tableau + \end{columns} + +\end{frame} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/intro/history.tex b/docs/presentations/LIS/vanderlinde/intro/history.tex new file mode 100755 index 0000000..bd13db9 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/intro/history.tex @@ -0,0 +1,36 @@ +\subsubsection{Le début de l'informatique distribuée} +\begin{frame} + \frametitle{Les processeurs multicœurs} + + \begin{block}{Historique (1970)} + \begin{itemize} + \item Besoin d'augmenter les performances des processeurs + \begin{itemize} + \item Augmentation de la fréquence (limite physique) + \item Augmentation du nombre de processeurs (problèmes de cohérence) + \end{itemize} + \item Lamport à défini des propriétés permettant de définir la notion de cohérence forte. + \item L'approche de Lamport est de classer l'exécution et non pas l'algorithme. + \end{itemize} + \begin{quotation} + "A correct execution is achieved if the results produced are the same as would be produced by executing the program steps in order." + \footnote{Lamport, \emph{How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs}, 1979} + \end{quotation} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{La généralisation aux systèmes distribuée} + \begin{block}{Historique (1980)} + \begin{itemize} + \item Lamport étend sa définition de la cohérence forte aux systèmes distribués. \footnote{Lamport, \emph{On interprocess communication}, 1986} + \item Il définit trois propriétés : + \begin{itemize} + \item \textbf{Sûreté} + \item \textbf{Régularité} + \item \textbf{Atomicité} + \end{itemize} + \item Une exécution qui respecte ces 3 propriétés est dite linéarisable. + \end{itemize} + \end{block} +\end{frame} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/intro/index.tex b/docs/presentations/LIS/vanderlinde/intro/index.tex new file mode 100755 index 0000000..6cd59cf --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/intro/index.tex @@ -0,0 +1,11 @@ +\subsection{Historique} +\include{intro/history.tex} + +\subsection{La linéarisabilité} +\include{intro/linearisabilite.tex} + +\subsection{Rappels} +\include{intro/rappel.tex} + +\subsection{Cohérence Causale (Convergente)} +\include{intro/coherencecausale.tex} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/intro/linearisabilite.tex b/docs/presentations/LIS/vanderlinde/intro/linearisabilite.tex new file mode 100755 index 0000000..f0b5aa3 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/intro/linearisabilite.tex @@ -0,0 +1,45 @@ +\begin{frame} + \frametitle{Sûreté} + \begin{block}{Définition} + Toute lecture réalisée dans un même environnement non-concurrent est identique. + \end{block} + \begin{figure} + \input{schemas/linearisation_surete_hc} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{Régularité} + \begin{block}{Définition} + Une lecture concurrente à une écriture peut lire soit la valeur avant l'écriture, soit la valeur après l'écriture. + \end{block} + \begin{figure} + \input{schemas/linearisation_regularite_hc} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{Atomicité} + \begin{block}{Définition} + Si deux lectures ne sont pas concurrente la deuxième doit retourner une valeur au moins aussi récente que la première. + \end{block} + \begin{figure} + \input{schemas/linearisation_atomicite_hc} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{Cohérence Atomique ($C_\top$)} + + \begin{block}{Définition} + La cohérence atomique est le critère de cohérence le plus fort existant. + \begin{itemize} + \item Il est le moins efficace en terme d'interactivité. + \item Il demande une synchronisation entre les opérations + \begin{itemize} + \item Chaque opération d'écriture ou de lecture est bloquante et doit attendre la fin de la précédente. + \end{itemize} + \item Il est utilisé en tant que référence. + \end{itemize} + \end{block} +\end{frame} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/intro/rappel.tex b/docs/presentations/LIS/vanderlinde/intro/rappel.tex new file mode 100755 index 0000000..cd7f316 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/intro/rappel.tex @@ -0,0 +1,147 @@ +\begin{frame} + \frametitle{Les modèles de cohérences} + + \begin{columns} + \column{0.6\textwidth} + \footnote{Perrin, \emph{Concurrence et cohérence dans les systèmes répartis}, 2017} + \resizebox{\columnwidth}{!}{ + \includegraphics{images/carte_criteres.png} + } + + \column{0.4\columnwidth} + \begin{block}{Les classes de cohérences} + 2 Grandes familles : + \begin{itemize} + \item Cohérence Forte + \item Cohérence Faible : + \begin{itemize} + \item Localité d'état (SL) + \item Convergence (EC) + \item Validité (V) + \end{itemize} + \end{itemize} + \end{block} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Validité (V)} + + \begin{block}{Définition} + Il existe, un ensemble cofini d'événement tel que pour chacun d'entre eux une linéarisation de toutes les opérations d'écriture les justifient. \\ + \end{block} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=green!50!black] + \input{schemas/validite_hc_1} + \end{tcolorbox} + \column{0.5\columnwidth} + \begin{math} + \begin{array}{ll} + E' = & \{r/(2,1)^\omega, r/(1,2)^\omega\} \\ + & w(2) \bullet w(1) \bullet \textcolor{red}{r/(2,1)^\omega} \\ + & w(1) \bullet w(2) \bullet \textcolor{red}{r/(1,2)^\omega} \\ + \end{array} + \end{math} + \end{columns} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=red!50!black] + \input{schemas/validite_hc_2} + \end{tcolorbox} + \column{0.5\columnwidth} + $E' = \{r/(0,1)^\omega, r/(1,2)^\omega\}$. \\ + Il n'existe pas de linéarisation des opérations d'écritures qui justifie $r/(0,1)^\omega$. + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Localité d'état} + + \begin{block}{Définition} + Pour tout processus $p$, il existe une linéarisation contenant toutes les lectures pures de $p$. Respectant l'ordre local de ces lectures. \\ + \end{block} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=green!50!black] + \input{schemas/localiteetat_hc_1} + \end{tcolorbox} + \column{0.5\columnwidth} + \begin{math} + \begin{array}{l} + \textcolor{blue}{C_{p_0} = \{r/(0,0), r/(0,2)^\omega, w(2)\}}, \\ + \textcolor{red}{C_{p_1} = \{r/(0,0), r/(0,1)^\omega, w(1)\}}, \\ + \textcolor{blue}{r/(0,0) \bullet w(2) \bullet r/(0,2)^\omega} \\ + \textcolor{red}{r/(0,0) \bullet w(1) \bullet r/(0,1)^\omega} \\ + \end{array} + \end{math} + \end{columns} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=red!50!black] + \input{schemas/localiteetat_hc_2} + \end{tcolorbox} + \column{0.5\columnwidth} + $E'_{p_0} = \{r/(0,0), r/(2,1)^\omega\},$ \newline + $r/(0,0) \bullet w(2) \bullet w(1) \bullet r/(2,1)^\omega$ \newline + $E'_{p_1} = \{r/(0,1), r/(2,1)^\omega\}$. \newline + Il n'existe pas de linéarisation de $p_1$ respectant la localité d'état. + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Convergence (EC)} + + \begin{block}{Définition} + Il existe un ensemble cofini d'événements dont chacun peut être justifié par un seul et même état. \\ + \end{block} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=green!50!black] + \input{schemas/convergence_hc_1} + \end{tcolorbox} + \column{0.5\columnwidth} + $E' = \{r/(1,2)^\omega, r/(1,2)^\omega\}$ \newline + $\delta = ((1,2), \emptyset)$ est un état possible justifiant $E'$. + \end{columns} + + \begin{columns} + \column{0.4\columnwidth} + \begin{tcolorbox}[colframe=red!50!black] + \input{schemas/convergence_hc_2} + \end{tcolorbox} + \column{0.5\columnwidth} + $E' = \{r/(1,2)^\omega, r/(2,1)^\omega\}$. \newline + Il n'existe aucun état possible justifiant $E'$ puisque deux lectures infinies sont incohérentes. + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Cohérence Causale} + + \begin{columns} + \column{0.6\textwidth} + \resizebox{\columnwidth}{!}{ + \includegraphics{images/carte_criteres.png} + } + + \column{0.4\columnwidth} + \begin{block}{Les classes de la cohérence causale} + \begin{itemize} + \item \textbf{WCC}: Weak Causal Consistency (V) + \item \textbf{CCv}: Causal Convergence (V, EC) + \end{itemize} + \end{block} + + On respecte les propriétés suivantes : + \begin{itemize} + \item Localité d'état (SL) + \item Convergence (EC) + \end{itemize} + \end{columns} +\end{frame} diff --git a/docs/presentations/LIS/vanderlinde/main.tex b/docs/presentations/LIS/vanderlinde/main.tex new file mode 100755 index 0000000..8dd46a2 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/main.tex @@ -0,0 +1,58 @@ +\documentclass{beamer} +\usetheme{Boadilla} +\usecolortheme{orchid} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[french]{babel} +\usepackage{stackengine} + +\addtobeamertemplate{navigation symbols}{}{% + \usebeamerfont{footline}% + \usebeamercolor[fg]{footline}% + \hspace{1em}% + \insertframenumber/\inserttotalframenumber +} +\usepackage{ulem} +\usepackage{tkz-tab} +\setbeamertemplate{blocks}[rounded]% +[shadow=true] +\AtBeginSection{% + \begin{frame} + \tableofcontents[sections=\value{section}] + \end{frame} +} + +\usepackage{tikz} +\usetikzlibrary{positioning} +\usetikzlibrary{calc} +\usetikzlibrary{arrows.meta} + +\usepackage{tcolorbox} + +\usepackage{chronosys} + +\title[bwconsistency]{Cohérence faible byzantine appliquée au cloud} +\subtitle{Présentation intermédiaire: "Practical Client-side Replication: Weak Consistency Semantics for Insecure Settings"} +\author[JOLY Amaury]{JOLY Amaury\\ \textbf{Encadrants :} GODARD Emmanuel, TRAVERS Corentin } +% \\[2ex] \includegraphics[scale=0.1]{./img/amu.png} +\institute[LIS, Scille]{LIS-LAB, Scille} +\date{\today} + +\begin{document} + +\maketitle + +\begin{frame}{Table des matières} + \tableofcontents +\end{frame} + +\section{Introduction} +\input{intro/index.tex} + +\input{corps/index.tex} + +% \section{Les propriétés de la Cohérence Faible} +% \input{wconsistence_properties/index.tex} + +\end{document} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/ccv_hc_1.png b/docs/presentations/LIS/vanderlinde/schemas/ccv_hc_1.png new file mode 100755 index 0000000..a115a99 Binary files /dev/null and b/docs/presentations/LIS/vanderlinde/schemas/ccv_hc_1.png differ diff --git a/docs/presentations/LIS/vanderlinde/schemas/convergence_hc_1.tex b/docs/presentations/LIS/vanderlinde/schemas/convergence_hc_1.tex new file mode 100755 index 0000000..9217952 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/convergence_hc_1.tex @@ -0,0 +1,41 @@ +\resizebox{\columnwidth}{!}{ + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode] (11) {}; + \node[left] at (11.west) {$p_0$}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode] (12) [right=of 11] {}; + \node[above] at (12.north) {$I(a)$}; + \node[roundnode] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(0,1)$}; + \node[roundnode] (14) [right=35pt of 13] {}; + \node[above] at (14.north) {$r/(1,2)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + \draw[arrow] (13) -- (14); + + \node[roundnode] (21) [below=10pt of 11] {}; + \node[left] at (21.west) {$p_1$}; + \node[below] at (21.south) {$w(2)$}; + \node[roundnode] (22) [right=of 21] {}; + \node[below] at (22.south) {$R/\emptyset$}; + \node[roundnode] (23) [right=of 22] {}; + \node[below] at (23.south) {$r/(0,2)$}; + \node[roundnode] (24) [right=35pt of 23] {}; + \node[below] at (24.south) {$r/(1,2)^\omega$}; + + \draw[arrow] (21) -- (22); + \draw[arrow] (22) -- (23); + \draw[arrow] (23) -- (24); + + \draw (24) -- (14); + + \draw[dashed] ($(14)!0.5!(13) + (0,1)$) -- ++(0, -2.9); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/convergence_hc_2.tex b/docs/presentations/LIS/vanderlinde/schemas/convergence_hc_2.tex new file mode 100755 index 0000000..bd97baa --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/convergence_hc_2.tex @@ -0,0 +1,41 @@ +\resizebox{\columnwidth}{!}{ + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode] (11) {}; + \node[left] at (11.west) {$p_0$}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode] (12) [right=of 11] {}; + \node[above] at (12.north) {$I(a)$}; + \node[roundnode] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(0,1)$}; + \node[roundnode] (14) [right=35pt of 13] {}; + \node[above] at (14.north) {$r/(1,2)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + \draw[arrow] (13) -- (14); + + \node[roundnode] (21) [below=10pt of 11] {}; + \node[left] at (21.west) {$p_1$}; + \node[below] at (21.south) {$w(2)$}; + \node[roundnode] (22) [right=of 21] {}; + \node[below] at (22.south) {$R/\emptyset$}; + \node[roundnode] (23) [right=of 22] {}; + \node[below] at (23.south) {$r/(0,2)$}; + \node[roundnode] (24) [right=35pt of 23] {}; + \node[below] at (24.south) {$r/(2,1)^\omega$}; + + \draw[arrow] (21) -- (22); + \draw[arrow] (22) -- (23); + \draw[arrow] (23) -- (24); + + \draw (24) -- (14); + + \draw[dashed] ($(14)!0.5!(13) + (0,1)$) -- ++(0, -2.9); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/linearisation_atomicite_hc.tex b/docs/presentations/LIS/vanderlinde/schemas/linearisation_atomicite_hc.tex new file mode 100755 index 0000000..72e4f57 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/linearisation_atomicite_hc.tex @@ -0,0 +1,26 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundedrectangle/.style={draw, rounded corners, rectangle, minimum height=10pt, minimum width=20pt}, + invisible/.style={draw=none, fill=none}, + ] + + \node[invisible] (10) {}; + \node[roundedrectangle, minimum width=150pt] (11) [right=100pt of 10] {$w_x(1)$}; + \node[invisible] (12) [right=100pt of 11] {}; + + \node[invisible] (20) [below=15pt of 10] {}; + \node[roundedrectangle, minimum width=50pt] (21) [right=25pt of 20] {\textcolor{blue}{$r/(0)$}}; + \node[roundedrectangle, minimum width=50pt] (22) [right=75pt of 21] {\textcolor{blue}{$r/(0)$}}; + \node[roundedrectangle, minimum width=50pt] (23) [right=75pt of 22] {\textcolor{red}{$r/(1)$}}; + \node[invisible] (24) [below=15pt of 12] {}; + + \node[invisible] (30) [below=15pt of 20] {}; + \node[roundedrectangle, minimum width=50pt] (31) [right=125pt of 30] {\textcolor{red}{$r/(1)$}}; + \node[roundedrectangle, minimum width=50pt] (32) [right=40pt of 31] {\textcolor{red}{$r/(1)$}}; + \node[invisible] (33) [below=15pt of 24] {}; + + \draw (10) -- (11) -- (12); + \draw (20) -- (21) -- (22) -- (23) -- (24); + \draw (30) -- (31) -- (32) -- (33); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/linearisation_regularite_hc.tex b/docs/presentations/LIS/vanderlinde/schemas/linearisation_regularite_hc.tex new file mode 100755 index 0000000..281227c --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/linearisation_regularite_hc.tex @@ -0,0 +1,26 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundedrectangle/.style={draw, rounded corners, rectangle, minimum height=10pt, minimum width=20pt}, + invisible/.style={draw=none, fill=none}, + ] + + \node[invisible] (10) {}; + \node[roundedrectangle, minimum width=150pt] (11) [right=100pt of 10] {$w_x(1)$}; + \node[invisible] (12) [right=100pt of 11] {}; + + \node[invisible] (20) [below=15pt of 10] {}; + \node[roundedrectangle, minimum width=50pt] (21) [right=25pt of 20] {\textcolor{blue}{$r/(0)$}}; + \node[roundedrectangle, minimum width=50pt] (22) [right=75pt of 21] {\textcolor{blue}{$r/(0)$}}; + \node[roundedrectangle, minimum width=50pt] (23) [right=75pt of 22] {\textcolor{red}{$r/(1)$}}; + \node[invisible] (24) [below=15pt of 12] {}; + + \node[invisible] (30) [below=15pt of 20] {}; + \node[roundedrectangle, minimum width=50pt] (31) [right=125pt of 30] {\textcolor{red}{$r/(1)$}}; + \node[roundedrectangle, minimum width=50pt] (32) [right=40pt of 31] {\textcolor{blue}{$r/(0)$}}; + \node[invisible] (33) [below=15pt of 24] {}; + + \draw (10) -- (11) -- (12); + \draw (20) -- (21) -- (22) -- (23) -- (24); + \draw (30) -- (31) -- (32) -- (33); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/linearisation_surete_hc.tex b/docs/presentations/LIS/vanderlinde/schemas/linearisation_surete_hc.tex new file mode 100755 index 0000000..fde5f3a --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/linearisation_surete_hc.tex @@ -0,0 +1,26 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundedrectangle/.style={draw, rounded corners, rectangle, minimum height=10pt, minimum width=20pt}, + invisible/.style={draw=none, fill=none}, + ] + + \node[invisible] (10) {}; + \node[roundedrectangle, minimum width=150pt] (11) [right=100pt of 10] {$w_x(1)$}; + \node[invisible] (12) [right=100pt of 11] {}; + + \node[invisible] (20) [below=15pt of 10] {}; + \node[roundedrectangle, minimum width=50pt] (21) [right=25pt of 20] {\textcolor{blue}{$r/(0)$}}; + \node[roundedrectangle, minimum width=50pt] (22) [right=75pt of 21] {\textcolor{blue}{$r/(0)$}}; + \node[roundedrectangle, minimum width=50pt] (23) [right=75pt of 22] {\textcolor{red}{$r/(1)$}}; + \node[invisible] (24) [below=15pt of 12] {}; + + \node[invisible] (30) [below=15pt of 20] {}; + \node[roundedrectangle, minimum width=50pt] (31) [right=125pt of 30] {\textcolor{red!50!blue}{$r/(27)$}}; + \node[roundedrectangle, minimum width=50pt] (32) [right=40pt of 31] {\textcolor{red}{$r/(1)$}}; + \node[invisible] (33) [below=15pt of 24] {}; + + \draw (10) -- (11) -- (12); + \draw (20) -- (21) -- (22) -- (23) -- (24); + \draw (30) -- (31) -- (32) -- (33); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_1.tex b/docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_1.tex new file mode 100755 index 0000000..f61f58c --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_1.tex @@ -0,0 +1,34 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode, draw=red, fill=red] (11) {}; + \node[left] at (11.west) {$p_0$}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode, draw=blue, fill=blue] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(0,0)$}; + \node[roundnode, draw=blue, fill=blue] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(0,2)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode, draw=blue, fill=blue] (21) [below=10pt of 11] {}; + \node[left] at (21.west) {$p_1$}; + \node[below] at (21.south) {$w(2)$}; + \node[roundnode, draw=red, fill=red] (22) [right=of 21] {}; + \node[below] at (22.south) {$r/(0,0)$}; + \node[roundnode, draw=red, fill=red] (23) [right=of 22] {}; + \node[below] at (23.south) {$r/(0,1)^\omega$}; + + \draw[arrow] (21) -- (22); + \draw[arrow] (22) -- (23); + + \draw[message] (11) -- ($(22)!0.5!(23)$); + \draw[message] (21) -- ($(12)!0.5!(13)$); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_2.tex b/docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_2.tex new file mode 100755 index 0000000..3998248 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_2.tex @@ -0,0 +1,32 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode] (11) {}; + \node[left] at (11.west) {$p_0$}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(0,0)$}; + \node[roundnode] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(0,2)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode] (21) [below=10pt of 11] {}; + \node[left] at (21.west) {$p_1$}; + \node[below] at (21.south) {$w(2)$}; + \node[roundnode] (22) [right=of 21] {}; + \node[below] at (22.south) {$r/(0,1)$}; + \node[roundnode] (23) [right=of 22] {}; + \node[below] at (23.south) {$r/(2,1)^\omega$}; + + \draw[arrow] (21) -- (22); + \draw[arrow] (22) -- (23); + + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/validite_hc_1.tex b/docs/presentations/LIS/vanderlinde/schemas/validite_hc_1.tex new file mode 100755 index 0000000..1875a6b --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/validite_hc_1.tex @@ -0,0 +1,31 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode] (11) {}; + \node[left] at (11.west) {$p_0$}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(0,1)$}; + \node[roundnode] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(2,1)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode] (21) [below=10pt of 11] {}; + \node[left] at (21.west) {$p_1$}; + \node[below] at (21.south) {$w(2)$}; + \node[roundnode] (22) [right=of 21] {}; + \node[below] at (22.south) {$r/(0,2)$}; + \node[roundnode] (23) [right=of 22] {}; + \node[below] at (23.south) {$r/(1,2)^\omega$}; + + \draw[arrow] (21) -- (22); + \draw[arrow] (22) -- (23); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/validite_hc_2.tex b/docs/presentations/LIS/vanderlinde/schemas/validite_hc_2.tex new file mode 100755 index 0000000..4aaec99 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/validite_hc_2.tex @@ -0,0 +1,31 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode] (11) {}; + \node[left] at (11.west) {$p_0$}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(0,1)$}; + \node[roundnode] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(0,1)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode] (21) [below=10ptof 11] {}; + \node[left] at (21.west) {$p_1$}; + \node[below] at (21.south) {$w(2)$}; + \node[roundnode] (22) [right=of 21] {}; + \node[below] at (22.south) {$r/(0,2)$}; + \node[roundnode] (23) [right=of 22] {}; + \node[below] at (23.south) {$r/(1,2)^\omega$}; + + \draw[arrow] (21) -- (22); + \draw[arrow] (22) -- (23); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_1.tex b/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_1.tex new file mode 100755 index 0000000..839acb3 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_1.tex @@ -0,0 +1,42 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode, color=red] (11) {}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode, color=red!50] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(0,1)$}; + \node[roundnode, color=red!25] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(3,2)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode, color=green!75!black] (21) [below=20pt of 11] {}; + \node[left] at (21.west) {$r/(3,1)$}; + \node[roundnode, color=green!95!black] (22) [right=of 21] {}; + \node[right] at (22.east) {$w(2)$}; + + \draw[arrow] (21) -- (22); + + \node[roundnode, color=blue] (31) [below=20pt of 21] {}; + \node[below] at (31.south) {$w(3)$}; + \node[roundnode, color=blue!50] (32) [right=of 31] {}; + \node[below] at (32.south) {$r/(3,1)$}; + \node[roundnode, color=blue!25] (33) [right=of 32] {}; + \node[below] at (33.south) {$r/(3,2)^\omega$}; + + \draw[arrow] (31) -- (32); + \draw[arrow] (32) -- (33); + + \draw[message] (11) -- (21); + \draw[message] (31) -- (21); + \draw[message] (21) -- (32); + \draw[message] (22) -- (13); + \draw[message] (22) -- (33); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_2.tex b/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_2.tex new file mode 100755 index 0000000..1651ec2 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_2.tex @@ -0,0 +1,29 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode] (11) {}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(2,1)$}; + \node[roundnode] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(2,1)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode] (21) [below=20pt of 11] {}; + \node[left] at (21.west) {$r/(0,1)$}; + \node[roundnode] (22) [right=of 21] {}; + \node[right] at (22.east) {$w(2)$}; + + \draw[arrow] (21) -- (22); + + \draw[message] (11) -- (21); + \draw[message] (22) -- (12); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_3.tex b/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_3.tex new file mode 100755 index 0000000..6b109f9 --- /dev/null +++ b/docs/presentations/LIS/vanderlinde/schemas/wcc_hc_3.tex @@ -0,0 +1,41 @@ +\resizebox{\columnwidth}{!}{% + \begin{tikzpicture}[ + roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,}, + ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,}, + arrow/.style={|->, thick,}, + message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}}, + ] + + \node[roundnode, color=red] (11) {}; + \node[above] at (11.north) {$w(1)$}; + \node[roundnode, color=red!50] (12) [right=of 11] {}; + \node[above] at (12.north) {$r/(3,1)$}; + \node[roundnode, color=red!25] (13) [right=of 12] {}; + \node[above] at (13.north) {$r/(1,2)^\omega$}; + + \draw[arrow] (11) -- (12); + \draw[arrow] (12) -- (13); + + \node[roundnode, color=green!75!black] (21) [below=20pt of 11] {}; + \node[left] at (21.west) {$r/(0,0)$}; + \node[roundnode, color=green!95!black] (22) [right=of 21] {}; + \node[right] at (22.east) {$w(2)$}; + + \draw[arrow] (21) -- (22); + + \node[roundnode, color=blue] (31) [below=20pt of 21] {}; + \node[below] at (31.south) {$w(3)$}; + \node[roundnode, color=blue!50] (32) [right=of 31] {}; + \node[below] at (32.south) {$r/(1,3)$}; + \node[roundnode, color=blue!25] (33) [right=of 32] {}; + \node[below] at (33.south) {$r/(3,2)^\omega$}; + + \draw[arrow] (31) -- (32); + \draw[arrow] (32) -- (33); + + \draw[message] (11) -- (31); + \draw[message] (31) -- (12); + \draw[message] (22) -- (13); + \draw[message] (22) -- (33); + \end{tikzpicture} +} \ No newline at end of file diff --git a/docs/presentation_scille_21_06/box.css b/docs/presentations/scille/seminaire_ete_2023/box.css similarity index 100% rename from docs/presentation_scille_21_06/box.css rename to docs/presentations/scille/seminaire_ete_2023/box.css diff --git a/docs/presentation_scille_21_06/img/cartographie.png b/docs/presentations/scille/seminaire_ete_2023/img/cartographie.png similarity index 100% rename from docs/presentation_scille_21_06/img/cartographie.png rename to docs/presentations/scille/seminaire_ete_2023/img/cartographie.png diff --git a/docs/presentation_scille_21_06/img/cartographie_simplifie.png b/docs/presentations/scille/seminaire_ete_2023/img/cartographie_simplifie.png similarity index 100% rename from docs/presentation_scille_21_06/img/cartographie_simplifie.png rename to docs/presentations/scille/seminaire_ete_2023/img/cartographie_simplifie.png diff --git a/docs/presentation_scille_21_06/img/perrin.png b/docs/presentations/scille/seminaire_ete_2023/img/perrin.png similarity index 100% rename from docs/presentation_scille_21_06/img/perrin.png rename to docs/presentations/scille/seminaire_ete_2023/img/perrin.png diff --git a/docs/presentation_scille_21_06/img/reparti.png b/docs/presentations/scille/seminaire_ete_2023/img/reparti.png similarity index 100% rename from docs/presentation_scille_21_06/img/reparti.png rename to docs/presentations/scille/seminaire_ete_2023/img/reparti.png diff --git a/docs/presentation_scille_21_06/main.md b/docs/presentations/scille/seminaire_ete_2023/main.md similarity index 100% rename from docs/presentation_scille_21_06/main.md rename to docs/presentations/scille/seminaire_ete_2023/main.md diff --git a/docs/presentation_scille_21_06/main.revealjs.htm b/docs/presentations/scille/seminaire_ete_2023/main.revealjs.htm similarity index 100% rename from docs/presentation_scille_21_06/main.revealjs.htm rename to docs/presentations/scille/seminaire_ete_2023/main.revealjs.htm diff --git a/docs/presentation_scille_21_06/metropolis.css b/docs/presentations/scille/seminaire_ete_2023/metropolis.css similarity index 100% rename from docs/presentation_scille_21_06/metropolis.css rename to docs/presentations/scille/seminaire_ete_2023/metropolis.css diff --git a/docs/presentation_scille_21_06/sunblind.css b/docs/presentations/scille/seminaire_ete_2023/sunblind.css similarity index 100% rename from docs/presentation_scille_21_06/sunblind.css rename to docs/presentations/scille/seminaire_ete_2023/sunblind.css