1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
\documentclass[crop,tikz,convert]{standalone}
\usetikzlibrary{shapes,matrix,positioning,chains,arrows,shadows,decorations.pathmorphing,fit,backgrounds}
\begin{document}
\begin{tikzpicture}[auto]
\tikzstyle{box} = [rectangle, drop shadow, draw=black, fill=white, thick, minimum width=4cm, rounded corners, align=center,font=\ttfamily\large]
\tikzstyle{chead} = [font=\large\bfseries]
\tikzstyle{rhead} = [chead,align=left, minimum width=4cm]
\tikzstyle{bg} = [rectangle, fill=gray!10, inner sep=0.2cm, rounded corners=5mm]
\tikzstyle{hl} = [rectangle, draw=red, inner sep=0.2cm, rounded corners=5mm]
\matrix [row sep=10mm, column sep=5mm] (mat) {
\node (chead0) [minimum width=4cm] {}; \pgfmatrixnextcell
\node (chead1) [chead] {Regular Registry}; \pgfmatrixnextcell
\node (chead2) [chead] {Common}; \pgfmatrixnextcell
\node (chead3) [chead] {Experiment Registry}; \\
\node (registry0) [rhead] {(1) Create Registry}; \pgfmatrixnextcell
\node (registry1) [box] {makeRegistry}; \pgfmatrixnextcell
\node (registry2) {}; \pgfmatrixnextcell
\node (registry3) [box] {makeExperimentRegistry}; \\
\node (define0) [rhead] {(2) Define Jobs}; \pgfmatrixnextcell
\node (define1) [box] {batchMap \\ batchReduce}; \pgfmatrixnextcell
\node (define2) [box] {batchMapResults}; \pgfmatrixnextcell
\node (define3) [box] {addProblem \\ addAlgorithm \\ addExperiments}; \\
\node (subsetting0) [rhead] {(3) Subset Jobs}; \pgfmatrixnextcell
\node (subsetting1) [box] {findJobs}; \pgfmatrixnextcell
\node (subsetting2) [box] {findDone\\ findErrors \\\ldots}; \pgfmatrixnextcell
\node (subsetting3) [box] {findExperiments}; \\
\node (submit0) [rhead] {(4) Submit Jobs}; \pgfmatrixnextcell
\node (submit1) {}; \pgfmatrixnextcell
\node (submit2) [box] {submitJobs}; \pgfmatrixnextcell
\node (submit3) {}; \\
\node (status0) [rhead] {(5) Monitor \& Debug}; \pgfmatrixnextcell
\node (status1) {}; \pgfmatrixnextcell
\node (status2) [box] {getStatus \\ testJob \\ showLog \\ grepLogs}; \pgfmatrixnextcell
\node (status3) [box] {summarizeExperiments}; \\
\node (collect0) [rhead] {(6) Collect Results}; \pgfmatrixnextcell
\node (collect1) {}; \pgfmatrixnextcell
\node (collect2) [box] {loadResult \\ reduceResults \\ reduceResults[List|DataTable]}; \pgfmatrixnextcell
\node (collect3) {}; \\
};
\begin{pgfonlayer}{background}
\node [bg, fit=(chead0) (collect0)] {};
\node [bg, fit=(chead0) (chead3)] {};
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
|