Research Article

A Mechanically Proved and an Incremental Development of the Session Initiation Protocol INVITE Transaction

Algorithm 3

Events of second refinement.
  Exipre_B
REFINES
   client_final_state
WHEN
   grd3: r1xx cl_got
   grd1: B = 64 ∗ cst
   grd4: c_st = Calling
THEN
   act1: c_st    Terminated
   act2: B 0
   act3: Temp_B FALSE
END
  Expire_H
REFINES
   server_final_state
WHEN
   grd3: ACK sr_got
   grd1: H = 64 ∗ cst
   grd2: s_st = Completed
THEN
   act1: s_st     Terminated
   act2: H 0
   act3: Temp_H FALSE
END
  Expire_D
REFINES
   client_final_state
WHEN
   grd1: Temp_D = TRUE
   grd2: c_st = Completed
THEN
   act1: c_st     Terminated
   act2: Temp_D FALSE
END
  Expire_I
REFINES
   Server_final_state
WHEN
   grd2: Temp_I = TRUE
   grd1: s_st = Confirmed
THEN
   act1: s_st     Terminated
   act2: Temp_I FALSE
END
  Expire_M
REFINES
   Client_final_state
WHEN
   grd2: Temp_M = TRUE
   grd1: c_st = Accepted
THEN
   act1: c_st     Terminated
   act2: Temp_M FALSE
END
  Expire_L
REFINES
   Server_final_state
WHEN
   grd2: Temp_L = TRUE
   grd1: s_st = Accepted
THEN
   act1: s_st     Terminated
   act2: Temp_L FALSE
END