Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deployed 8a29884 with MkDocs version: 1.5.3
Browse files Browse the repository at this point in the history
Unknown committed Mar 26, 2024
0 parents commit 378045c
Showing 118 changed files with 279,573 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
808 changes: 808 additions & 0 deletions 404.html

Large diffs are not rendered by default.

830 changes: 830 additions & 0 deletions abbreviations/index.html

Large diffs are not rendered by default.

57 changes: 57 additions & 0 deletions assets/Tex_files/invalid_bindings.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, label={right:task}, fill=white] (l2) at (-0.4, 1) {};
\node[sin, label={right:Input socket} ] (l5) at (1.1, 1.0) {};
\node[sout, label={right:Output socket}] (l6) at (3.65, 1.0) {};
\node[sfwd, label={right:Forward socket}] (l3) at (6.5, 1.0) {};
\node[] (l9) at (8.85, 1.0) {};
\node[draw, fit= (l2) (l3) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task [] {t3} {0,0} {$t_3$} {1} {0} {0} {};
\task [left=1.0cm of t3, yshift=+0.55cm] {t1} {} {$t_1$} {0} {1} {0} {};
\task [left=1.0cm of t3, yshift=-0.55cm] {t2} {} {$t_2$} {0} {1} {0} {};
\task [below=1.75cm of t3] {t6} {} {$t_6$} {0} {0} {1} {};
\task [left=1.0cm of t6, yshift=+0.55cm] {t4} {} {$t_4$} {0} {1} {0} {};
\task [left=1.0cm of t6, yshift=-0.55cm] {t5} {} {$t_5$} {0} {1} {0} {};
\task [right=1.0cm of t3] {t7} {} {$t_7$} {1} {0} {0} {};
\task [right=1.0cm of t7] {t8} {} {$t_8$} {1} {0} {0} {};
\task [right=1.0cm of t6] {t9} {} {$t_9$} {0} {1} {0} {};
\task [right=1.0cm of t9] {t10} {} {$t_{10}$} {0} {1} {0} {};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t3_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t7_si1) --++ (-0.25,0.0) --++ (0.0,0.75) --++(1.75,0.0) --++(0.0,-0.75) |- (t8_si1);
\draw [bind] (t9_so1) --++ (0.25,0.0) --++ (0.0,0.75) --++ (2.15,0.0) --++(0.0,-0.75) |- (t10_so1);
\draw [bind] (t4_so1) -- (t6_si1);
\draw [bind] (t5_so1) -- (t6_si1);

\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t1) (t2) (t3)] (ib1) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t4) (t5) (t6)] (ib2) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=4.05cm, minimum height=2.cm, fit=(t7) (t8)] (ib3) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=4.05cm, minimum height=2.cm, fit=(t9) (t10)] (ib4) {};

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(-2.9,0.75)}]
\end{tikzpicture}
\end{document}
57 changes: 57 additions & 0 deletions assets/Tex_files/invalid_bindings_neg.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, label={right:task}, fill=white] (l2) at (-0.4, 1) {};
\node[sin, label={right:Input socket} ] (l5) at (1.1, 1.0) {};
\node[sout, label={right:Output socket}] (l6) at (3.65, 1.0) {};
\node[sfwd, label={right:Forward socket}] (l3) at (6.5, 1.0) {};
\node[] (l9) at (8.85, 1.0) {};
\node[draw, fit= (l2) (l3) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task [] {t3} {0,0} {$t_3$} {1} {0} {0} {};
\task [left=1.0cm of t3, yshift=+0.55cm] {t1} {} {$t_1$} {0} {1} {0} {};
\task [left=1.0cm of t3, yshift=-0.55cm] {t2} {} {$t_2$} {0} {1} {0} {};
\task [below=1.75cm of t3] {t6} {} {$t_6$} {0} {0} {1} {};
\task [left=1.0cm of t6, yshift=+0.55cm] {t4} {} {$t_4$} {0} {1} {0} {};
\task [left=1.0cm of t6, yshift=-0.55cm] {t5} {} {$t_5$} {0} {1} {0} {};
\task [right=1.0cm of t3] {t7} {} {$t_7$} {1} {0} {0} {};
\task [right=1.0cm of t7] {t8} {} {$t_8$} {1} {0} {0} {};
\task [right=1.0cm of t6] {t9} {} {$t_9$} {0} {1} {0} {};
\task [right=1.0cm of t9] {t10} {} {$t_{10}$} {0} {1} {0} {};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t3_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t7_si1) --++ (-0.25,0.0) --++ (0.0,0.75) --++(1.75,0.0) --++(0.0,-0.75) |- (t8_si1);
\draw [bind] (t9_so1) --++ (0.25,0.0) --++ (0.0,0.75) --++ (2.15,0.0) --++(0.0,-0.75) |- (t10_so1);
\draw [bind] (t4_so1) -- (t6_si1);
\draw [bind] (t5_so1) -- (t6_si1);

\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t1) (t2) (t3)] (ib1) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t4) (t5) (t6)] (ib2) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=4.05cm, minimum height=2.cm, fit=(t7) (t8)] (ib3) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=4.05cm, minimum height=2.cm, fit=(t9) (t10)] (ib4) {};

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(-2.9,0.75)}]
\end{tikzpicture}
\end{document}
618 changes: 618 additions & 0 deletions assets/Tex_files/pgflibraryaff3ct.code.tex

Large diffs are not rendered by default.

82 changes: 82 additions & 0 deletions assets/Tex_files/sequence_to_pipeline.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {$t_2$} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {$t_3$} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {$t_4$} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {finalize\\($t_6$)} {1} {0} {0} {"seq"};
\task [right=2.0cm of t5] {t12} {} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t12] {t22} {} {$t_2$} {1} {1} {0} {};
\task [right=1.0cm of t22] {t32} {} {$t_3$} {0} {0} {1} {};
\task [right=1.0cm of t32] {t42} {} {$t_4$} {0} {0} {1} {};
\task [right=1.0cm of t42] {t52} {} {finalize\\($t_6$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t12"} {m12} {Initializer};
\module {"t2"} {m2} {$M_2$};
\module {"t22"} {m22} {$M_2$};
\module {"t3"} {m3} {$M_3$};
\module {"t32"} {m32} {$M_3$};
\module {"t4"} {m4} {$M_4$};
\module {"t42"} {m42} {$M_4$};
\module {"t5"} {m5} {Finalizer};
\module {"t52"} {m52} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);

%Pipline bind
\draw [bind] (t12_so1) -- (t22_si1);
\draw [bind] (t22_so1) -- (t32_si1);
\draw [bind] (t32_so1) -- (t42_si1);
\draw [bind] (t42_so1) -- (t52_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1","m2","m3","m4","m5"} {s1} {Sequence} {1}

%Pipeline stages
\stage [minimum height=3.00cm] {"m12"} {s12} {Stage 1 } {1}
\stage [minimum height=3.00cm] {"m22","m32","m42"} {s22} {Stage 2 } {3}
\stage [minimum height=3.00cm] {"m52"} {s32} {Stage 3 } {1}

\stage [dashdotted, minimum height=4.25cm,minimum width=11.50cm, Paired-9, label={[Paired-9,align=center]below:3-stage pipeline}] {"s12","s22","s32"} {pip} {} {0}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t22","t32","t42"} {2}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(5.1,2.5)}]
\end{tikzpicture}
\end{document}
52 changes: 52 additions & 0 deletions assets/Tex_files/simple_sequence.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {initialize\\$(t_1)$} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {$t_2$} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {$t_3$} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {$t_4$} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {finalize\\$(t_5)$} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {$M_2$};
\module {"t3"} {m3} {$M_3$};
\module {"t4"} {m4} {$M_4$};
\module {"t5"} {m5} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1","m2","m3","m4","m5"} {s1} {Simple sequence (= a chain of tasks)} {1}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.1,2.0)}]
\end{tikzpicture}
\end{document}
83 changes: 83 additions & 0 deletions assets/Tex_files/switch_case.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=Paired-1!20, label={right:Sequential task}] (l2) at (+0.0, 1.4) {};
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=white, label={right:Parallel task}] (l3) at (+3.35, 1.4) {};
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-3, fill=white, thick, densely dashdotted, label={right:Ctrl flow task}] (l4) at (+6.35, 1.4) {};
\node[sin, label={right:Input socket} ] (l5) at (9.25, 1.4) {};
\node[sout, label={right:Output socket}] (l6) at (11.75, 1.4) {};
\node[] (l9) at (14.0, 1.4) {};
\node[draw, fit= (l2) (l3) (l4) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
%
% Note:
% `\select` & `\commute` are special control flow tasks, there is no need
% to set the number of sockets for this type of task. Instead the number
% of exclusive paths has to be given.
%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {1, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.00cm of t1] {t2} {} {$t_2$} {1} {2} {0} {};
\commute [right=1.00cm of t2] {t3} {} {commute\\($t_3$)} {3} {};
\task [right=1.00cm of t3, yshift=+2cm] {t4} {} {$t_4$} {1} {1} {0} {};
\task [right=1.00cm of t4] {t5} {} {$t_5$} {1} {1} {0} {};
\task [right=1.00cm of t5] {t6} {} {$t_6$} {1} {1} {0} {};
\task [right=2.00cm of t3] {t7} {} {$t_7$} {1} {1} {0} {};
\task [right=1.00cm of t7] {t8} {} {$t_8$} {1} {1} {0} {};
\task [right=3.00cm of t3, yshift=-2cm] {t9} {} {$t_9$} {1} {1} {0} {};
\select [right=1.00cm of t6, yshift=-2cm] {t10} {} {select\\($t_{10})$} {3} {};
\task [right=1.00cm of t10] {t11} {} {$t_{11}$} {1} {1} {0} {};
\task [right=1.00cm of t11] {t12} {} {finalize\\($t_{12}$)} {1} {0} {0} {"seq"};

% cosmetics, just for fun ;-)
\diverge [shift={(6.25, -1.3)}, scale=0.4] {Paired-1}
\merge [shift={(14.9, -1.3)}, scale=0.4] {Paired-1}

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module [very thick] {"t3"} {m1} {\textbf{Switcher}};
\module [very thick] {"t10"} {m2} {\textbf{Switcher}};

