Analysis of a transfer system

--- This page is still under construction. ---



1. Process Definition

We show some results of the analysis of a transfer systems TransferSys defined by Fig.1.


  TransferSys = (UI [|{|input, quit0, succ, ok, ng|}|] Transfer)
                    \ {|input, quit0, succ, ok, ng|}

     Transfer = (Sender [|{|start,net,term,quit1,ack|}|] Receiver)
                        \ {|start,net,term,quit1,ack|}

     UI = upload?ds -> input!ds -> (ok?a -> Wait [] ng?a -> UI)
   Wait = cancel?b -> quit0!0 -> UI [] succ?u -> complete!0 -> UI

       Sender = input?ds0 -> Check(ds0)
   Check(ds0) = ((#ds0>0) & ok!0 -> start!0 -> Sending(ds0))
             [] ((not #ds0>0) & ng!0 -> Sender)
 Sending(ds0) = ((#ds0>0) & net!(head(ds0)) -> Sending(tail(ds0)))
             [] ((not #ds0>0) & term!0 -> Term)
             [] (quit0?x -> quit1!0 -> Sender)

  Term = ack?z -> (succ!0 -> Sender [] quit0?x -> Sender)

        Receiver = start?y -> Receiving(<>)
  Receiving(ds1) = (net?d -> Receiving(ds1^<d>))
                [] (term?y -> output!ds1 -> ack!0 -> Receiver)
                [] (quit1?y -> Receiver)


Fig.1. CSPM script of TransferSys





Fig.2. The structure of TransferSys


2. Process Analysis by CONPASU

The symbolic transition graphs generated by CONPASU from TrasnsferSys are shown in Figures 3 and 4. Graphviz is used for drawing these graphs.



Fig.3. The symbolic transition graph of TransferSys generated by CONPASU from TransferSys in Fig.1   (Click the graph to magnify it)





Fig.4. The symbolic transition graph after hiding "complete" and the state-reduction from Fig.3   (Click the graph to magnify it)


The process Term in Figure 1 can receive the quit signal quit0 even after receiving the acknowledgment. It seems needless, but the system TransferSys', which is the same as TransferSys except that Term is replaced by the following Term'

  Term' = ack?z -> succ!0 -> Sender,

has a deadlock because it is possible to perform the cancel just after the successful termination. Figure 5 is the reduced transition graph generated from TransferSys'\{|complete|}, and it shows how the system reaches to the deadlock state S16.



Fig.5. The reduced symbolic transition graph of TranferSys'\{|complelte|}  (Click the graph to magnify it)