Framework iets uitgebreid. Grove versie symbolic transition system van driver toegevoegd
authorpimjager <pim@pimjager.nl>
Fri, 18 Dec 2015 21:33:49 +0000 (22:33 +0100)
committerpimjager <pim@pimjager.nl>
Fri, 18 Dec 2015 21:33:49 +0000 (22:33 +0100)
a3/2tools.tex
a3/3architecture.tex
a3/graphs.viz

index f56417b..22dd196 100644 (file)
@@ -4,6 +4,10 @@
 % argue why you selected these
 % tools. (See also the list of MBT tools below.)
 
-\subsection{JTorx of Jwhatever ofzo}
+To test the TCP model of Section~\ref{sec:modeling} two tools have been
+considered. \GAST and JTorx. The sections below discuss the upsides and
+downsides of these tools in regard to testing the SUT.
+
+\subsection{JTorx of Graphwalker ofzo}
 
 \subsection{\GAST}
\ No newline at end of file
index a002dd0..b8f932a 100644 (file)
@@ -13,7 +13,7 @@ output. To simplify the input and output handled by \GAST an adapter is added
 between \GAST and the SUT. This adapter abstracts away from parts of the 
 specification that are not needed for these tests, such as the payload, 
 sequence number, etc. Essentially reducing each segment to only its flags (SYN,
-ACK, FIN, etc.)
+ACK, FIN, etc.).
 
 An EchoServer will connect to the SUT to offer an application which will accept
 the incoming connection. However, since no data will be exchanged the EchoServer
@@ -27,5 +27,24 @@ Hier zou dus een plaatje van ``digraph TestSetupDown'' uit ``graphs.viz'' moeten
 
 Hier zou dus een plaatje van ``digraph TestSetupUp'' uit ``graphs.viz'' moeten komen. \label{fig:architecture_up}
 
+
+\subsection{Python Driver}
+The Python driver can be modeled as an Symbolic Transition
+System. The model for the connection phase can be seen in 
+Figure~\ref{fig:pythondriverconnection}. 
+%meer uitleg over hoe die driver werkt. Qua sequence nummers opslaan enzo,
+%beetje toelichting bij de figuur.
+
+%in graphs.viz heb ik een opzetje voor die symbolic trnasition system
+%neergezet, maar ik weet neit hoe die er precies uitziet, dus het is echt heel
+%grof, dit moet aangepast worden naar iets wat daadwerkelijk op de 
+%implementatie lijkt. Wat er nu staat is meer om de moeite te besparen van 
+%uitzoeken hoe zo'n model er uit ziet :)
+Hier zou dus een plaatje van ``digraph PythonDriverConnection'' uit ``graphs.viz'' moeten komen. \label{fig:pythondriverconnection}
+
+Hier zou dus een plaatje van ``digraph PythonDriverClose'' uit ``graphs.viz'' moeten komen. \label{fig:pythondriverclose}
+
 % Hier moet nog meer over het automationdeel, maar ik weet neit hoe we dat
-% gaan fixen
\ No newline at end of file
+% gaan fixen
+
+
index a413cea..b021f6e 100644 (file)
@@ -14,12 +14,35 @@ digraph Close {
   "Last Ack" -> "Closed" [label = "ACK?"]
 }
 digraph TestSetupDown {
-  "G∀ST" -> "Python Driver" [label = "TCP"]
-  "Python Driver" -> "SUT" [label = "TCP"]
+  "G∀ST" -> "Python Adapter" [label = "TCP"]
+  "Python Adapter" -> "SUT" [label = "TCP"]
   "SUT" -> "EchoServer'" 
 }
 digraph TestSetupUp {  /*todo, invert */
-  "Python Driver" -> "G∀ST" [label = "TCP"]
-  "SUT" -> "Python Driver" [label = "TCP"]
+  "Python Adapter" -> "G∀ST" [label = "TCP"]
+  "SUT" -> "Python Adapter" [label = "TCP"]
   "EchoServer" -> "SUT"
-}
\ No newline at end of file
+}
+/*DISCLAIMER: ik ben dat verloop van sequencenummers even kwijt... vandaar steeds nieuwe letters
+ *maar in uiteindelijek fisguur is het wel mooi om het steeds over n+x te hebben.
+ *Daarnaast als er meer shit is die je bijhoudt behalve seqnummer en wat al in de states gecodeerd
+ *is past dat ook mooi in dit figuur
+ */
+digraph PythonDriverConnection {
+    "q0" -> "q1" [label = "SYN?"] /* SYN? wordt dus gestuurd door GAST*/
+    "q1" -> "q2" [label = "SYN SEQ=n!"] /*stuur een SYN met seqnummer = n naar de SUT*/
+    "q2" -> "q3" [label = "SYN+ACK SEQ=m?"] /*krijg en SYN+ACK met seqnummer = m terug van SUT*/
+    "q3" -> "q4" [label = "SYN+ACK!"] /*stuur versimpelde SYN+ACK! aan GAST*/
+    "q4" -> "q5" [label = "ACK?"] /*krijg simpele ACK van GAST*/
+    "q5" -> "q6" [label = "ACK SEQ=o!"] /*stuur ACK! met seqnummer naar SUT*/
+} 
+digraph PythonDriverClose {
+    "q0" -> "q1" [label = "FIN?"] /* FIN? wordt dus gestuurd door GAST*/
+    "q1" -> "q2" [label = "FIN SEQ=n!"] /*stuur een FIN met seqnummer = n naar de SUT*/
+    "q2" -> "q3" [label = "ACK SEQ=m?"] /*krijg en ACK met seqnummer = m terug van SUT*/
+    "q3" -> "q4" [label = "ACK!"] /*stuur ACK! aan GAST*/
+    "q4" -> "q5" [label = "FIN SEQ=o?"] /*krijg FIN van SUT*/
+    "q5" -> "q6" [label = "FIN!"] /*stuur FIN! met naar GAST*/
+    "q6" -> "q7" [label = "ACK?"] /*krijg simpele ACK van GAST*/
+    "q7" -> "q8" [label = "ACK SEQ=p!"] /*stuur ACK met seqnummer aan SUT*/
+} 
\ No newline at end of file