\draw [<->,very thick, dashed, Paired-3] (m1.north east) -- (m2.north west) node[midway, above] {same Switcher module};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t2_so2) -- (t3_si2);
\draw [bind,densely dashdotted] (t3_so1) --++ (0.50,0) |- (t4_si1);
\draw [bind,densely dashdotted] (t3_so2) -- (t7_si1);
\draw [bind,densely dashdotted] (t3_so3) --++ (0.50,0) |- (t9_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t7_so1) -- (t8_si1);
\draw [bind,densely dashdotted] (t6_so1) --++ (0.50,0) |- (t10_si1);
\draw [bind,densely dashdotted] (t8_so1) -- (t10_si2);
\draw [bind,densely dashdotted] (t9_so1) --++ (2.50,0) |- (t10_si3);
\draw [bind] (t10_so1) -- (t11_si1);
\draw [bind] (t11_so1) -- (t12_si1);

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(3.25,2.0)}]
\end{tikzpicture}
\end{document}
35 changes: 35 additions & 0 deletions assets/Tex_files/task_sockets.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=white, label={right:task}] (l2) at (-0.4, 1) {};
\node[sin, label={right:Input socket} ] (l5) at (1.1, 1.0) {};
\node[sout, label={right:Output socket}] (l6) at (3.65, 1.0) {};
\node[sfwd, label={right:Forward socket}] (l3) at (6.5, 1.0) {};
\node[] (l9) at (8.85, 1.0) {};
\node[draw, fit= (l2) (l3) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0.0, 0} {$t_1$} {1} {1} {0} {};
\task [right=1.0cm of t1] {t2} {} {$t_2$} {0} {0} {1} {};
\task [right=1.0cm of t2] {t3} {} {$t_3$} {1} {1} {1} {};
\task [right=1.0cm of t3] {t4} {} {$t_4$} {1} {2} {0} {};
\task [right=1.0cm of t4] {t5} {} {$t_5$} {0} {0} {2} {};

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(0.0,0.5)}]
\end{tikzpicture}
\end{document}
70 changes: 70 additions & 0 deletions assets/Tex_files/test_complex_pipeline_full_fwd.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {relayf\\($t_2$)} {0} {0} {1} {};
\task [right=1.0cm of t2] {t3} {} {incrementf\\($t_3$)} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {relayf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {incrementf\\($t_5$)} {0} {0} {1} {};
\task [right=1.0cm of t5] {t6} {} {compare\\($t_6$)} {0} {0} {2} {};
\task [right=1.0cm of t6] {t7} {} {finalize\\($t_7$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Incrementer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Incrementer};
\module {"t6"} {m6} {Comparator};
\module {"t7"} {m7} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t2_so1) --++ (0.50,0) --++ (0.0,1.0) --++ (5.625,0.0) |- (t5_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) --++ (0.35,0) --++ (0.0,-1.3) --++ (3.325,0.0) |- (t6_si2);
\draw [bind] (t5_so1) --++ (0.5,0) |- (t6_si1);
\draw [bind] (t6_so2) --++ (0.5,0) |- (t7_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1","m2"} {s1} {Stage 1} {1}
\stage [minimum height=3.00cm] {"m3"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m4"} {s3} {Stage 3} {1}
\stage [minimum height=3.00cm] {"m5"} {s4} {Stage 4} {3}
\stage [minimum height=3.00cm] {"m6","m7"} {s5} {Stage 5} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t3","t5"} {2}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.5,1.75)}]
\end{tikzpicture}
\end{document}
69 changes: 69 additions & 0 deletions assets/Tex_files/test_complex_pipeline_inter_stage.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {increment\\($t_2$)} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {incrementf\\($t_3$)} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {incrementf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {incrementf\\($t_5$)} {0} {0} {1} {};
\task [right=1.0cm of t5] {t6} {} {mult\_comp\\($t_6$)} {0} {0} {2} {};
\task [right=1.0cm of t6] {t7} {} {finalize\\($t_7$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Incrementer};
\module {"t3"} {m3} {Incrementer};
\module {"t4"} {m4} {Incrementer};
\module {"t5"} {m5} {Incrementer};
\module {"t6"} {m6} {Comparator};
\module {"t7"} {m7} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t1_so1) --++ (0.50,0) --++ (0.0,1.0) --++ (12.61,0.0) |- (t6_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) --++ (0.50,0) |- (t6_si2);
\draw [bind] (t6_so1) --++ (0.50,0) |- (t7_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=3.00cm] {"m2","m5"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m6"} {s3} {Stage 3} {1}
\stage [minimum height=3.00cm] {"m7"} {s4} {Stage 4} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4","t5"} {2}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.5,1.75)}]
\end{tikzpicture}
\end{document}
79 changes: 79 additions & 0 deletions assets/Tex_files/test_complex_pipeline_mix_fwd.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1 ] {t2} {} {relayf\\($t_2$)} {0} {0} {1} {};
\task [right=1.0cm of t2, yshift=+1.2cm ] {t3} {} {incrementf\\($t_3$)} {0} {0} {1} {};
\task [right=1.0cm of t2, yshift=-1.2cm, xshift=+0.4cm] {t4} {} {relay\\($t_4$)} {1} {1} {0} {};
\task [right=1.0cm of t3, yshift=-1.2cm ] {t5} {} {relayf\\($t_5$)} {0} {0} {1} {};
\task [right=1.0cm of t5 ] {t6} {} {incrementf\\($t_6$)} {0} {0} {1} {};
\task [right=1.0cm of t6 ] {t7} {} {compare\\($t_7$)} {0} {0} {3} {};
\task [right=1.0cm of t7, yshift=+1.2cm ] {t8} {} {finalize\\($t_8$)} {1} {0} {0} {"seq"};
\task [right=1.0cm of t7, yshift=-1.2cm ] {t9} {} {finalize\\($t_9$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Incrementer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Relayer};
\module {"t6"} {m6} {Incrementer};
\module {"t7"} {m7} {Comparator};
\module {"t8"} {m8} {Finalizer1};
\module {"t9"} {m9} {Finalizer2};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind ] (t1_so1) -- (t2_si1);
\draw [bind ] (t2_so1) --++ (0.50,0) |- (t3_si1);
\draw [bind ] (t1_so1) --++ (0.50,0) --++ (0.0,-1.5) --++ (2.750,0.0) |- (t4_si1);
\draw [bind ] (t2_so1) --++ (0.50,0) --++ (0.0,2.25) --++ (5.625,0.0) |- (t6_si1);
\draw [bind ] (t3_so1) --++ (0.50,0) |- (t5_si1);
\draw [bind ] (t5_so1) --++ (0.35,0) --++ (0.0,+1.2) --++ (3.325,0.0) |- (t7_si1);
\draw [bind ] (t6_so1) --++ (0.5,0) |- (t7_si2);
\draw [bind ] (t1_so1) --++ (0.5,0) --++ (0.0,-2.5) --++ (11.25,0.0) |- (t7_si3);
\draw [bind, dashed] (t4.south) --++ (0.0,-0.25) --++ (5.65,0.0) -- (t6.south);
\draw [bind ] (t7_so3) --++ (0.5,0) |- (t8_si1);
\draw [bind ] (t4_so1) --++ (0.50,0) --++ (0.0,-0.55) --++ (8.8,0.0) |- (t9_si1);
\draw [bind, dashed] (t8.south) -- (t9.north);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=5.25cm] {"m1","m2"} {s1} {Stage 1} {1}
\stage [minimum height=5.25cm] {"m3","m4"} {s2} {Stage 2} {3}
\stage [minimum height=5.25cm] {"m5"} {s3} {Stage 3} {1}
\stage [minimum height=5.25cm] {"m6"} {s4} {Stage 4} {3}
\stage [minimum height=5.25cm] {"m7","m8","m9"} {s5} {Stage 5} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t3","t5"} {2}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.5,2.75)}]
\end{tikzpicture}
\end{document}
71 changes: 71 additions & 0 deletions assets/Tex_files/test_do_while_loop.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task [] {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\select [right=6.50cm of t1 ] {t2} {} {select\\($t_2$)} {2} {};
\task [right=0.65cm of t2, yshift=-2.50cm] {t9} {} {iterate\\($t_9$)} {0} {1} {0} {};
\commute[right=2.50cm of t9, yshift=+2.50cm] {t10} {} {commute\\($t_{10}$)} {2} {};
\task [above=1.50cm of t2, xshift=-4.50cm] {t3} {} {increment\\($t_3$)} {1} {1} {0} {};
\task [right=1.00cm of t3 ] {t4} {} {increment\\($t_4$)} {1} {1} {0} {};
\task [right=1.00cm of t4 ] {t5} {} {increment\\($t_5$)} {1} {1} {0} {};
\task [right=1.00cm of t5 ] {t6} {} {increment\\($t_6$)} {1} {1} {0} {};
\task [right=1.00cm of t6 ] {t7} {} {increment\\($t_7$)} {1} {1} {0} {};
\task [right=1.00cm of t7 ] {t8} {} {increment\\($t_8$)} {1} {1} {0} {};
\task [right=6.00cm of t10 ] {t11} {} {finalize\\($t_{11}$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label attributes
% ------- -------- -- ----- ----------
\module {"t1"} {m1} {Initializer} {};
\module {"t2","t10"} {m2} {Switcher} {"lbup"};
\module {"t9"} {m3} {Iterator} {};
\module {"t3"} {m4} {Incrementer} {};
\module {"t4"} {m5} {Incrementer} {};
\module {"t5"} {m6} {Incrementer} {};
\module {"t6"} {m7} {Incrementer} {};
\module {"t7"} {m8} {Incrementer} {};
\module {"t8"} {m9} {Incrementer} {};
\module {"t11"} {m10} {Finalizer} {"lbup"};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind, densely dashdotted] (t1_so1) --++ (0.95,0) |- (t2_si2);
\draw [bind ] (t2_so1) --++ (0.50,0) --++ (0,1.00) --++ (-7.5,0) |- (t3_si1);
\draw [bind, dashed ] (t2.south) |- (t9.west);
\draw [bind ] (t9_so1) --++ (1.3,0) |- (t10_si2);
\draw [bind ] (t3_so1) -- (t4_si1);
\draw [bind ] (t4_so1) -- (t5_si1);
\draw [bind ] (t5_so1) -- (t6_si1);
\draw [bind ] (t6_so1) -- (t7_si1);
\draw [bind ] (t7_so1) -- (t8_si1);
\draw [bind ] (t8_so1) --++ (0.50,0) --++ (0,-1.85) --++ (-7.75,0) |- (t10_si1);
\draw [bind, densely dashdotted] (t10_so2) --++ (5.25,0) |- (t11_si1);
\draw [bind, densely dashdotted] (t10_so1) --++ (0.50,0) --++ (0,+1.15) --++ (-9.20,0) |- (t2_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=9.00cm] {"m1","m3","m4","m9","m10"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.75,4.50)}]
\end{tikzpicture}
\end{document}
77 changes: 77 additions & 0 deletions assets/Tex_files/test_exclusive_paths.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task [] {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\task [right=1.00cm of t1 ] {t2} {} {control\\($t_2$)} {0} {1} {0} {};
\commute[right=1.00cm of t2 ] {t3} {} {commute\\($t_3$)} {3} {};
\task [right=1.00cm of t3, yshift=+2.50cm] {t4} {} {increment\\($t_4$)} {1} {1} {0} {};
\task [right=1.00cm of t4 ] {t5} {} {increment\\($t_5$)} {1} {1} {0} {};
\task [right=1.00cm of t5 ] {t6} {} {increment\\($t_6$)} {1} {1} {0} {};

\task [right=2.50cm of t3 ] {t7} {} {increment\\($t_7$)} {1} {1} {0} {};
\task [right=1.00cm of t7 ] {t8} {} {increment\\($t_8$)} {1} {1} {0} {};

\task [below=3.50cm of t5 ] {t9} {} {increment\\($t_9$)} {1} {1} {0} {};

\select [right=2.50cm of t8 ] {t10} {} {select\\($t_{10}$)} {3} {};

\task [right=1.00cm of t10 ] {t11} {} {finalize\\($t_{11}$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label attributes
% ------- -------- -- ----- ----------
\module {"t1"} {m1} {Initializer} {};
\module {"t2"} {m2} {Controller} {};
\module {"t3"} {m3} {Switcher} {};
\module {"t4"} {m4} {Incrementer} {};
\module {"t5"} {m5} {Incrementer} {};
\module {"t6"} {m6} {Incrementer} {};
\module {"t7"} {m7} {Incrementer} {};
\module {"t8"} {m8} {Incrementer} {};
\module {"t9"} {m9} {Incrementer} {};
\module {"t10"} {m10} {Switcher} {};
\module {"t11"} {m11} {Finalizer} {};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind ] (t1_so1) --++ (0.6,0) --++ (0,+1.0) --++ (2.5,0) |- (t3_si1);
\draw [bind, densely dashed ] (t1.south) --++ (0, -1.0) --++ (2.75,0) -- (t2.south);
\draw [bind ] (t2_so1) --++ (0.50,0) |- (t3_si2);
\draw [bind, densely dashdotted] (t3_so1) --++ (0.5,0) |- (t4_si1);
\draw [bind, densely dashdotted] (t3_so2) -- (t7_si1);
\draw [bind, densely dashdotted] (t3_so3) --++ (0.5,0) |- (t9_si1);
\draw [bind ] (t4_so1) -- (t5_si1);
\draw [bind ] (t5_so1) -- (t6_si1);
\draw [bind ] (t7_so1) -- (t8_si1);
\draw [bind, densely dashdotted] (t6_so1) --++ (0.45,0) |- (t10_si1);
\draw [bind, densely dashdotted] (t8_so1) -- (t10_si2);
\draw [bind, densely dashdotted] (t9_so1) --++ (3.5,0) |- (t10_si3);
\draw [bind ] (t10_so1) -- (t11_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=8.00cm] {"m1","m4","m9","m11"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.75,4.00)}]
\end{tikzpicture}
\end{document}
76 changes: 76 additions & 0 deletions assets/Tex_files/test_exclusive_paths_pipeline.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {generate\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.2cm of t1, yshift=+1.5cm] {t2} {} {relay\\($t_2$)} {1} {1} {0} {};
\task [right=1.2cm of t1, yshift=-1.5cm] {t3} {} {alternate\\($t_3$)} {0} {1} {0} {};
\commute [right=1.2cm of t3, yshift=+1.5cm] {t4} {} {commute\\($t_4$)} {2} {};
\task [right=1.5cm of t4, yshift=+1.5cm] {t5} {} {upcase\\($t_5$)} {1} {1} {0} {};
\task [right=1.5cm of t4, yshift=-1.5cm] {t6} {} {lowcase\\($t_6$)} {1} {1} {0} {};
\select [right=1.5cm of t6, yshift=+1.5cm] {t7} {} {select\\($t_{7})$} {2} {};
\task [right=1.2cm of t7 ] {t8} {} {relay\\($t_8$)} {1} {1} {0} {};
\task [right=1.2cm of t8 ] {t9} {} {send\\($t_9$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Source};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Alternator};
\module {"t4"} {m4} {Switcher};
\module {"t5"} {m5} {Uppercaser};
\module {"t6"} {m6} {Lowercaser};
\module {"t7"} {m7} {Switcher};
\module {"t8"} {m8} {Relayer};
\module {"t9"} {m9} {Sink};

\draw [<->, dashed, Paired-3] (m4) -- (m7) node[midway, below] {{\small same Switcher module}};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) --++ (0.60, 0) |- (t2_si1);
\draw [bind] (t2_so1) --++ (1.15, 0) |- (t4_si1);
\draw [bind] (t3_so1) --++ (0.60, 0) |- (t4_si2);
\draw [bind,densely dashdotted] (t4_so1) --++ (0.60, 0) |- (t5_si1);
\draw [bind,densely dashdotted] (t4_so2) --++ (0.60, 0) |- (t6_si1);
\draw [bind,densely dashdotted] (t5_so1) --++ (1.05, 0) |- (t7_si1);
\draw [bind,densely dashdotted] (t6_so1) --++ (0.90, 0) |- (t7_si2);
\draw [bind] (t7_so1) -- (t8_si1);
\draw [bind] (t8_so1) -- (t9_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=5.50cm] {"m1","m2","m3"} {s1} {Stage 1} {1}
\stage [minimum height=5.50cm] {"m4","m5","m6","m7","m8"} {s2} {Stage 2} {4}
\stage [minimum height=5.50cm] {"m9"} {s3} {Stage 3} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t4","t5","t6","t7","t8"} {4}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.0,3.0)}]
\end{tikzpicture}
\end{document}
71 changes: 71 additions & 0 deletions assets/Tex_files/test_for_loop.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task [] {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\select [right=6.50cm of t1 ] {t2} {} {select\\($t_2$)} {2} {};
\task [right=0.65cm of t2, yshift=-2.50cm] {t3} {} {iterate\\($t_3$)} {0} {1} {0} {};
\commute[right=2.50cm of t3, yshift=+2.50cm] {t4} {} {commute\\($t_4$)} {2} {};
\task [above=1.50cm of t4, xshift=+4.50cm] {t5} {} {increment\\($t_5$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t5 ] {t6} {} {increment\\($t_6$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t6 ] {t7} {} {increment\\($t_7$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t7 ] {t8} {} {increment\\($t_8$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t8 ] {t9} {} {increment\\($t_9$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t9 ] {t10} {} {increment\\($t_{10}$)} {1} {1} {0} {"rev"};
\task [right=6.00cm of t4 ] {t11} {} {finalize\\($t_{11}$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label attributes
% ------- -------- -- ----- ----------
\module {"t1"} {m1} {Initializer} {};
\module {"t2","t4"} {m2} {Switcher} {"lbup"};
\module {"t3"} {m3} {Iterator} {};
\module {"t5"} {m4} {Incrementer} {};
\module {"t6"} {m5} {Incrementer} {};
\module {"t7"} {m6} {Incrementer} {};
\module {"t8"} {m7} {Incrementer} {};
\module {"t9"} {m8} {Incrementer} {};
\module {"t10"} {m9} {Incrementer} {};
\module {"t11"} {m10} {Finalizer} {"lbup"};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind, densely dashdotted] (t1_so1) --++ (0.95,0) |- (t2_si2);
\draw [bind ] (t2_so1) --++ (3.50,0) |- (t4_si1);
\draw [bind, dashed ] (t2.south) |- (t3.west);
\draw [bind ] (t3_so1) --++ (1.3,0) |- (t4_si2);
\draw [bind ] (t5_so1) -- (t6_si1);
\draw [bind ] (t6_so1) -- (t7_si1);
\draw [bind ] (t7_so1) -- (t8_si1);
\draw [bind ] (t8_so1) -- (t9_si1);
\draw [bind ] (t9_so1) -- (t10_si1);
\draw [bind, densely dashdotted] (t4_so1) --++ (5.25,0) --++ (0,2.4) |- (t5_si1);
\draw [bind, densely dashdotted] (t10_so1) --++ (-0.75,0) --++ (0,-2.4) |- (t2_si1);
\draw [bind, densely dashdotted] (t4_so2) --++ (5.25,0) |- (t11_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=9.00cm] {"m1","m3","m4","m9","m10"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.75,4.50)}]
\end{tikzpicture}
\end{document}
60 changes: 60 additions & 0 deletions assets/Tex_files/test_generic_pipeline_fwd.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {generate\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {relayf\\($t_2$)} {0} {0} {1} {};
\task [right=1.0cm of t2] {t3} {} {relayf\\($t_3$)} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {relayf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {send\\($t_5$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Source};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Relayer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Sink};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=3.00cm] {"m2","m3","m4"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m5"} {s3} {Stage 3} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4"} {3}
%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.15,1.75)}]
\end{tikzpicture}
\end{document}
60 changes: 60 additions & 0 deletions assets/Tex_files/test_generic_pipeline_hybrid.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {generate\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {relayf\\($t_2$)} {0} {0} {1} {};
\task [right=1.0cm of t2] {t3} {} {relay\\($t_3$)} {1} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {relayf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {send\\($t_5$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Source};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Relayer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Sink};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=3.00cm] {"m2","m3","m4"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m5"} {s3} {Stage 3} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4"} {3}
%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.15,1.75)}]
\end{tikzpicture}
\end{document}
75 changes: 75 additions & 0 deletions assets/Tex_files/test_generic_pipeline_hybrid_5_stages.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {generate\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {relayf\\($t_2$)} {0} {0} {1} {};
\task [right=1.0cm of t2] {t3} {} {relay\\($t_3$)} {1} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {relayf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {relay\\($t_5$)} {1} {1} {0} {};
\task [right=1.0cm of t5] {t6} {} {relayf\\($t_6$)} {0} {0} {1} {};
\task [right=1.0cm of t6] {t7} {} {relay\\($t_7$)} {1} {1} {0} {};
\task [right=1.0cm of t7] {t8} {} {relay\\($t_8$)} {1} {1} {0} {};
\task [right=1.0cm of t8] {t9} {} {send\\($t_9$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Source};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Relayer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Relayer};
\module {"t6"} {m6} {Relayer};
\module {"t7"} {m7} {Relayer};
\module {"t8"} {m8} {Relayer};
\module {"t9"} {m9} {Sink};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t6_so1) -- (t7_si1);
\draw [bind] (t7_so1) -- (t8_si1);
\draw [bind] (t8_so1) -- (t9_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=3.00cm] {"m2","m3","m4","m5"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m6"} {s3} {Stage 3} {1}
\stage [minimum height=3.00cm] {"m7","m8"} {s4} {Stage 4} {2}
\stage [minimum height=3.00cm] {"m9"} {s5} {Stage 5} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4","t5"} {3}
\clone [] {"t7","t8"} {2}
%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.15,1.75)}]
\end{tikzpicture}
\end{document}
60 changes: 60 additions & 0 deletions assets/Tex_files/test_generic_pipeline_io.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {generate\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.0cm of t1] {t2} {} {relay\\($t_2$)} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {relay\\($t_3$)} {1} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {relay\\($t_4$)} {1} {1} {0} {};
\task [right=1.0cm of t4] {t5} {} {send\\($t_5$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Source};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Relayer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Sink};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=3.00cm] {"m2","m3","m4"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m5"} {s3} {Stage 3} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4"} {3}
%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.3,1.75)}]
\end{tikzpicture}
\end{document}
81 changes: 81 additions & 0 deletions assets/Tex_files/test_nested_loops.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task [] {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\select [right=1.50cm of t1 ] {t2} {} {select\\($t_2$)} {2} {};
\task [right=0.65cm of t2, yshift=-2.50cm] {t3} {} {iterate\\($t_3$)} {0} {1} {0} {};
\commute[right=2.50cm of t3, yshift=+2.50cm] {t4} {} {commute\\($t_4$)} {2} {};
\select [right=1.00cm of t4, yshift=+2.50cm] {t5} {} {select\\($t_5$)} {2} {};
\task [right=0.65cm of t5, yshift=-2.50cm] {t6} {} {iterate\\($t_6$)} {0} {1} {0} {};
\commute[right=2.50cm of t6, yshift=+2.50cm] {t7} {} {commute\\($t_7$)} {2} {};
\task [above=1.50cm of t7, xshift=+4.50cm] {t8} {} {increment\\($t_8$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t8 ] {t9} {} {increment\\($t_9$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t9 ] {t10} {} {increment\\($t_{10}$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t10 ] {t11} {} {increment\\($t_{11}$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t11 ] {t12} {} {increment\\($t_{12}$)} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t12 ] {t13} {} {increment\\($t_{13}$)} {1} {1} {0} {"rev"};
\task [right=15.0cm of t4 ] {t14} {} {finalize\\($t_{14}$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label attributes
% ------- -------- -- ----- ----------
\module {"t1"} {m1} {Initializer} {};
\module {"t2","t4"} {m2} {Switcher (out)} {"lbup"};
\module {"t3"} {m3} {Iterator (out)} {};
\module {"t5","t7"} {m4} {Switcher (in)} {"lbup"};
\module {"t6"} {m5} {Iterator (in)} {};
\module {"t8"} {m6} {Incrementer} {};
\module {"t9"} {m7} {Incrementer} {};
\module {"t10"} {m8} {Incrementer} {};
\module {"t11"} {m9} {Incrementer} {};
\module {"t12"} {m10} {Incrementer} {};
\module {"t13"} {m11} {Incrementer} {};
\module {"t14"} {m12} {Finalizer} {"lbup"};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind, densely dashdotted] (t1_so1) --++ (0.75,0) |- (t2_si2);
\draw [bind ] (t2_so1) --++ (3.70,0) |- (t4_si1);
\draw [bind, dashed ] (t2.south) |- (t3.west);
\draw [bind ] (t3_so1) --++ (1.5,0) |- (t4_si2);
\draw [bind, densely dashdotted] (t4_so1) --++ (0.5,0) |- (t5_si2);
\draw [bind, densely dashdotted] (t4_so2) --++ (0.5,0) --++ (0.0,-2.5) --++ (13.85,0) |- (t14_si1);
\draw [bind ] (t5_so1) --++ (3.70,0) |- (t7_si1);
\draw [bind, dashed ] (t5.south) |- (t6.west);
\draw [bind ] (t6_so1) --++ (1.5,0) |- (t7_si2);
\draw [bind ] (t8_so1) -- (t9_si1);
\draw [bind ] (t9_so1) -- (t10_si1);
\draw [bind ] (t10_so1) -- (t11_si1);
\draw [bind ] (t11_so1) -- (t12_si1);
\draw [bind ] (t12_so1) -- (t13_si1);
\draw [bind, densely dashdotted] (t7_so1) --++ (5.25,0) --++ (0,2.4) |- (t8_si1);
\draw [bind, densely dashdotted] (t13_so1) --++ (-0.75,0) --++ (0,-2.4) |- (t5_si1);
\draw [bind, densely dashdotted] (t7_so2) --++ (5.75,0) --++ (0,4.5) --++ (-23.625,0) |- (t2_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=13.00cm] {"m1","m3","m6","m12"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.75,8.00)}]
\end{tikzpicture}
\end{document}
106 changes: 106 additions & 0 deletions assets/Tex_files/test_nested_loops_pipeline.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
%
% Note:
% `\select` & `\commute` are special control flow tasks, there is no need
% to set the number of sockets for this type of task. Instead the number
% of exclusive paths has to be given.
%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};

\task [right=2.25cm of t1, yshift=-2.15cm] {t2} {} {relay\\($t_2$)} {1} {1} {0} {};
\select [right=1.00cm of t2 ] {t3} {} {select\\($t_3)$} {2} {};
\task [right=1.00cm of t3, yshift=-2.50cm] {t4} {} {iterate\\($t_4)$} {0} {1} {0} {};
\commute [right=1.00cm of t4, yshift=+2.50cm] {t5} {} {commute\\($t_5$)} {2} {};
\select [right=1.00cm of t5, yshift=+4.00cm] {t6} {} {select\\($t_6)$} {2} {};
\task [right=1.00cm of t6, yshift=-2.50cm] {t7} {} {iterate\\($t_7)$} {0} {1} {0} {};
\commute [right=1.00cm of t7, yshift=+2.50cm] {t8} {} {commute\\($t_8$)} {2} {};
\task [above=1.50cm of t8, xshift=+0.00cm] {t9} {} {increment\\($t_{9})$} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t9 ] {t10} {} {increment\\($t_{10})$} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t10 ] {t11} {} {increment\\($t_{11})$} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t11 ] {t12} {} {increment\\($t_{12})$} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t12 ] {t13} {} {increment\\($t_{13})$} {1} {1} {0} {"rev"};
\task [left= 1.00cm of t13 ] {t14} {} {increment\\($t_{14})$} {1} {1} {0} {"rev"};
\task [right=1.00cm of t5 ] {t15} {} {relay\\($t_{15}$)} {1} {1} {0} {};

