Probabilistic Verification Tong Wang tw2436 Yihan Zou yz2575 Hang Yin hy2368 Miaoqiong Wang mw2908...

Post on 19-Jan-2018

215 views 0 download

description

Assumptions RTT >> Tx: multiple messages on channel FC and BC are FIFO queues: packets arrive in order Sender/ Receiver can only process one packet at a time Sender always has packet to send Timeout occur Stopping conditions Initial state: ( 0 0 (0,1,2,3) ( ) )

Transcript of Probabilistic Verification Tong Wang tw2436 Yihan Zou yz2575 Hang Yin hy2368 Miaoqiong Wang mw2908...

Probabilistic Verification

Tong Wang tw2436Yihan Zou yz2575Hang Yin hy2368

Miaoqiong Wang mw2908

of Go-Back-N

Assumption

Components of states

Flow chart of algorithm

Analysis

Agenda

AssumptionsRTT >> Tx: multiple messages on channel

FC and BC are FIFO queues: packets arrive in order

Sender/ Receiver can only process one packet at a time

Sender always has packet to send

Timeout occur

Stopping conditions

Initial state: ( 0 0 (0,1,2,3) ( ) )

SI

SW

a>=baseF

Tbase=a+1

Xmit M(base)……M(base+3)Reset timer

Base=0Xmit M(base)…M(base+3)

Initial

Rcv Ack(0)Wait for Ack

TimeoutXmit M(base)…M(base+3)

Start timer

Source

SWSI

Initial

Xmit Ack(e)s=e?

Rcv M(s)

e=e+1M(s)->AppXmit Ack(e)

TF

Receiver

Timeout

Backward channel is empty

Both forward and backward channel is empty

Stopping points

3 lost packages on the channel

ACK0 is successfully received

Global state (Tx, Rx, FC, BC)

Four stacks: stack(i) contains states going through i low probability transitions

Initial(0 0 (0,1,2,3) ()) Get M0, Get M1, Get M2, Get M3 0

step 1 Pop (0 0 (0,1,2,3) ()) (0 1 (1,2,3) (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 0(0 0 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3 1

step 2 Pop (0 1 (1,2,3) (0)) ,(1 1 (1,2,3,4) ()) is accepted

(0 2 (2,3) (0,1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 0(0 1 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0 1(0 1 (2,3) (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 1(0 0 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3 1

step 3 Pop (0 2 (2,3) (0,1)) ,(1 2 (2,3,4) (1)) is accepted

(0 3 (3)(0,1,2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, AcptM1, AcptM2 0(0 2 (2,3) (1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 1(0 2 (3) (0,1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 1(0 1 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0 1(0 1 (2,3) (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 1(0 0 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3 1

Stopping point analysis

step 49 Pop (0 3 () (1,2)) ,(2 3 (4,5) (2)) is accepted

(0 4 () (2,3)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2, Acpt M3 2 (0 3 (3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 3 () (2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 2 (3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 2 () (1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 1 (3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 1 () (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 0 (3) ()) Get M0, Get M1, Get M2, Get M3 3 (0 0 () ()) Get M0, Get M1, Get M2, Get M3 3 (0 0 (0,1,2,3) ()) Get M0, Get M1, Get M2, Get M3 3 (0 4 () (1,2,3)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2, Acpt M3 3 (0 3 (3) (1,2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 3 () (0,1,2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 2 (2,3) (1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 2 (3) (0,1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 1 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 1 (2,3) (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 0 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3 3

step 50 Pop (0 4 () (2,3)) ,(3 4 (4,5,6) (3)) is accepted

(0 4 () (3)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2, Acpt M3 3 (0 3 (3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 3 () (2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 2 (3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 2 () (1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 1 (3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 1 () (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 0 (3) ()) Get M0, Get M1, Get M2, Get M3 3 (0 0 () ()) Get M0, Get M1, Get M2, Get M3 3 (0 0 (0,1,2,3) ()) Get M0, Get M1, Get M2, Get M3 3 (0 4 () (1,2,3)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2, Acpt M3 3 (0 3 (3) (1,2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 3 () (0,1,2)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1, Acpt M2 3 (0 2 (2,3) (1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 2 (3) (0,1)) Get M0, Get M1, Get M2, Get M3, Acpt M0, Acpt M1 3 (0 1 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 1 (2,3) (0)) Get M0, Get M1, Get M2, Get M3, Acpt M0 3 (0 0 (1,2,3) ()) Get M0, Get M1, Get M2, Get M3 3

Table1(157 steps)

Table2(50 steps)

VS

Self Critique1. Additional assumptions about channel

RTT>> Tx, push 4 msg into channel, omit the possibility of Rx prompt reply (concurrency)

RTT < timeout interval, omit the possibility of pre-mature timeout (fixed already)

Self Critique (cont’d)2. No mapping of msg # from Real Number to finite set of number {0,1,2,3}

Hard to justify stopping point, successful reception of ACK(100) does not guarantee the successful reception of ACK(101)

Self Critique (cont’d)

3. Insufficient justification of stopping

We stop verification when first message is successfully received, and take it for granted that the following messages can be received (need to verify!)

Self Critique (cont’d)Our valuables:

Stack processing technique

Under our assumptions, reasonable results are obtained

Succinct implementation of program

Thank you!