From 5e830f5fb60c4bb186cbd4bd92908e187c037af4 Mon Sep 17 00:00:00 2001
From: Mohammad Akhlaghi <mohammad@akhlaghi.org>
Date: Sat, 18 Jan 2020 04:03:13 +0000
Subject: 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.
---
 tex/src/figure-data-lineage.tex | 236 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 236 insertions(+)
 create mode 100644 tex/src/figure-data-lineage.tex

(limited to 'tex/src/figure-data-lineage.tex')

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}
-- 
cgit v1.2.1

