blob: b06db3e0876eeb9c5abf08ed62c04edbe4f02f80 [file] [log] [blame]
h3. Modeling Example "Purely Periodic without Communication"
This system architecture pattern consists of a task set, where each task is activated periodically and no data accesses are performed. The execution time for each task is determined by the called runnable entities as specified in the table below. All tasks contain just one runnable except of T<sub>7</sub>, which calls at first R<sub>7,1</sub> and after that R<sub>7,2</sub>.
The table below gives a detailed specification of the tasks and their parameters. The tasks are scheduled according fixed-priority, preemptive scheduling and if not indicated otherwise, all events are active in order to get a detailed insight into the system's behavior.
table(classic){text-align:center; background:#f8f8f8}.
{background:#eee}.|_. Task |_. Priority |_. Preemption |_. Multiple Task Activation Limit |_. Activation |\2_. Execution Time |
|/3. T<sub>1</sub> |/3. 7 |/3. FULL |/3. 1 | Periodic |/3. R<sub>1</sub> | Uniform |
|<. Offset = 0 |<.Min = 9.95 |
|<. Recurrence = 80 |<. Max = 10 |
|/3. T<sub>2</sub> |/3. 6 |/3. FULL |/3. 1 | Periodic |/3. R<sub>2</sub> | Uniform |
|<. Offset = 0 |<.Min = 29.95 |
|<. Recurrence = 120 |<. Max = 30 |
|/3. T<sub>3</sub> |/3. 5 |/3. FULL |/3. 1 | Periodic |/3. R<sub>3</sub> | Uniform |
|<. Offset = 0 |<.Min = 19.95 |
|<. Recurrence = 160 |<. Max = 20 |
|/3. T<sub>4</sub> |/3. 4 |/3. FULL |/3. 1 | Periodic |/3. R<sub>4</sub> | Uniform |
|<. Offset = 0 |<.Min = 14.95 |
|<. Recurrence = 180 |<. Max = 15 |
|/3. T<sub>5</sub> |/3. 3 |/3. FULL |/3. 1 | Periodic |/3. R<sub>5</sub> | Uniform |
|<. Offset = 0 |<.Min = 29.95 |
|<. Recurrence = 200 |<. Max = 30 |
|/3. T<sub>6</sub> |/3. 2 |/3. FULL |/3. 1 | Periodic |/3. R<sub>6</sub> | Uniform |
|<. Offset = 0 |<.Min = 39.95 |
|<. Recurrence = 300 |<. Max = 40 |
|/6. T<sub>7</sub> |/6. 1 |/6. FULL |/6. 1 |/2. |/3. R<sub>7,1</sub> | Uniform |
|<.Min = 59.95 |
|Periodic |<. Max = 60 |
|<. Offset = 0 |/3. R<sub>7,2</sub> | Uniform |
|<. Recurrence = 1000 |<.Min = 19.95 |
| |<. Max = 20 |
In order to show the impact of changes to the model, the following consecutive variations are made to the model:
- **1) Initial Task Set** := For this variation, the Tasks T<sub>4</sub>, T<sub>5</sub>, T<sub>6</sub>, and T<sub>7</sub> of the table above are active.
!../pictures/example_modeling/modeling_example_periodic_1.png!
- **2) Increase of Task Set Size I** := For this variation, the Tasks T<sub>3</sub>, T<sub>4</sub>, T<sub>5</sub>, T<sub>6</sub>, and T<sub>7</sub> are active. That way the utilization of the system is increased.
!../pictures/example_modeling/modeling_example_periodic_2.png!
- **3) Increase of Task Set Size II** := For this variation, the Tasks T<sub>1</sub>, T<sub>3</sub>, T<sub>4</sub>, T<sub>5</sub>, T<sub>6</sub>, and T<sub>7</sub> are active. That way the utilization of the system is increased.
!../pictures/example_modeling/modeling_example_periodic_3.png!
- **4) Increase of Task Set Size III** := As from this variation on, all tasks (T<sub>1</sub> - T<sub>7</sub>) are active. That way the utilization of the system is increased.
!../pictures/example_modeling/modeling_example_periodic_4.png!
- **5) Accuracy in Logging** := For this variation, just task events are active. That way, only a limited insight into the system's runtime behavior is available.
!../pictures/example_modeling/modeling_example_periodic_5.png!
- **6) Schedule** := As from this variation on, T<sub>7</sub> is set to non-preemptive. That way, the timing behavior is changed, which results in extinct activations (see red mark in the figure below).
!../pictures/example_modeling/modeling_example_periodic_6.png!
- **7) Activation** := As from this variation on, the maximum number of queued activation requests for all tasks is set to 2. That way, the problem with extinct activations resulting from the previous variation is solved.
!../pictures/example_modeling/modeling_example_periodic_7.png!
- **8) Schedule Point** := For this variation, a schedule point is added to T<sub>7</sub> between the calls of R<sub>7,1</sub> and R<sub>7,2</sub>. That way, the timing behavior is changed in particular.
!../pictures/example_modeling/modeling_example_periodic_8.png!
- **9) Scheduling Algorithm** := For this variation, the scheduling algorithm is set to Earliest Deadline First. That way, the timing behavior is changed completely.
!../pictures/example_modeling/modeling_example_periodic_9.png!