\task [right=7.75cm of t15, yshift=+2.15cm] {t16} {} {finalize\\($t_{16}$)} {1} {0} {0} {};


%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Relayer};
\module {"t3","t5"} {m3} {Switcher (out)};
\module {"t4"} {m4} {Iterator (out)};
\module {"t6","t8"} {m6} {Switcher (in)};
\module {"t7"} {m7} {Iterator (in)};
\module {"t9"} {m9} {Incrementer};
\module {"t10"} {m10} {Incrementer};
\module {"t11"} {m11} {Incrementer};
\module {"t12"} {m12} {Incrementer};
\module {"t13"} {m13} {Incrementer};
\module {"t14"} {m14} {Incrementer};
\module {"t15"} {m15} {Relayer};
\module {"t16"} {m16} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) --++ (0.60,0) |- (t2_si1);
\draw [bind,densely dashdotted] (t2_so1) --++ (0.50,0) |- (t3_si2);
\draw [bind] (t3_so1) --++ (3.05,0) |- (t5_si1);
\draw [bind, densely dashed] (t3_so1) --++ (0.50,0) |- (t4.west);
\draw [bind] (t4_so1) --++ (0.50,0) |- (t5_si2);
\draw [bind,densely dashdotted] (t5_so1) --++ (0.50,0) |- (t6_si2);
\draw [bind] (t6_so1) --++ (3.00,0) |- (t8_si1);
\draw [bind, densely dashed] (t6_so1) --++ (0.50,0) |- (t7.west);
\draw [bind] (t7_so1) --++ (0.50,0) |- (t8_si2);
\draw [bind,densely dashdotted] (t8_so1) --++ (0.50,0) |- (t9_si1);
\draw [bind] (t9_so1) -- (t10_si1);
\draw [bind] (t10_so1) -- (t11_si1);
\draw [bind] (t11_so1) -- (t12_si1);
\draw [bind] (t12_so1) -- (t13_si1);
\draw [bind] (t13_so1) -- (t14_si1);
\draw [bind,densely dashdotted] (t14_so1) --++ (-0.50,0) --++ (0,-2.58) -- (t6_si1);
\draw [bind,densely dashdotted] (t8_so2) --++ (1.00,0) --++ (0,4.5) --++ (-19.35,0.0) --++ (0,-4.6) --++ (2.95,0.0) |- (t3_si1);
\draw [bind] (t5_so2) --++ (0.50,0) |- (t15_si1);
\draw [bind] (t15_so1) --++ (7.125,0) |- (t16_si1);


