@startuml partition Drehteller { start :Drehteller ausschalten; while(true) is (true) if(Sensor aktiv ?) then (true) :drehen an; else (false) :drehen aus; endif endwhile (false) stop } partition Prüfer { start :Prüfer einfahren; while(Dauerschleife) is (true) if(Werkstück vorhanden ?) then (true) :Prüfer ausfahren; if(Werkstück Normallage ?) then (true) :Bohrer(on)> else (false) :Bohrer(off)> endif :Prüfer einfahren; else (false) endif endwhile (false) stop } partition Bohrer { start :Bohrer ausschalten; :Bohrer hochfahren; :Werkstück loslassen; while(Dauerschleife) is (true) if(Werkstück vorhanden?) then(true) :Bohrer< :Auswerfer> if(Normallage) then(true) :Werkstück festhalten; :Bohrer anschalten; :Bohrer herunterfahren; if(Bohrer unten) then (true) :sleepStuff 500ms; :Bohrer hochfahren; endif if(Bohrer oben) then (true) :Bohrer ausschalten; :Werkstück loslassen; endif else(false) endif else (false) endif endwhile(false) stop } partition Auswerfer { start :Auswerfer einfahren; while(Dauerschleife) is (true) :Auswerfer< note right oder eher ne if hier ? end note :Auswerfen; endwhile(false) stop } @enduml