diff --git a/doc/fsm/cmd.txt b/doc/fsm/cmd.txt
index 877e4a2374ed37189d6d6b457e58f271a148fb16..feb1168f6680e852fc98de63628173d8d1e94122 100644
--- a/doc/fsm/cmd.txt
+++ b/doc/fsm/cmd.txt
@@ -8,6 +8,8 @@ dot -Tpng agentBeginning.gv -o agentBeginning.png
dot -Tpng offerer.gv -o offerer.png
+dot -Tpng receiver.gv -o receiver.png
+
dot -Tpng uncommited.gv -o uncommited.png
dot -Tpng committed.gv -o committed.png
diff --git a/doc/fsm/offerer.png b/doc/fsm/offerer.png
index a20d0b7a352951102fd38e9bd13df2d448bd0465..efb2a80783e68a0a9ee919213d012a10c8da3bfd 100644
Binary files a/doc/fsm/offerer.png and b/doc/fsm/offerer.png differ
diff --git a/doc/fsm/supervisor.png b/doc/fsm/supervisor.png
index b29be54624b3e359bd1fdbb3f741178b454aa81a..c56e48fdfcebc36dd2d32311338c429d618778da 100644
Binary files a/doc/fsm/supervisor.png and b/doc/fsm/supervisor.png differ
diff --git a/doc/fsm/supervisor_mgm2.gv b/doc/fsm/supervisor_mgm2.gv
index 8651448cfe8c693d77bb8e79cab8f2e6fd174db8..543f739784d3464afeb75fbfb0ee7f17b4f503a3 100644
--- a/doc/fsm/supervisor_mgm2.gv
+++ b/doc/fsm/supervisor_mgm2.gv
@@ -10,7 +10,7 @@ digraph finite_state_machine {
start -> WaitingForAgentValues [label = " broadcast(agents) ! Trigger
"];
- start -> start [label = " agent : KickStartMe =>
+ WaitingForAgentValues -> WaitingForAgentValues [label = " agent : KickStartMe =>
agent ! ContinueAlgo
"];
@@ -20,9 +20,12 @@ digraph finite_state_machine {
WaitingForAgentValues -> DecidingToContinueOrStop [label = " sender : InformValue(val) && (#currentContext == #agents - 1) =>
currentContext.put(sender, val)
- stopOrContinue = shouldAlgoKeepOn()
- broadcast(agents) ! WhatToDo(stopOrContinue)
- self ! WhatToDo(stopOrContinue)
+ self.shouldAlgoKeepOn() match {
+ case true => broadcast ! ContinueAlgo
+ self ! ContinueAlgo
+ case false => broadcast ! StopAlgo
+ self ! StopAlgo
+ }
"];
WaitingForAgentValues -> WaitingForAgentValues [label = " agent : Trigger =>
@@ -30,7 +33,7 @@ digraph finite_state_machine {
"];
DecidingToContinueOrStop -> WaitingForAgentValues [label = " self ! ContinueAlgo =>
- currentContext = ∅
+ currentContext.reset();
unstashall
"];