%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=13.50cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=13.50cm, minimum width=20.00cm] {"m14","m4","m6"} {s2} {Stage 2} {8}
\stage [minimum height=13.50cm] {"m16"} {s3} {Stage 3} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15"} {8}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-0.6,7.0)}]
\end{tikzpicture}
\end{document}
70 changes: 70 additions & 0 deletions assets/Tex_files/test_pipeline_double_chain.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.55, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.2cm of t1, yshift=1.15cm] {t2} {} {incrementf\\($t_2$)} {0} {0} {1} {};
\task [below=1.0cm of t2] {t3} {} {increment\\($t_5$)} {1} {1} {0} {};
\task [right=1.0cm of t2] {t4} {} {incrementf\\($t_3$)} {0} {0} {1} {};
\task [below=1.0cm of t4] {t5} {} {increment\\($t_6$)} {1} {1} {0} {};
\task [right=1.0cm of t4] {t6} {} {incrementf\\($t_4$)} {0} {0} {1} {};
\task [below=1.0cm of t6] {t7} {} {increment\\($t_7$)} {1} {1} {0} {};
\task [right=1.2cm of t7, yshift=1.2cm] {t8} {} {finalize\\($t_8$)} {1} {0} {0} {"seq"};

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t3","t5","t7","t2","t4","t6"} {2}

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Incrementer};
\module {"t4"} {m3} {Incrementer};
\module {"t6"} {m4} {Incrementer};
\module {"t3"} {m5} {Incrementer};
\module {"t5"} {m6} {Incrementer};
\module {"t7"} {m7} {Incrementer};
\module {"t8"} {m8} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t1_so1) -- (t3_si1);
\draw [bind] (t2_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t6_si1);
\draw [bind] (t3_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t7_si1);
\draw [bind] (t7_so1) -- (t8_si1);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1} {1}
\stage [minimum height=5.25cm] {"m2","m3","m4","m5","m6","m7"} {s2} {Stage 2} {3}
\stage [minimum height=3.00cm] {"m8"} {s3} {Stage 3} {1}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.0,2.75)}]
\end{tikzpicture}
\end{document}
68 changes: 68 additions & 0 deletions assets/Tex_files/test_simple_chain.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\task [right=1.0cm of t1] {t2} {} {increment\\($t_2$)} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {increment\\($t_3$)} {1} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {increment\\($t_4$)} {1} {1} {0} {};
\task [right=1.0cm of t4] {t5} {} {increment\\($t_5$)} {1} {1} {0} {};
\task [right=1.0cm of t5] {t6} {} {increment\\($t_6$)} {1} {1} {0} {};
\task [right=1.0cm of t6] {t7} {} {increment\\($t_7$)} {1} {1} {0} {};
\task [right=1.0cm of t7] {t8} {} {finalize\\($t_8$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Incrementer};
\module {"t3"} {m3} {Incrementer};
\module {"t4"} {m4} {Incrementer};
\module {"t5"} {m5} {Incrementer};
\module {"t6"} {m6} {Incrementer};
\module {"t7"} {m7} {Incrementer};
\module {"t8"} {m8} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t6_so1) -- (t7_si1);
\draw [bind] (t7_so1) -- (t8_si1);

