-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathInsightControlFlowTikz.tex
44 lines (44 loc) · 2.49 KB
/
InsightControlFlowTikz.tex
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
\begin{figure*}[!htb]
\centering
\tikzstyle{decision} = [diamond, draw, fill=blue!20,
text width=4.5em, text badly centered, node distance=2.5cm, inner sep=0pt]
\tikzstyle{instance} = [circle, draw, fill=violet!20,
text width=6em, text centered, rounded corners, minimum height=4em]
\tikzstyle{dwblock} = [rectangle, draw, fill=green!20,
text width=5em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, very thick, color=black!50, -latex']
\tikzstyle{linesansserif} = [draw, very thick, color=black!50, latex']
\tikzstyle{factoryblock} = [rectangle, draw, fill=blue!20,
text width=6em, text centered, rounded corners, minimum height=4em]
\tikzstyle{aggregator} = [cylinder,
draw = violet,
text = black,
cylinder uses custom fill,
cylinder body fill = magenta!10,
cylinder end fill = magenta!40,
aspect = 0.2,
shape border rotate = 90]
\tikzstyle{coord} = [coordinate, on chain, on grid, node distance=2cm]
\begin{tikzpicture}[scale=4, node distance = 3cm, auto]
% Place nodes
\node [instance] (CC) {Consent Contract};
\node [factoryblock, left of=CC, node distance=4cm] (CCF) {Contract Factory};
\node [dwblock, below of=CC] (identify) {Event Detection};
\node [dwblock, below of=identify] (evaluate) {Query Evaluation};
\node [dwblock, below of=evaluate, node distance=2.5cm] (permissions) {Permission Resolution};
\node [dwblock, below of=permissions, node distance=2.5cm] (data) {Persistence Layer Access};
\node [aggregator, right of=evaluate, node distance=6cm] (AS) {Aggregation Service};
\node [coord, left of=data] (asdf) {}; \cmark{4}
% Draw edges
\path [line] (CC) -- node {requestForData event} (identify);
\path [line] (identify) -- node {CID resolution and query fetch} (evaluate);
\path [line] (evaluate) -- node {AST processing} (permissions);
\path [line] (permissions) -- node {read only access} (data);
\path [linesansserif] (data) -- (asdf);
\path [line] (asdf) |- node [near start,left] {query results} (evaluate);
\path [line,dashed] (CCF) -- node {deploy} (CC);
\path [line,dashed] (evaluate) -- node [text width=3cm] {signed insights} (AS);
\end{tikzpicture}
\caption{Control Flow from requesting to receiving an insight from the data wallet network.}
\label{fig:InsiteControlFlow}
\end{figure*}