@startuml skinparam monochrome true start :start_period(100 ms); while () :wait_next_period(); if(shouldSendImage)then(true) :Img image=camera.Grab(); if (shouldComputePosition)then(true) :Position position=image.SearchRobot(); :image.DrawRobot(position); endif if (arena)then(null) else :image.DrawArena(arena); endif :messageToMon!image; endif endwhile stop @enduml