% %%%%%%%%%%%%%%%%%%%
% %% create stages %%
% %%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1","m8"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
% \clone [] {"t2","t3","t4"} {3}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.3,1.75)}]
\end{tikzpicture}
\end{document}
68 changes: 68 additions & 0 deletions assets/Tex_files/test_simple_chain_fwd.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\task [right=1.0cm of t1] {t2} {} {incrementf\\($t_2$)} {0} {0} {1} {};
\task [right=1.0cm of t2] {t3} {} {incrementf\\($t_3$)} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {incrementf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {incrementf\\($t_5$)} {0} {0} {1} {};
\task [right=1.0cm of t5] {t6} {} {incrementf\\($t_6$)} {0} {0} {1} {};
\task [right=1.0cm of t6] {t7} {} {incrementf\\($t_7$)} {0} {0} {1} {};
\task [right=1.0cm of t7] {t8} {} {finalize\\($t_8$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Incrementer};
\module {"t3"} {m3} {Incrementer};
\module {"t4"} {m4} {Incrementer};
\module {"t5"} {m5} {Incrementer};
\module {"t6"} {m6} {Incrementer};
\module {"t7"} {m7} {Incrementer};
\module {"t8"} {m8} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t6_so1) -- (t7_si1);
\draw [bind] (t7_so1) -- (t8_si1);

% %%%%%%%%%%%%%%%%%%%
% %% create stages %%
% %%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1","m8"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
% \clone [] {"t2","t3","t4"} {3}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.3,1.75)}]
\end{tikzpicture}
\end{document}
68 changes: 68 additions & 0 deletions assets/Tex_files/test_simple_chain_hybrid.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {-0.5, 0} {initialize\\($t_1$)} {0} {1} {0} {};
\task [right=1.0cm of t1] {t2} {} {increment\\($t_2$)} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {incrementf\\($t_3$)} {0} {0} {1} {};
\task [right=1.0cm of t3] {t4} {} {incrementf\\($t_4$)} {0} {0} {1} {};
\task [right=1.0cm of t4] {t5} {} {incrementf\\($t_5$)} {0} {0} {1} {};
\task [right=1.0cm of t5] {t6} {} {incrementf\\($t_6$)} {0} {0} {1} {};
\task [right=1.0cm of t6] {t7} {} {increment\\($t_7$)} {1} {1} {0} {};
\task [right=1.0cm of t7] {t8} {} {finalize\\($t_8$)} {1} {0} {0} {};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Initializer};
\module {"t2"} {m2} {Incrementer};
\module {"t3"} {m3} {Incrementer};
\module {"t4"} {m4} {Incrementer};
\module {"t5"} {m5} {Incrementer};
\module {"t6"} {m6} {Incrementer};
\module {"t7"} {m7} {Incrementer};
\module {"t8"} {m8} {Finalizer};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t6_so1) -- (t7_si1);
\draw [bind] (t7_so1) -- (t8_si1);

