# Message flow for WFD process
msc {
hscale="0.8.5", arcgradient="10";

  CS,WS,Init;

  CS->CS [ label = "cs()" ] ;
  CS->Init [ label = "Init(TRUE)"];
  Init=>CS [ label = "process(1)" ];
  Init=>CS [ label = "process(2)" ];
  ...;
  Init=>Init [ label = "process(n)" ];
  Init=>Init [ label = "process(END)" ];
  CS<<=Init [ label = "callback()"];
  ---  [ label = "If more to run", ID="*" ];
  WS->WS [ label = "next()"];
  WS->Init [ label = "ac1()\nac2()"];
  Init<-WS [ label = "Init(TRUE)"];
  Init->Init [ label = "stalled(...)"];
  WS<-Init [ label = "ws() = FALSE"];
}
