diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-01-18 04:03:13 +0000 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-01-18 04:30:24 +0000 |
commit | 5e830f5fb60c4bb186cbd4bd92908e187c037af4 (patch) | |
tree | b727dc5653ec833f93efe29d80e806192563cfbe /tex/src/figure-data-lineage.tex | |
parent | 4483a81c4254596dd2fa977e7a2faf6f28a7ac6f (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.tex | 236 |
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} |