edit presentation dalgo + gitignore latex
This commit is contained in:
parent
6d37e433ef
commit
e27c7dea04
0
docs/.gitignore
vendored
Normal file → Executable file
0
docs/.gitignore
vendored
Normal file → Executable file
@ -0,0 +1,15 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Conclusion}
|
||||||
|
|
||||||
|
\begin{block}{What's next ?}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Study and formalize some "in-prod" algoritms using weak consistency in byzantin contexts.
|
||||||
|
\item Continue the colaboration with Parsec:
|
||||||
|
\begin{itemize}
|
||||||
|
\item formalize a list of properties
|
||||||
|
\item provide a proof of concept of a colaborative editor
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
@ -0,0 +1,14 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{The Byzantin context associate to the weak consistency}
|
||||||
|
|
||||||
|
\begin{block}{Some questions about:}
|
||||||
|
\begin{itemize}
|
||||||
|
\item is the weak consistency introduce new possibility of malicious behaviours.
|
||||||
|
\item is the weak consistency reduce by design the field of milicious behaviours.
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
The state of the art is poor about these questions and few formalized algoritms are avaible.
|
||||||
|
|
||||||
|
|
||||||
|
\end{frame}
|
@ -0,0 +1,122 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{The models of consistency}
|
||||||
|
|
||||||
|
\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 big family :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Strong Consistency
|
||||||
|
\item Weak Consistency :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Eventual Consistency (EC)
|
||||||
|
\item State Locality (SL)
|
||||||
|
\item Validity (V)
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Eventual Consistency (EC)}
|
||||||
|
|
||||||
|
\begin{block}{Definition}
|
||||||
|
There exist a set of confinite operations where each one must be justify with the same state.
|
||||||
|
\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)$ is a valid state justifying $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
|
||||||
|
There exist no state able to justify $E'$ because the two infinite read are not consistent.
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{State Locality}
|
||||||
|
|
||||||
|
\begin{block}{Definition}
|
||||||
|
For all $p$, there exist one linearization who include all the read operations of $p$. According to the local order of these reads. \\
|
||||||
|
\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
|
||||||
|
There exist no linearization of $p_1$ satisfying the definition of state locality
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Validity (V)}
|
||||||
|
|
||||||
|
\begin{block}{Definition}
|
||||||
|
There exist a cofinite set of operations such as for each of them must be justified by a linearization of all the write operation.
|
||||||
|
\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\}$. \\
|
||||||
|
There is no linearization of the write operation able to justify $r/(0,1)^\omega$.
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
@ -0,0 +1,45 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Safety}
|
||||||
|
\begin{block}{Definition}
|
||||||
|
Each \textbf{read} operation made in the same \textbf{non-competitor} context provide the same result.
|
||||||
|
\end{block}
|
||||||
|
\begin{figure}
|
||||||
|
\input{schemas/linearisation_surete_hc}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Regularity}
|
||||||
|
\begin{block}{Definition}
|
||||||
|
An \textbf{reading operation concurrent with a writing operation} must provide the value \textbf{before or after the write}.
|
||||||
|
\end{block}
|
||||||
|
\begin{figure}
|
||||||
|
\input{schemas/linearisation_regularite_hc}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Atomicity}
|
||||||
|
\begin{block}{Definition}
|
||||||
|
If \textbf{two reading are non-competitor}, the second one must provide a value \textbf{at least as recent as} the previous one.
|
||||||
|
\end{block}
|
||||||
|
\begin{figure}
|
||||||
|
\input{schemas/linearisation_atomicite_hc}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Atomic Consistency ($C_\top$)}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Atomic consistency is the stronger consistency class.
|
||||||
|
\begin{itemize}
|
||||||
|
\item Provide an awful interactivity.
|
||||||
|
\item Need a strong synchronization between each operation.
|
||||||
|
\begin{itemize}
|
||||||
|
\item Each read or write operation lock the others and need to wait the realease from the previous one.
|
||||||
|
\end{itemize}
|
||||||
|
\item He's used as a reference for the other consistency class.
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
@ -0,0 +1,8 @@
|
|||||||
|
\subsection{Strong consistency}
|
||||||
|
\include{consistency/forte.tex}
|
||||||
|
|
||||||
|
\subsection{The compromises of the strong consistency}
|
||||||
|
\include{consistency/faible.tex}
|
||||||
|
|
||||||
|
\subsection{In a malicious context ?}
|
||||||
|
\include{consistency/byzantin.tex}
|
@ -0,0 +1,32 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{A distributed system}
|
||||||
|
|
||||||
|
\begin{block}{Definition}
|
||||||
|
A distributed system is a group of \textbf{actors} able to comunicate \textbf{each-other} working together to \textbf{complete a common task}.
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
% Schéma d'un système distribué
|
||||||
|
|
||||||
|
The system we consider on this presentation is a \textbf{asynchronous message-passing} system.
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{A distributed system is a living system}
|
||||||
|
|
||||||
|
A distributed system changes over time.
|
||||||
|
|
||||||
|
There's some way to study these changes :
|
||||||
|
\begin{itemize}
|
||||||
|
\item focus on the \textbf{churn} (node addition and removal).
|
||||||
|
\item focus on the \textbf{messages}.
|
||||||
|
\item focus on the \textbf{connectedness}.
|
||||||
|
\item focus on the \textbf{states}. $\Leftarrow$
|
||||||
|
\item probably more... ?
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The study of the state changes is also called the study of \textbf{consistency}.
|
||||||
|
|
||||||
|
\textbf{A small exemple}: A peer-to-peer discussion
|
||||||
|
|
||||||
|
\end{frame}
|
@ -0,0 +1,2 @@
|
|||||||
|
\subsection{Définition}
|
||||||
|
\include{distr_sys/bases}
|
BIN
docs/presentations/LIS/DALGO_6_juillet_2023/images/carte_criteres.png
Executable file
BIN
docs/presentations/LIS/DALGO_6_juillet_2023/images/carte_criteres.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 159 KiB |
@ -0,0 +1,5 @@
|
|||||||
|
\subsection{Introduction}
|
||||||
|
\include{intro/presentation.tex}
|
||||||
|
|
||||||
|
\subsection{My internship}
|
||||||
|
\include{intro/suite.tex}
|
@ -0,0 +1,16 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Présentation}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Amaury JOLY
|
||||||
|
\item Master Informatique
|
||||||
|
\begin{itemize}
|
||||||
|
\item Option Fiabilité Sécurité Informatique (FSI)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{frame}
|
18
docs/presentations/LIS/DALGO_6_juillet_2023/intro/suite.tex
Normal file
18
docs/presentations/LIS/DALGO_6_juillet_2023/intro/suite.tex
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{My Internship}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Begin in april
|
||||||
|
\item Collaboration between Parsec and LIS-LAB
|
||||||
|
\begin{itemize}
|
||||||
|
\item Parsec is a for-profit organization working on an open-source software named Parsec
|
||||||
|
\item It's a software architecture to file sharing with E2EE in a zero-trust approach
|
||||||
|
\end{itemize}
|
||||||
|
\item Parsec want to add Collaborative Editing on their products:
|
||||||
|
\begin{itemize}
|
||||||
|
\item With a zero-trust approach (so probably decentralized)
|
||||||
|
\item With a high avaibility and low latency approach
|
||||||
|
\end{itemize}
|
||||||
|
\item Subject is \textit{Weak Consistency Byzantin Fault Tolerent}
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
60
docs/presentations/LIS/DALGO_6_juillet_2023/main.tex
Executable file
60
docs/presentations/LIS/DALGO_6_juillet_2023/main.tex
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
\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}
|
||||||
|
|
||||||
|
\title[bwconsistency]{Étude de la cohérence dans les systèmes distribués}
|
||||||
|
\subtitle{Journée DALGO}
|
||||||
|
\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{6 juillet 2023}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\begin{frame}{Table des matières}
|
||||||
|
\tableofcontents
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
\input{intro/index.tex}
|
||||||
|
|
||||||
|
\section{Distributed systems and consistency}
|
||||||
|
\input{distr_sys/index.tex}
|
||||||
|
|
||||||
|
\section{The compromises of consistency}
|
||||||
|
\input{consistency/index.tex}
|
||||||
|
|
||||||
|
\section{What's next ?}
|
||||||
|
\input{conclusion/index.tex}
|
||||||
|
|
||||||
|
\end{document}
|
BIN
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/ccv_hc_1.png
Executable file
BIN
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/ccv_hc_1.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
41
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/convergence_hc_1.tex
Executable file
41
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/convergence_hc_1.tex
Executable file
@ -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}
|
||||||
|
}
|
41
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/convergence_hc_2.tex
Executable file
41
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/convergence_hc_2.tex
Executable file
@ -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}
|
||||||
|
}
|
@ -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}
|
||||||
|
}
|
@ -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}
|
||||||
|
}
|
@ -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}
|
||||||
|
}
|
34
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/localiteetat_hc_1.tex
Executable file
34
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/localiteetat_hc_1.tex
Executable file
@ -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}
|
||||||
|
}
|
32
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/localiteetat_hc_2.tex
Executable file
32
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/localiteetat_hc_2.tex
Executable file
@ -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}
|
||||||
|
}
|
31
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/validite_hc_1.tex
Executable file
31
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/validite_hc_1.tex
Executable file
@ -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}
|
||||||
|
}
|
31
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/validite_hc_2.tex
Executable file
31
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/validite_hc_2.tex
Executable file
@ -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}
|
||||||
|
}
|
42
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/wcc_hc_1.tex
Executable file
42
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/wcc_hc_1.tex
Executable file
@ -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}
|
||||||
|
}
|
29
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/wcc_hc_2.tex
Executable file
29
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/wcc_hc_2.tex
Executable file
@ -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}
|
||||||
|
}
|
41
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/wcc_hc_3.tex
Executable file
41
docs/presentations/LIS/DALGO_6_juillet_2023/schemas/wcc_hc_3.tex
Executable file
@ -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}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user