% %%%%%%%%%%%%%%%%%%%
% %% create stages %%
% %%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1","m8"} {s1} {Sequence} {1}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
% \clone [] {"t2","t3","t4"} {3}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1.3,1.75)}]
\end{tikzpicture}
\end{document}
73 changes: 73 additions & 0 deletions assets/Tex_files/test_simple_pipeline.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0,0} {generate\\($t_1$)} {0} {2} {0} {"seq","sckn"};
\task [right=1.0cm of t1] {t2} {} {relay\\$t_2$} {1} {1} {0} {};
\task [right=1.0cm of t2] {t3} {} {relay\\$t_3$} {1} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {relay\\$t_4$} {1} {1} {0} {};
\task [right=1.0cm of t4] {t5} {} {relay\\$t_5$} {1} {1} {0} {};
\task [right=1.0cm of t5] {t6} {} {relay\\$t_6$} {1} {1} {0} {};
\task [right=1.0cm of t6] {t7} {} {relay\\$t_7$} {1} {1} {0} {};
\task [right=1.0cm of t7] {t8} {} {send\_count\\($t_8$)} {2} {0} {0} {"seq","sckn"};

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module {"t1"} {m1} {Source};
\module {"t2"} {m2} {Relayer};
\module {"t3"} {m3} {Relayer};
\module {"t4"} {m4} {Relayer};
\module {"t5"} {m5} {Relayer};
\module {"t6"} {m6} {Relayer};
\module {"t7"} {m7} {Relayer};
\module {"t8"} {m8} {Sink};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) --++ (0.5,0) |- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t4_so1) -- (t5_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t6_so1) -- (t7_si1);
\draw [bind] (t7_so1) --++ (0.5,0) |- (t8_si1);
\draw [bind] (t1_so2) --++ (0.5,0) --++ (0,-1.85) --++ (14,0) |- (t8_si2);

