aboutsummaryrefslogtreecommitdiff
path: root/tex/src/figure-data-lineage.tex
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-01-18 04:03:13 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-01-18 04:30:24 +0000
commit5e830f5fb60c4bb186cbd4bd92908e187c037af4 (patch)
treeb727dc5653ec833f93efe29d80e806192563cfbe /tex/src/figure-data-lineage.tex
parent4483a81c4254596dd2fa977e7a2faf6f28a7ac6f (diff)
Raw draft (until now as a separate repository) imported
Until now, I was writing the paper without the template. But we will soon be adding a tutorial to the template, and I thought it will be good to have an example demonstration here too. So I just brought the hole project into the template structure, allowing us to add the template analysis later when its ready, and also allowing us to easily reproduce this paper ofcourse (without having to worry about the host's TeXLive installation.
Diffstat (limited to 'tex/src/figure-data-lineage.tex')
-rw-r--r--tex/src/figure-data-lineage.tex236
1 files changed, 236 insertions, 0 deletions
diff --git a/tex/src/figure-data-lineage.tex b/tex/src/figure-data-lineage.tex
new file mode 100644
index 0000000..d849e8c
--- /dev/null
+++ b/tex/src/figure-data-lineage.tex
@@ -0,0 +1,236 @@
+\newcommand{\paperpdf}{}
+\newcommand{\papertex}{}
+\newcommand{\projecttex}{}
+\newcommand{\verifytex}{}
+\newcommand{\initializetex}{}
+\newcommand{\downloadtex}{}
+\newcommand{\inputtwo}{}
+\newcommand{\inputsconf}{}
+\newcommand{\analysisonetex}{}
+\newcommand{\outoneb}{}
+\newcommand{\outonebdep}{}
+\newcommand{\inputone}{}
+\newcommand{\inputonedep}{}
+\newcommand{\analysistwotex}{}
+\newcommand{\outtwob}{}
+\newcommand{\outtwobdep}{}
+\newcommand{\analysisthreetex}{}
+\newcommand{\analysisthreeouts}{}
+\newcommand{\outtwoa}{}
+\newcommand{\outtwoadep}{}
+\newcommand{\outthreeadep}{}
+
+
+
+
+
+\begin{tikzpicture}[
+ line width=1.5pt,
+ black!50,
+ text=black,
+]
+
+ %% Use small fonts
+ \footnotesize
+
+ %% These white lines are only added to fix the vertical position of
+ %% the figure so it doesn't change as we add more boxes.
+ \draw [white] (-7.5,0) -- (7.4,0);
+ \draw [white] (0,-4.7) -- (0,5.7);
+
+ %% top-make.mk
+ \node [at={(-0.05cm,2mm)},
+ rectangle,
+ very thick,
+ text centered,
+ font=\ttfamily,
+ text width=2.8cm,
+ minimum height=7.8cm,
+ draw=green!50!black!50,
+ minimum width=\linewidth,
+ fill=black!10!green!2!white,
+ label={[shift={(0,-5mm)}]\texttt{top-make.mk}}] {};
+
+ %% Work-horse Makefiles. -5.6 -> -5.73 = -0.13
+ \node (initializemk) [node-makefile, at={(-5.73cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{initialize.mk}}] {};
+ \node (downloadmk) [node-makefile, at={(-2.93cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{download.mk}}] {};
+ \node (analysis1mk) [node-makefile, at={(-0.13cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{analysis1.mk}}] {};
+ \node (analysis2mk) [node-makefile, at={(2.67cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{analysis2.mk}}] {};
+ \node (analysis2mk) [node-makefile, at={(5.47cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{analysis3.mk}}] {};
+
+ %% verify.mk
+ \node [at={(-5.3cm,-2.8cm)},
+ thick,
+ rectangle,
+ text centered,
+ font=\ttfamily,
+ text width=2.45cm,
+ minimum width=3.5cm,
+ minimum height=1.3cm,
+ draw=green!50!black!50,
+ fill=black!10!green!12!white,
+ label={[shift={(1cm,-5mm)}]\texttt{verify.mk}}] {};
+
+ %% Paper.mk
+ \node [at={(2.67cm,-2.8cm)},
+ thick,
+ rectangle,
+ text centered,
+ text width=2.8cm,
+ minimum width=8.5cm,
+ minimum height=1.3cm,
+ draw=green!50!black!50,
+ fill=black!10!green!12!white,
+ font=\ttfamily,
+ label={[shift={(0,-5mm)}]\texttt{paper.mk}}] {};
+
+ %% paper.pdf
+ \ifdefined\paperpdf
+ \node (paperpdf) [node-terminal, at={(5.47cm,-2.9cm)}] {paper.pdf};
+ \fi
+
+ %% paper.tex
+ \ifdefined\papertex
+ \node (papertex) [node-nonterminal, at={(5.47cm,-4.2cm)}] {paper.tex};
+ \draw [->] (papertex) -- (paperpdf);
+ \fi
+
+ %% project.tex
+ \ifdefined\projecttex
+ \node (projecttex) [node-terminal, at={(-0.13cm,-2.9cm)}] {project.tex};
+ \draw [->] (projecttex) -- (paperpdf);
+ \fi
+
+ %% verify.tex
+ \ifdefined\verifytex
+ \node (verifytex) [node-terminal, at={(-5.73cm,-2.9cm)}] {verify.tex};
+ \draw [->] (verifytex) -- (projecttex);
+ \fi
+
+ %% Initialize.tex
+ \ifdefined\initializetex
+ \node (initializetex) [node-terminal, at={(-5.73cm,-0.8cm)}] {initialize.tex};
+ \node (initialize-south) [node-point, at={(-5.73cm,-1.5cm)}] {};
+ \draw [->] (initializetex) -- (verifytex);
+ \node [anchor=west, at={(-7.05cm,2.30cm)}] {Basic project info};
+ \node [anchor=west, at={(-7.05cm,1.95cm)}] {(e.g., Git commit).};
+ \node [anchor=west, at={(-7.05cm,1.10cm)}] {Also defines};
+ \node [anchor=west, at={(-7.05cm,0.75cm)}] {project structure};
+ \node [anchor=west, at={(-7.05cm,0.40cm)}] {(for \texttt{*.mk} files).};
+ \fi
+
+ %% download.tex
+ \ifdefined\downloadtex
+ \node (downloadtex) [node-terminal, at={(-2.93cm,-0.8cm)}] {download.tex};
+ \draw [rounded corners, -] (downloadtex) |- (initialize-south);
+ \fi
+
+ %% input-2.dat
+ \ifdefined\inputtwo
+ \node (input2) [node-terminal, at={(-2.93cm,1.1cm)}] {input2.dat};
+ \draw [->] (input2) -- (downloadtex);
+ \fi
+
+ %% INPUTS.conf
+ \ifdefined\inputsconf
+ \node (INPUTS) [node-nonterminal, at={(-2.93cm,4.6cm)}] {INPUTS.conf};
+ \node (input2-west) [node-point, at={(-4.33cm,1.1cm)}] {};
+ \draw [->,rounded corners] (INPUTS.west) -| (input2-west) |- (input2);
+ \fi
+
+ %% analysis1.tex
+ \ifdefined\analysisonetex
+ \node (a1tex) [node-terminal, at={(-0.13cm,-0.8cm)}] {analysis1.tex};
+ \draw [rounded corners, -] (a1tex) |- (initialize-south);
+ \fi
+
+ %% out1b.dat
+ \ifdefined\outoneb
+ \node (out1b) [node-terminal, at={(-0.13cm,1.1cm)}] {out-1b.dat};
+ \draw [->] (out1b) -- (a1tex);
+ \fi
+
+ %% outonebdep
+ \ifdefined\outonebdep
+ \node (out1b-west) [node-point, at={(-1.53cm,1.1cm)}] {};
+ \node (out1a) [node-terminal, at={(-0.13cm,2.7cm)}] {out-1a.dat};
+ \node (a1conf1) [node-nonterminal, at={(-0.13cm,4.6cm)}] {param-1.conf};
+ \draw [->] (input2) -- (out1b);
+ \draw [->] (out1a) -- (out1b);
+ \draw [->,rounded corners] (a1conf1.west) -| (out1b-west) |- (out1b);
+ \fi
+
+ %% input1.dat
+ \ifdefined\inputone
+ \node (input1) [node-terminal, at={(-2.93cm,1.9cm)}] {input1.dat};
+ \draw [->,rounded corners,] (input1.north) |- (out1a);
+ \fi
+
+ %% input1 dependencies
+ \ifdefined\inputonedep
+ \node (input1-east) [node-point, at={(-1.53cm,1.9cm)}] {};
+ \node (input1-west) [node-point, at={(-4.33cm,1.9cm)}] {};
+ \draw [->,rounded corners] (INPUTS.west) -| (input1-west) |- (input1);
+ \fi
+
+ %% analysis2.tex
+ \ifdefined\analysistwotex
+ \node (a2tex) [node-terminal, at={(2.67cm,-0.8cm)}] {analysis2.tex};
+ \draw [rounded corners, -] (a2tex) |- (initialize-south);
+ \fi
+
+ %% out-2b.dat
+ \ifdefined\outtwob
+ \node (out2b) [node-terminal, at={(2.67cm,0.3cm)}] {out-2b.dat};
+ \draw [->] (out2b) -- (a2tex);
+ \fi
+
+ %% out-2b dependencies
+ \ifdefined\outtwobdep
+ \draw [->,rounded corners,] (out1b.south) |- (out2b);
+ \fi
+
+ %% analysis3.tex
+ \ifdefined\analysisthreetex
+ \node (a3tex) [node-terminal, at={(5.47cm,-0.8cm)}] {analysis3.tex};
+ \draw [rounded corners, -] (a3tex) |- (initialize-south);
+ \fi
+
+ %% Outputs of analysis3
+ \ifdefined\analysisthreeouts
+ \node (out3a) [node-terminal, at={(5.47cm,2.7cm)}] {out-3a.dat};
+ \node (out3b) [node-terminal, at={(5.47cm,1.1cm)}] {out-3b.dat};
+ \node (a3tex-east) [node-point, at={(6.87cm,-0.8cm)}] {};
+ \draw [->,rounded corners] (out3a.east) -| (a3tex-east) |- (a3tex);
+ \draw [->] (out3b) -- (a3tex);
+ \fi
+
+ %% out-2a.dat
+ \ifdefined\outtwoa
+ \node (out2a) [node-terminal, at={(2.67cm,1.9cm)}] {out-2a.dat};
+ \draw [->, rounded corners] (out2a.south) |- (out3b);
+ \fi
+
+ %% Dependencies of out-2a
+ \ifdefined\outtwoadep
+ \node (a2conf1) [node-nonterminal, at={(2.67cm,5.3cm)}] {param-2a.conf};
+ \node (a2conf2) [node-nonterminal, at={(2.67cm,4.6cm)}] {param-2b.conf};
+ \node (out2a-west) [node-point, at={(1.27cm,1.9cm)}] {};
+ \draw [->,rounded corners] (a2conf1.west) -| (out2a-west) |- (out2a);
+ \draw [->,rounded corners] (a2conf2.west) -| (out2a-west) |- (out2a);
+ \draw [->] (input1) -- (out2a);
+ \fi
+
+ %% Dependencies of out-3a
+ \ifdefined\outthreeadep
+ \node (out3a-west) [node-point, at={(4.07cm,2.7cm)}] {};
+ \node (a3conf1) [node-nonterminal, at={(5.47cm,4.6cm)}] {param-3.conf};
+ \draw [->] (out1a) -- (out3a);
+ \draw [rounded corners] (a3conf1.west) -| (out3a-west) |- (out3a);
+ \fi
+\end{tikzpicture}