forked from adamwight/ores-diagrams
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjade_dfd.tex
67 lines (61 loc) · 3.54 KB
/
jade_dfd.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
% Data flow diagram
% Template adapted from http://www.texample.net/tikz/examples/data-flow-diagram/ by David Fokkema
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes}
% Custom, should be provided in the same directory.
\usepackage{datastore}
% Disable page number for better SVG.
\pagenumbering{gobble}
\begin{document}
\begin{tikzpicture}[
font=\sffamily,
every matrix/.style={ampersand replacement=\&,column sep=1cm,row sep=1cm},
interface/.style={draw,thick,regular polygon,regular polygon sides=4,inner sep=0},
process/.style={draw,thick,rounded corners,inner sep=.3 cm},
datastore/.style={draw,thick,shape=datastore,inner sep=.3cm},
to/.style={->,>=stealth',shorten >=1pt,semithick,font=\sffamily\footnotesize},
become/.style={->,>=stealth',shorten >=1pt,semithick,font=\sffamily\footnotesize,dashed},
every node/.style={scale=0.9,align=center}]
% Position the nodes using a matrix layout.
\matrix{
\& \& \node[interface] (researcher) {Researcher}; \\
\node[interface] (reviewer) {Reviewer};
\& \& \node[process] (posit) {Posit artifacts \\ for review}; \\
\& \node[process] (review) {Review UI};
\& \node[datastore] (artifacts) {Artifacts \\ needing review}; \\
\& \node[process] (judge) {Make judgments};
\& \node[datastore] (scores) {ORES scores \\ on artifacts};
\& \node[process] (analyze) {Analyze \\ judgments}; \\
\& \node[datastore] (judgments) {Judgments};
\& \& \node[process] (suppression) {Suppress \\ judgments}; \\
\& \node[process] (get) {Read scores \\ and judgments};
\& \& \node[interface] (admin) {Admin}; \\
\& \node[interface] (customer) {Customer}; \\
};
\node [below=2cm, right=-2cm, align=flush center] at (customer)
{\Large Judgment and Dialog Engine (JADE) \\ \normalsize logical data flow diagram};
% Draw and label arrows between nodes.
\draw[to] (researcher) -- node[midway,left] {curated artifacts} (posit);
\draw[to] (reviewer) to[bend left=25] node[near end,right] {submit \\ judgment} (review);
\draw[to] (review) to[bend left=25] node[near start,below] {rendered \\ judgments} (reviewer);
\draw[to] (reviewer) -- node[midway,above] {targeted \\ artifacts} (posit);
\draw[to] (review) -- node[midway,left] {new judgment} (judge);
\draw[to] (posit) -- node[midway,left] {artifacts} (artifacts);
\draw[to] (artifacts) -- node[midway,above] {artifacts} (review);
\draw[to] (scores) -- node[near start,right] {context} (review);
\draw[to] (judge) -- node[midway, left] {new judgments} (judgments);
\draw[to] (scores) -- node[midway,above] {scores} (analyze);
\draw[to] (scores) to[bend left=15] node[near end, right] {scores} (get);
\draw[to] (judgments) to[bend right=15] node[very near end, right] {query results} (analyze);
\draw[to] (judgments) -- node[midway, right] {judgments} (get);
\draw[to] (get) -- node[midway, right] {rendered \\ judgments} (customer);
\draw[to] (analyze) to[bend right=25] node[near end,right] {analysis} (researcher);
\draw[to] (researcher) to[bend left=10] node[midway, left] {query, \\ code} (analyze);
\draw[become] (customer) to[bend left=25] node[very near start,left] {begin \\ review} (reviewer);
\draw[to] (suppression) -- node[near start,below] {delete \\ judgment} (judgments);
\draw[to] (admin) -- node[midway, right] {action} (suppression);
\draw[become] (customer) to[bend right=25] node[near start,below] {report \\ abuse} (admin);
\draw[become] (reviewer) to[bend left=25] node[near end,below] {feedback} (researcher);
\end{tikzpicture}
\end{document}