%%%%%%%%%%%%%%%%%%%
%% create stages %%
%%%%%%%%%%%%%%%%%%%
% options object ids id label n_threads
% ------- ---------- -- ----- ---------
\stage [minimum height=3.00cm] {"m1"} {s1} {Stage 1 } {1}
\stage [minimum height=3.00cm] {"m2","m7"} {s2} {Stage 2 } {3}
\stage [minimum height=3.00cm] {"m8"} {s3} {Stage 3 } {1}

\stage [dashdotted, minimum height=4.75cm,minimum width=20.50cm, Paired-9, label={[Paired-9,align=center]below:3-stage pipeline}] {"s1","s2","s3"} {pip} {} {0}

%%%%%%%%%%%%%%%%%%%%%
%% clone the tasks %%
%%%%%%%%%%%%%%%%%%%%%
% options task ids n clones
% ------- -------- --------
\clone [] {"t2","t3","t4"} {2}

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legend [shift={(-1,2.25)}]
\end{tikzpicture}
\end{document}
79 changes: 79 additions & 0 deletions assets/Tex_files/valid_bindings.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=white, label={right:task}] (l2) at (-0.4, 1) {};
\node[sin, label={right:Input socket} ] (l5) at (1.1, 1.0) {};
\node[sout, label={right:Output socket}] (l6) at (3.65, 1.0) {};
\node[sfwd, label={right:Forward socket}] (l3) at (6.5, 1.0) {};
\node[] (l9) at (8.85, 1.0) {};
\node[draw, fit= (l2) (l3) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {$t_1$} {0} {1} {0} {};
\task [right=1.0cm of t1] {t2} {} {$t_2$} {1} {0} {0} {};
\task [below=1.75cm of t1] {t3} {} {$t_3$} {0} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {$t_4$} {0} {0} {1} {};
\task [right=1.0cm of t2] {t5} {} {$t_5$} {0} {0} {1} {};
\task [right=1.0cm of t5] {t6} {} {$t_6$} {1} {0} {0} {};
\task [right=1.0cm of t4] {t7} {} {$t_7$} {0} {0} {1} {};
\task [right=1.0cm of t7] {t8} {} {$t_8$} {0} {0} {1} {};
\task [right=1.0cm of t6] {t9} {} {$t_9$} {0} {0} {1} {};
\task [right=1.0cm of t9, yshift=+0.55cm] {t10} {} {$t_{10}$} {1} {0} {0} {};
\task [right=1.0cm of t9, yshift=-0.55cm] {t11} {} {$t_{11}$} {0} {0} {1} {};
\task [right=1.0cm of t8] {t12} {} {$t_{12}$} {0} {1} {0} {};
\task [right=1.0cm of t12, yshift=+0.55cm] {t13} {} {$t_{13}$} {1} {0} {0} {};
\task [right=1.0cm of t12, yshift=-0.55cm] {t14} {} {$t_{14}$} {0} {0} {1} {};
\task [right=1.0cm of t10] {t15} {} {$t_{15}$} {0} {1} {0} {};
\task [right=1.0cm of t11] {t16} {} {$t_{16}$} {0} {1} {0} {};
\task [right=1.0cm of t16, yshift=+0.55cm] {t17} {} {$t_{17}$} {2} {0} {0} {};
\task [right=1.0cm of t13] {t18} {} {$t_{18}$} {0} {0} {1} {};
\task [right=1.0cm of t14] {t19} {} {$t_{19}$} {0} {1} {0} {};
\task [right=1.0cm of t19, yshift=+0.55cm] {t20} {} {$t_{20}$} {1} {0} {1} {};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end@ id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t7_so1) -- (t8_si1);
\draw [bind] (t9_so1) -- (t10_si1);
\draw [bind] (t9_so1) -- (t11_si1);
\draw [bind] (t12_so1) -- (t13_si1);
\draw [bind] (t12_so1) -- (t14_si1);
\draw [bind] (t15_so1) -- (t17_si1);
\draw [bind] (t16_so1) -- (t17_si2);
\draw [bind] (t18_so1) -- (t20_si1);
\draw [bind] (t19_so1) -- (t20_si2);

\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t1) (t2)] (vb1) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t3) (t4)] (vb2) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t5) (t6)] (vb3) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t7) (t8)] (vb4) {};

\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t9) (t10) (t11)] (vb5) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t12) (t13) (t14)] (vb6) {};

\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t15) (t16) (t17)] (vb7) {};
\node[Paired-3, fill=Paired-3, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t18) (t19) (t20)] (vb8) {};

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(0.35,0.75)}]
\end{tikzpicture}
\end{document}
79 changes: 79 additions & 0 deletions assets/Tex_files/valid_bindings_neg.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=white, label={right:task}] (l2) at (-0.4, 1) {};
\node[sin, label={right:Input socket} ] (l5) at (1.1, 1.0) {};
\node[sout, label={right:Output socket}] (l6) at (3.65, 1.0) {};
\node[sfwd, label={right:Forward socket}] (l3) at (6.5, 1.0) {};
\node[] (l9) at (8.85, 1.0) {};
\node[draw, fit= (l2) (l3) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {0, 0} {$t_1$} {0} {1} {0} {};
\task [right=1.0cm of t1] {t2} {} {$t_2$} {1} {0} {0} {};
\task [below=1.75cm of t1] {t3} {} {$t_3$} {0} {1} {0} {};
\task [right=1.0cm of t3] {t4} {} {$t_4$} {0} {0} {1} {};
\task [right=1.0cm of t2] {t5} {} {$t_5$} {0} {0} {1} {};
\task [right=1.0cm of t5] {t6} {} {$t_6$} {1} {0} {0} {};
\task [right=1.0cm of t4] {t7} {} {$t_7$} {0} {0} {1} {};
\task [right=1.0cm of t7] {t8} {} {$t_8$} {0} {0} {1} {};
\task [right=1.0cm of t6] {t9} {} {$t_9$} {0} {0} {1} {};
\task [right=1.0cm of t9, yshift=+0.55cm] {t10} {} {$t_{10}$} {1} {0} {0} {};
\task [right=1.0cm of t9, yshift=-0.55cm] {t11} {} {$t_{11}$} {0} {0} {1} {};
\task [right=1.0cm of t8] {t12} {} {$t_{12}$} {0} {1} {0} {};
\task [right=1.0cm of t12, yshift=+0.55cm] {t13} {} {$t_{13}$} {1} {0} {0} {};
\task [right=1.0cm of t12, yshift=-0.55cm] {t14} {} {$t_{14}$} {0} {0} {1} {};
\task [right=1.0cm of t10] {t15} {} {$t_{15}$} {0} {1} {0} {};
\task [right=1.0cm of t11] {t16} {} {$t_{16}$} {0} {1} {0} {};
\task [right=1.0cm of t16, yshift=+0.55cm] {t17} {} {$t_{17}$} {2} {0} {0} {};
\task [right=1.0cm of t13] {t18} {} {$t_{18}$} {0} {0} {1} {};
\task [right=1.0cm of t14] {t19} {} {$t_{19}$} {0} {1} {0} {};
\task [right=1.0cm of t19, yshift=+0.55cm] {t20} {} {$t_{20}$} {1} {0} {1} {};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end@ id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t3_so1) -- (t4_si1);
\draw [bind] (t5_so1) -- (t6_si1);
\draw [bind] (t7_so1) -- (t8_si1);
\draw [bind] (t9_so1) -- (t10_si1);
\draw [bind] (t9_so1) -- (t11_si1);
\draw [bind] (t12_so1) -- (t13_si1);
\draw [bind] (t12_so1) -- (t14_si1);
\draw [bind] (t15_so1) -- (t17_si1);
\draw [bind] (t16_so1) -- (t17_si2);
\draw [bind] (t18_so1) -- (t20_si1);
\draw [bind] (t19_so1) -- (t20_si2);

