diff options
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} |