1 | |
---|
2 | start_section task1_start : |
---|
3 | partition1_capacity : integer := 10; |
---|
4 | partition1_duration : clock := 0; |
---|
5 | end section; |
---|
6 | |
---|
7 | |
---|
8 | election_section task1_election : |
---|
9 | return min_to_index(tasks.priority); |
---|
10 | end section; |
---|
11 | |
---|
12 | |
---|
13 | automaton_section task1_scheduler : |
---|
14 | Ready : state; |
---|
15 | Pended : initial_state; |
---|
16 | |
---|
17 | transition Pended ==> [ , partition1_duration:=0; ,] ==> Ready; |
---|
18 | transition Ready ==> [partition1_duration < partition1_capacity, ,task_election! ] ==> Ready; |
---|
19 | transition Ready ==> [partition1_duration=partition1_capacity, , ] ==> Pended; |
---|
20 | end section; |
---|
21 | |
---|