mirror of
https://sharelatex.tu-darmstadt.de/git/681e0e7a3a9c7c9c6b8bb298
synced 2025-12-08 05:27:59 +00:00
41 lines
2.2 KiB
Plaintext
41 lines
2.2 KiB
Plaintext
\begin{tikzpicture}[node distance=1.5cm and 2cm]
|
|
\node (start) [startstop] {Start: \texttt{record\_card()}};
|
|
\node (initlink) [process, below of=start] {Initialize \texttt{PcscLink}};
|
|
\node (card) [process, below of=initlink] {Create Card};
|
|
\node (clear) [process, below of=card] {Clear Card Memory};
|
|
\node (assignme) [process, below of=clear] {Assign Mutation Engine};
|
|
\node (loopscenarios) [process, below of=assignme] {For Each Scenario};
|
|
\node (initscenario) [process, below of=loopscenarios] {Instantiate Scenario};
|
|
\node (runscenario) [process, below of=initscenario] {Run \texttt{scenario.run(card)}};
|
|
\node (handlemut) [process, below of=runscenario] {Invoke Mutation \& Recording (see right)};
|
|
\node (exception) [decision, below of=handlemut] {Exception Raised?};
|
|
\node (markleaf) [process, left=2.5cm of exception] {Mark Node as Leaf};
|
|
\node (logfail) [process, right=2.5cm of exception] {Log + Record Failure};
|
|
\node (reset) [process, below of=logfail] {Reset Card + Recorder};
|
|
\node (check) [decision, below of=exception, yshift=-3cm] {All Mutations Tried?};
|
|
\node (savefile) [process, left=2.5cm of check] {Save Tree to File};
|
|
\node (loopagain) [process, right=2.5cm of check] {Loop Again};
|
|
\node (nextscenario) [process, below of=check] {Continue to Next Scenario};
|
|
\node (end) [startstop, below of=nextscenario] {End};
|
|
|
|
\draw [arrow] (start) -- (initlink);
|
|
\draw [arrow] (initlink) -- (card);
|
|
\draw [arrow] (card) -- (clear);
|
|
\draw [arrow] (clear) -- (assignme);
|
|
\draw [arrow] (assignme) -- (loopscenarios);
|
|
\draw [arrow] (loopscenarios) -- (initscenario);
|
|
\draw [arrow] (initscenario) -- (runscenario);
|
|
\draw [arrow] (runscenario) -- (handlemut);
|
|
\draw [arrow] (handlemut) -- (exception);
|
|
\draw [arrow] (exception.west) -- node[above] {No} (markleaf.east);
|
|
\draw [arrow] (exception.east) -- node[above] {Yes} (logfail.west);
|
|
\draw [arrow] (logfail) -- (reset);
|
|
\draw [arrow] (markleaf.south) |- (check.north);
|
|
\draw [arrow] (reset.south) |- (check.north);
|
|
\draw [arrow] (check.west) -- node[above] {Yes} (savefile.east);
|
|
\draw [arrow] (check.east) -- node[above] {No} (loopagain.west);
|
|
\draw [arrow] (savefile.south) |- (nextscenario);
|
|
\draw [arrow] (loopagain.south) |- (nextscenario);
|
|
\draw [arrow] (nextscenario) -- (end);
|
|
|
|
\end{tikzpicture} |