8286ddbedb5e32ed364befda11bb594ca69e7069
[tt2015.git] / a4 / question2.tex
1 In order to be allow learnlib to learn the TCP model it was necessary to have a deterministic model.
2 We accomplished this by modifying the adapter so it can reach a \emph{ERROR} or \emph{CLOSED} state. In these states all inputs are discarded and a default output is returned.
3 In the case of a state where an input results in a non-deterministic output we jump to the \emph{ERROR} state for additional this given input. When the connection is successfully closed using a \emph{FIN} packet we move the adapter to the \emph{CLOSED} state.
4
5 We divided the input alphabet into three sets, this way we can control the size of the model learned by learnlib.
6
7 \begin{longtable}{|c|l|}
8 \caption{Different input alphabets used during learning.} \\\hline
9 Alphabet & Inputs \\\hline \hline
10 small & SYN, ACK \\\hline
11 partial & SYN, ACK, DATA \\\hline
12 full & SYN, ACK, DATA, RST, FIN \\\hline
13 \end{longtable}
14
15 Just as in our previous assignment the \emph{DATA} packet is actually a \emph{ACK} with an user data payload and the \emph{push} flag set.
16 These input alphabets will influence the size of the model produced. \emph{small} will result in a 2 state model, \emph{partial} will be the full model without the \emph{CLOSED} state and \emph{full} should result in the full model as used in the previous assignment.
17
18 \paragraph{Model learned with small input alphabet}
19 \includegraphics{model.small.LStar.rand.eps}
20
21
22 \paragraph{Model learned with partial input alphabet}
23 \includegraphics{model.partial.LStar.rand.eps}
24
25 \paragraph{Model learned with full input alphabet}
26 \includegraphics{model.full.LStar.rand.eps}