start_section start1 : counter : integer; counter:=0; end section; priority_section prio1 : put(tasks.priority,0,4); counter:=counter+1; end section; priority_section prio2 : put(counter); counter:=counter+1; end section; election_section elect1 : return min_to_index(tasks.priority); end section; automaton_section automaton1 : Ready1 : state; Ready2 : state; Pended : initial_state; transition Pended ==> [ (counter mod 2)=0, , prio1! ] ==> Ready1; transition Pended ==> [ (counter mod 2)=1, , prio2! ] ==> Ready2; transition Ready1 ==> [ , , elect1!] ==> Pended; transition Ready2 ==> [ , , elect1!] ==> Pended; end section;