\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t1) (t2)] (vb1) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t3) (t4)] (vb2) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t5) (t6)] (vb3) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t7) (t8)] (vb4) {};

\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t9) (t10) (t11)] (vb5) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t12) (t13) (t14)] (vb6) {};

\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t15) (t16) (t17)] (vb7) {};
\node[Paired-5, fill=Paired-5, fill opacity=0.1, draw, dashed, minimum width=3.5cm, fit=(t18) (t19) (t20)] (vb8) {};

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(0.35,0.75)}]
\end{tikzpicture}
\end{document}
79 changes: 79 additions & 0 deletions assets/Tex_files/while_loop.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{aff3ct}

\newcommand{\legendLight}[1][]{
\begin{scope}[#1]
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=Paired-1!20, label={right:Sequential task}] (l2) at (+0.0, 1.4) {};
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-1, fill=white, label={right:Parallel task}] (l3) at (+3.35, 1.4) {};
\node[draw=Paired-1, rounded corners=0pt, minimum height=0.3cm, minimum width=0.7cm, text=Paired-3, fill=white, thick, densely dashdotted, label={right:Ctrl flow task}] (l4) at (+6.35, 1.4) {};
\node[sin, label={right:Input socket} ] (l5) at (9.25, 1.4) {};
\node[sout, label={right:Output socket}] (l6) at (11.75, 1.4) {};
\node[] (l9) at (14.0, 1.4) {};
\node[draw, fit= (l2) (l3) (l4) (l5) (l6) (l9)] (legend) {};
\end{scope}
}

\begin{document}
\begin{tikzpicture}[background rectangle/.style={thick, draw=gray!60, fill=white, fill opacity=1.0, rounded corners=2px}, show background rectangle]
%%%%%%%%%%%%%%%%%%
%% create tasks %%
%%%%%%%%%%%%%%%%%%
%
% Note:
% `\select` & `\commute` are special control flow tasks, there is no need
% to set the number of sockets for this type of task. Instead the number
% of exclusive paths has to be given.
%
% options id coords label sin sout sfwd attributes
% ------- -- ------ ----- --- ---- ---- ----------
\task {t1} {1, 0} {initialize\\($t_1$)} {0} {1} {0} {"seq"};
\task [right=1.00cm of t1] {t2} {} {$t_2$} {1} {1} {0} {};
\task [right=1.00cm of t2] {t3} {} {$t_3$} {1} {1} {0} {};
\select [right=1.50cm of t3] {t4} {} {select\\($t_4)$} {2} {};
\task [right=1.00cm of t4, yshift=-2.50cm] {t5} {} {evaluate\\condition\\($t_5$)} {1} {1} {0} {};
\commute [right=1.00cm of t5, yshift=+2.50cm] {t6} {} {commute\\($t_6$)} {2} {};
\task [above=1.00cm of t6, xshift=+0.35cm] {t7} {} {$t_7$} {1} {1} {0} {"rev"};
\task [left =1.00cm of t7] {t8} {} {$t_8$} {1} {1} {0} {"rev"};
\task [left =1.00cm of t8] {t9} {} {$t_9$} {1} {1} {0} {"rev"};
\task [left =1.00cm of t9] {t10} {} {$t_{10}$} {1} {1} {0} {"rev"};
\task [right=1.75cm of t6] {t11} {} {$t_{11}$} {1} {1} {0} {};
\task [right=1.00cm of t11] {t12} {} {finalize\\($t_{12})$} {1} {0} {0} {"seq"};

% cosmetics, just for fun ;-)
\merge [shift={(08.4, -1.3)}, scale=0.4] {Paired-1}
\diverge [shift={(14.2, -1.3)}, scale=0.4] {Paired-1}

%%%%%%%%%%%%%%%%%%%%
%% create modules %%
%%%%%%%%%%%%%%%%%%%%
% options task ids id label
% ------- -------- -- -----
\module [very thick] {"t4","t6"} {m1} {\textbf{Switcher}};

%%%%%%%%%%%%%%%%
%% bind tasks %%
%%%%%%%%%%%%%%%%
% options start id path end id
% ------- -------- ---- ------
\draw [bind] (t1_so1) -- (t2_si1);
\draw [bind] (t2_so1) -- (t3_si1);
\draw [bind,densely dashdotted] (t3_so1) --++ (0.50,0) |- (t4_si2);
\draw [bind,densely dashdotted] (t10_so1) --++ (-0.7,0) |- (t4_si1);
\draw [bind] (t4_so1) --++ (0.50,0) |- (t5_si1);
\draw [bind] (t4_so1) --++ (0.50,0) |- (t6_si1);
\draw [bind] (t5_so1) --++ (0.50,0) |- (t6_si2);
\draw [bind,densely dashdotted] (t6_so1) --++ (0.75,0) |- (t7_si1);
\draw [bind,densely dashdotted] (t6_so2) --++ (0.75,0) |- (t11_si1);
\draw [bind] (t7_so1) -- (t8_si1);
\draw [bind] (t8_so1) -- (t9_si1);
\draw [bind] (t9_so1) -- (t10_si1);
\draw [bind] (t11_so1) -- (t12_si1);

%%%%%%%%%%%%%%%%%%%%%
%% draw the legend %%
%%%%%%%%%%%%%%%%%%%%%
\legendLight [shift={(3.25,2.0)}]
\end{tikzpicture}
\end{document}
40 changes: 40 additions & 0 deletions assets/diagram-project-solid.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3,429 changes: 3,429 additions & 0 deletions assets/invalid_bindings.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3,429 changes: 3,429 additions & 0 deletions assets/invalid_bindings_neg.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions assets/javascripts/bundle.bd41221c.min.js

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions assets/javascripts/bundle.bd41221c.min.js.map

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.ar.min.js

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.da.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.de.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.du.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.el.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.es.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.fi.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.fr.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.he.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.hi.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.hu.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.hy.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.it.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.ja.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.jp.min.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports=require("./lunr.ja");
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.kn.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.ko.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.multi.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.nl.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.no.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.pt.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.ro.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.ru.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.sa.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.stemmer.support.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.sv.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.ta.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.te.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.th.min.js
18 changes: 18 additions & 0 deletions assets/javascripts/lunr/min/lunr.tr.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.vi.min.js
1 change: 1 addition & 0 deletions assets/javascripts/lunr/min/lunr.zh.min.js
Loading

0 comments on commit 378045c

Please sign in to comment.