blob: d03c65069257a1c71de9144ed0906184b99c2fec (
plain)
- @startuml
- start
- partition init {
- :setup serial connection;
- :setup Bluetooth
- * init server background task
- * add hook to capture votes;
- :setup ballot
- * resolve nextVotingTime
- * clear votes;
- :print "ready";
- }
- while (repeat every few millisecond)
- partition loop {
- :resolve currentTime;
- if (currentTime >= nextVotingTime?) equals (yes) then
- :count and print ballot;
- switch (voterCount?)
- case (< 5)
- :print "ALARM: Too few voters!";
- kill
- case (<= 8)
- :resolve votesPositive;
- if (votesPositive < 5 ?) equals (yes) then
- :print "ALARM: Bad water quality!";
- kill
- endif
- :setup ballot;
- case (> 8)
- :print "ALARM: Too many voters!";
- kill
- endswitch
- endif
- }
- endwhile
- -[hidden]->
- kill
- @enduml
|