MAST

Modeling and Analysis Suite for Real-Time Applications
Results of Examples

This document describes the results of applying the MAST analysis tools to the examples that appear in the "examples" directory of the MAST distribution.

Table of Contents

Template

This example does not represent any practical system, but just contains a template of each of the different objects defined in MAST. It is useful for copying and pasting the desired template into your system model, and then changing it to contain the appropriate values.

This example should not be used as input to the analysis tools, but it can be used as input to the "Parse" tool.
 

Caseva_Example

This example represents the software design of the CASEVA robot controller built by our group. It is a linear system running on a single processor. You will see that it contains a lot of shared resources and operations, because the software architecture of the CASEVA robot was based primarily on tasks synchronizing through Ada protected objects.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1420
220.31
Trajectory_Planning
13240
263.28
Light Manager
13564
40050.0
Reporter 137614 653.13
Message_Logger
n/a
>100000.0

The system slack for this example is 100.78%.

The results are the same if the default priority assignment option is set.
 

Caseva_Multi

This example represents a modification to the software design of the CASEVA robot controller, to use a multiprocessor architecture. Therefore, it is a linear system running on a multi-processor.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the linear analysis tools (Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
2714
210.94
Trajectory_Planning
10775
433.59
Light Manager
10599
66071.9
Reporter 74974 1261.7
Message_Logger
n/a
>100000.0

The system slack for this example is 153.91%.

The results are the same if the default priority assignment option is set.

Caseva_Simplified

This example represents a simplification of the software design of the CASEVA robot controller, to use less protected objects and operations. Therefore, it is a linear system running on a single processor.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or  linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1420
220.31
Trajectory_Planning
13240
263.28
Light Manager
13564
40050.0
Reporter 137614 653.13
Message_Logger
n/a
>100000.0

The system slack for this example is 100.78%.

The results are the same if the default priority assignment option is set.

Caseva_With_Clock

This example represents a modification to the CASEVA example, to incorporate the overhead effects of a hypothetical OS timer of the type Alarm Clock, which produces an interrupt each time a task requests being awakened.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, for the Classic_RM, Varying_Priorities, and Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1620
214.84
Trajectory_Planning
13540
257.03
Light Manager
13864
39079.7
Reporter 139314 636.72
Message_Logger
n/a
>100000.0

The system slack for this example is 98.44%.

For the Offset_Based_Unoptimized analysis tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1770
214.84
Trajectory_Planning
13690
257.03
Light Manager
14014
39079.7
Reporter 139464 636.72
Message_Logger
n/a
>100000.0

The system slack for this example is 98.44%.

And for the Holistic analysis tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1820
214.84
Trajectory_Planning
13740
257.03
Light Manager
14064
39079.7
Reporter 139514 636.72
Message_Logger
n/a
>100000.0

The system slack for this example is 98.44%.

In all cases, the results are the same if the default priority assignment option is set.

Caseva_With_Timer

This example represents a modification to the CASEVA example, to incorporate the overhead effects of a hypothetical OS timer of the "Ticker" type , which produces a periodic interrupt and introduces jitter in the wake up times.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
2520
196.88
Trajectory_Planning
14940
235.16
Light Manager
16649
35848.4
Reporter 148584 584.38
Message_Logger
n/a
>100000.0

The system slack for this example is 89.84%.

The results are the same if the default priority assignment option is set.

Controller

This example represents a system with three periodic tasks and one aperiodic task of the sporadic kind.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Control
46
39.84
Planning
82
29.69
Status
276
23.44
Emergency 5.5 9.38

The system slack for this example is 8.59%.

The results are the same if the default priority assignment option is set.

Controller2

This example represents a system with three periodic tasks and two aperiodic tasks of two kinds: sporadic and unbounded.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or linear analysis tools and no priority assignment (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Control
66
6.25
lanning
88
4.69
Status
296
3.91
Emergency 5 13.28
Communications
n/a
n/a

The system slack for this example is 0.78125%.

The priority assignment  option should not be set because the soft deadline of the communications task is not taken into account by the priority assignment tools, and it would not be met.
 

RMT

This example represents a simplification of the software design of the RMT robot controller built by our group. It is a linear system running on a distributed system.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, for the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1133
204.69
Main_Control_Loop
34374
47.66
Gui
191358
434.38

The system slack for this example is 37.50%.

For the Offset_Based_Unoptimized tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1133
161.72
Main_Control_Loop
40563
26.56
Gui
191408
434.38

And the system slack for this tool is 21.88%.

For the Holistic tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
1143
-100.00
Main_Control_Loop
69943
-24.22
Gui
193749
-100.00

And the system slack for this tool is -21.09%.

If the default priority assignment option is set, the results of the example are as follows, for the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
Servo_Control
2380
208.59
Main_Control_Loop
34336
47.66
Gui
191358
434.38

The system slack for this example is 42.19%.

Linear_Transactions_Only

This example represents a linear system running on a distributed system. It has two processors, a network, and two transactions.

The results of the example are as follows, for the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
Trans1
8140
70.31
Trans2
6780
23.44

The system slack for this example is 17.97%.

For the Offset_Based_Unoptimized tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Trans1
8940
58.59
Trans2
8700
19.53

And the system slack for this tool is 14.84%.

For the Holistic tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Trans1
8940
42.19
Trans2
11790
13.28

And the system slack for this tool is 10.16%.

If the default priority assignment option is set, the results of the example are as follows, for the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
Trans1
3620
349.22
Trans2
8550
246.88

The system slack for this example is 163.28%.

If the default priority assignment option is set, for the Offset_Based_Unoptimized tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Trans1
3910
310.94
Trans2
12090
126.56

And the system slack for this tool is 97.66%.

If the default priority assignment option is set, for the Holistic tool the results are:
 
Transaction
WC Response times (ms)
Slack (%)
Trans1
3910
300.78
Trans2
12730
118.75

And the system slack for this tool is 91.41%.

P_A_Test_Linear_Transactions_Only

This example is the same as the Linear_Transactions_Only, but without explicit priorities. Priority assignment techniques need to be used. The results obtained are much better than with the manual priority assigment made for Linear_Transactions_Only.

The results of the example are as follows, for the Offset_Based analysis tool:
 
Transaction
Slack
(No Priority Assignment)
Slack 
(HOPA)
Slack
(Simulated Annealing)
Trans1
70.21
349.22
349.22
Trans2
23.44
246.88
246.88
System
17.97
163.28
163.28

Note: Results with priority assignment may differ from one execution to another due to the randomness in the algorithms.

Example_5_1_2_2

This is the example from Section 5.1.2.2 of  "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, which uses an interrupt service routine.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools and no priority assignment (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t1
8
78.91
int2
2
632.81
t2
303
443.75
t3 30 107.03
t4
77
107.81
t5
297
50.00

The system slack for this example is 17.97%.

If we set the priority asisgnment option to default, the results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t1
8
161.72
int2
2
1200
t2
83
417.97
t3 30 204.69
t4
77
285.94
t5
404
200

The system slack for this example is 42.97%.

Example_5_2_4_1

This is the example from Section 5.2.4.1 of  "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which the calculation of blocking times is the goal.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Blocking Time
t1
2
66.41
0
t2
53
10.16
18
t3
73
19.53
18
t4 182 14.06 16
t5
251
46.88
16
t6
300
25.00
0

The system slack for this example is 3.13%.

The results are the same if the default priority assignment option is set.
 

Example_5_2_4_2

This is the example from Section 5.2.4.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which the calculation of blocking times is the goal.

The analysis tools should be executed with the "Calculate Ceilings" option set. The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
Blocking Time
t1
2
66.41
0
t2
69
10.16
34
t3
91
19.53
34
t4 182 14.06 16
t5
251
46.88
16
t6
300
25.00
0

The system slack for this example is 3.13%.

The results are the same if the default priority assignment option is set.
 

Example_5_3_5_1

This is the example from Section 5.3.5.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there are two sporadic tasks that are handled through interrupt service routines.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_i1
32
-100.00
t_a2
146
-100.00
t_i3
32
-96.88
t_a4 39 -100.00

The system slack for this example is -84.38%.

The results are the same if the default priority assignment option is set.

Example_5_3_5_2

This is the example from Section 5.3.5.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there are two sporadic tasks that are each handled through a short interrupt service routine, followed by an application task.

The results of the example are as follows, with the Offset_Based analysis tools:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
2.5
25.00
t_2
146
10.16
t_3
46
13.28
t_4 9.5 7.03

The system slack for this example is 3.91%.

If we use the Offset_Based_Unoptimized analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
3
25.00
t_2
146
8.59
t_3
46.5
10.94
t_4 9.5 7.03

And the system slack for this tool is 3.13%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
3.5
25.00
t_2
146
8.59
t_3
47
10.94
t_4 9.5 7.03

And the system slack for this tool is 3.13%.

In all cases, the results are the same if the default priority assignment option is set.

Example_5_3_5_3

This is the example from Section 5.3.5.3 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there are two sporadic tasks that are each handled through polling servers.

The results of the example are as follows, with any of the analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
5
-100.00
t_2
231.1
-15.63
t_3
127.5
-19.53
t_4 9.9 -23.44

The system slack for this example is -6.25%. The results are different than in the Real-Time Analysis Handbook because MAST uses a more precise technique to model the polling tasks.

The results are the same if the default priority assignment option is set.

Example_5_3_5_4

This is the example from Section 5.3.5.4 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there are two sporadic tasks that are each handled through sporadic servers.

The results of the example are as follows, with the  Holistic, Offset_Based, or Offset_Based_Unoptimized analysis tools.
 
Transaction
WC Response times (ms)
Slack (%)
t_1
3.5
0.00
t_2
146
10.16
t_3
47
0.00
t_4 9.5 7.03

The system slack for this example is 0.00%, because the capacity of the sporadic servers is just equal to the maximum load.

The results are the same if the default priority assignment option is set.

Example_5_3_6_1

This is the example from Section 5.3.6.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there is one bursty task that is handled through an interrupt service routine.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
35
-100.00
t_2
25
-40.63
t_3
290
-100.0

The system slack for this example is -28.91%.

The results are the same if the default priority assignment option is set.

Example_5_3_6_2

This is the example from Section 5.3.6.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there in which there is one bursty task that is handled through a short  interrupt service routine, that triggers an application task.

The results of the example are as follows, with with the Offset_Based or the Offset_Based_Unoptimized analysis tools:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
12.5
25.00
t_2
47.5
63.28
t_3
295
28.91

The system slack for this example is 10.94%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
12.5
25.00
t_2
50
63.28
t_3
295
28.91

The system slack for this tool is 10.94%.

In all cases, the results are the same if the default priority assignment option is set.

Example_5_3_6_3

This is the example from Section 5.3.6.3 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there in which there is one bursty task that is handled through a short  interrupt service routine, that triggers an application task running under a polling server.

The results of the example are as follows, with with any of the monoprocessor or linear analysis tools (classic_RM, Varying_Priorities, Holistic, Offset_Based, or the Offset_Based_Unoptimized):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
13
29.69
t_2
191
90.63
t_3
266
35.16

The system slack for this example is 13.28%.

In all cases, the results are the same if the default priority assignment option is set.

The results are different than in the Real-Time Analysis Handbook, because MAST uses a more precise technique to model polling server tasks.

Example_5_3_6_4

This is the example from Section 5.3.6.4 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there is one bursty task that is handled through a sporadic server.

The results of the example are as follows, with any of the linear analysis tools (Holistic, Offset_Based_Unoptimized, or Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
12.5
-100.00
t_2
270
-20.31
t_3
271
-100.0

The system slack for this example is -20.31%.

With the default priority assignment option set, the system slack obtained is the same, although the response times are different because some priorities are exchanged.

Example_5_3_7_1

This is the example from Section 5.3.7.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). It is a linear system running on a single processor, in which there is one unbounded task that is handled through a sporadic server.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>1E100
>100000
t_2
42
134.38
t_3
146
115.63

The system slack for this example is 59.38%.

The results of the example are as follows if the default priority assignment option is set, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>1E100
>100000
t_2
40
150
t_3
140
129.69

The system slack for this example is 66.41%.

Example_6_4_8_1

This is the example from Section 6.4.8.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
106.8
-17.19
t_2
67.6
-10.16
t_3
283.2
-100

The system slack for this example is -6.25%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
173.4
-100
t_2
133
-96.09
t_3
496.6
-100

The system slack for this example is -96.09%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
173.6
-100
t_2
134.4
-96.88
t_3
496.8
-100

The system slack for this tool is -96.09%.

If the default priority assignment option is used, the results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
41.6
2.34
t_2
147.8
3.13
t_3
283.2
51.56

The system slack for this example is 0.78125%.

Example_6_4_8_2

This is the example from Section 6.4.8.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
41.6
2.34
t_2
147.8
3.13
t_3
283.2
51.56

The system slack for this example is 0.78125%.

The results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
42.0
1.56
t_2
148.2
2.34
t_3
283.6
46.88

The system slack for this example is 0.78125%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
42.2
0
t_2
149.6
0
t_3
283.8
46.09

The system slack for this tool is 0%.

In all cases, the results are the same if we set the priority assignment option.
 

Example_6_4_8_3

This is the example from Section 6.4.8.3 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
41.6
0
t_2
169
0
t_3
298.2
14.84

The system slack for this example is 0%.

The results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
42
-0.78125
t_2
169.4
-0.78125
t_3
591.8
-11.72

The system slack for this example is -0.78125%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
42.2
-0.78125
t_2
170.8
-0.78125
t_3
592
-14.84

The system slack for this tool is -0.78125%.

The results are the same if the default priority assignment option is set.

Example_6_4_9_1

This is the example from Section 6.4.9.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
102
-100
t_2a
62.8
-100
t_2b
62.8
-100
t_3
273.6
-100

The system slack for this example is -99.22%.

The results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
102.6
-100
t_2a
63
-100
t_2b
63
-100
t_3
274.2
-100

The system slack for this example is -99.22%.

If the default priority assignment option is set, the tool does not find a better solution.

Example_6_4_9_2

This is the example from Section 6.4.9.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
102
-4.69
t_2
62.8
-3.13
t_3
2.8
-100
t_4
273.6
-100

The system slack for this example is -2.34%.

The results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
102.6
-6.25
t_2
63
-4.69
t_3
3
-100
t_4
274.2
-100

The system slack for this example is -3.13%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
102.8
-100
t_2
63.2
-100
t_3
3.2
-100
t_4
274.4
-100

The system slack for this tool is -14.84%.

If the default priority assignment option is set, the tool does not find a better solution.

Example_6_4_9_2a

This is the example from Section 6.4.9.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993). modified to use permanent overridden priorities to represent the changes of priorities in the same trasnaction. Notice that the behavior is different under this new model, because a job of a transaction cannot start executing until the previous job had finished.

The results of the example are as follows, with the Varying_Priorities analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
101.8
-4.69
t_2
62.8
-3.13
t_3
2.8
-100
t_4
273.6
-100

The system slack for this example is -2.34%.

In this case, because the system is not schedulable, the priority assignment techniques do not find a solution.
 

Example_6_5_10_1

This is the example from Section 6.5.10.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
121
-42.97
t_2
113
-29.69
t_3
98
-100
t_4
197
-17.97
t_5
354
-100
t_6
372
-17.97

The system slack for this example is -17.97%.

The results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-89.06
t_3
>>
-100
t_4
>>
-69.53
t_5
>>
-100
t_6
>>
-82.03

The system slack for this example is -51.56%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-100
t_3
>>
-100
t_4
>>
-77.34
t_5
>>
-100
t_6
>>
-96.09

The system slack for this tool is -58.59%.

If the default priority assignment option is set, the results of the example with the Offset_Based analysis tool are not improved, because the system remains unschedulable.

If the default priority assignment option is set, the results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-100
t_3
>>
-100
t_4
>>
-66.41
t_5
>>
-100
t_6
>>
-100

The system slack for this example is -38.28%.

If the default priority assignment option is set, and if we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-100
t_3
>>
-100
t_4
>>
-82.72
t_5
>>
-100
t_6
>>
-100

The system slack for this tool is -50%.

Example_6_5_10_1a

This is the example from Section 6.5.10.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993), modified to use permanent overridden priorities to represent the changes of priorities in the same trasnaction. Notice that the behavior is different under this new model, because a job of a transaction cannot start executing until the previous job had finished.

The results of the example are as follows, with the Varying_Priorities analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
55
-5.47
t_2
89
-3.91
t_3
98
-17.19
t_4
187
-3.13
t_5
338
-10.94
t_6
372
-3.91

The system slack for this example is -1.56%.

The priority assignment tools do not find a better solution in this case because they do not take into account the permanent overridden priorities used in this model.

Example_6_5_10_2

This is the example from Section 6.5.10.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
49
9.38
t_2
108
5.47
t_3
80
28.91
t_4
178
3.91
t_5
219
14.06
t_6
372
5.47

The system slack for this example is 1.56%.

The results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-100
t_3
>>
-100
t_4
>>
-71.88
t_5
>>
-100
t_6
>>
-99.22

The system slack for this example is -48.44%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-100
t_3
>>
-100
t_4
>>
-73.44
t_5
>>
-100
t_6
>>
-99.22

The system slack for this tool is -55.47%.

If the default priority assignment option is set with the Offset_Based analysis tool, no results better than the original are obtained.

If the default priority assignment option is set, the results of the example are as follows, with with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-92.19
t_3
>>
-100
t_4
>>
-66.41
t_5
>>
-100
t_6
>>
-100

The system slack for this example is -36.06%.

If the default priority assignment option is set, and if we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
>>
-100
t_2
>>
-100
t_3
>>
-100
t_4
>>
-78.91
t_5
>>
-100
t_6
>>
-100

The system slack for this tool is -50.78%.

Example_6_5_10_2a

This is the example from Section 6.5.10.2 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993), modified to use permanent overridden priorities to represent the changes of priorities in the same trasnaction. Notice that the behavior is different under this new model, because a job of a transaction cannot start executing until the previous job had finished.

The results of the example are as follows, with the Varying_Priorities analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
22
-16.41
t_2
87
-10.16
t_3
96
-50
t_4
150
-7.81
t_5
344
-32.81
t_6
234
-9.38

The system slack for this example is -3.91%.

In this case, because the system is not schedulable, the priority assignment techniques do not find a solution.

Example_6_5_10_3

This is the example from Section 6.5.10.3 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
13
9.38
t_2
47
5.47
t_3
56
28.91
t_4
123
3.91
t_5
194
14.06
t_6
372
5.47

The system slack for this example is 1.56%.

The results are the same if the default priority assignment option is set.

Example_6_6_12

This is the example from Section 6.6.12 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with any of the linear analysis tools (Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
40
-100
t_2
220
-25
t_3
30
-33.59
t_4
380
-30.47
t_5
90
-100

The system slack for this example is -10.16%.

The results are the same if the default priority assignment option is set.

Example_6_6_13

This is the example from Section 6.6.13 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
30
-22.66
t_2
170
-18.75
t_3
300
-100
t_4
40
-100

The system slack for this example is -7.03%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
30
-67.19
t_2
220
-44.53
t_3
370
-100
t_4
40
-100

The system slack for this example is -21.09%.

The results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
30
-83.59
t_2
230
-50
t_3
370
-100
t_4
40
-100

The system slack for this example is -25%.

The priority asisgnment option does not find a schedulable solution for the Holistic or Offset_Based_Unoptimized analysis tools. However, with the Offset_Based tool it does find a solution:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
70
0
t_2
60
0
t_3
270
0
t_4
60
50

The system slack for this example is 0.00%.

Example_8_3_1

This is the example from Section 8.3.1 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993).

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
alpha1
109
-100
alpha1_1
1146
-100
alpha2
3838
-100
alpha2_1
3519
-100
alpha3
27
-100
alpha3_1
7374
-100
alpha3_2
199
-100
alpha3_3
317
-100
charlie
115
-100
charlie_1
107
-100
charlie_2
1146
-100
charlie_3
4150
-100
charlie_4
4891
-100
charlie_5
11857
-100
echo_1
1041
-100
echo_2
1194
-100
fox_1
324
-100
for_1_1
4866
-100
fox_2
2060
-100
gamma
912
-100
hector
1012
-100
monkey
4555
-100

The system slack for this example is -68.75%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
alpha1
215
-100
alpha1_1
2717
-100
alpha2
8527
-100
alpha2_1
7854
-100
alpha3
27
-100
alpha3_1
12457
-100
alpha3_2
199
-100
alpha3_3
656
-100
charlie
205
-100
charlie_1
193
-100
charlie_2
2717
-100
charlie_3
9162
-100
charlie_4
10007
-100
charlie_5
22464
-100
echo_1
2451
-100
echo_2
2784
-100
fox_1
696
-100
for_1_1
9571
-100
fox_2
4402
-100
gamma
2053
-100
hector
2301
-100
monkey
8921
-100

The system slack for this example is -76.56%.

The results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
alpha1
236
-100
alpha1_1
2947
-100
alpha2
8866
-100
alpha2_1
8512
-100
alpha3
27
-100
alpha3_1
12789
-100
alpha3_2
209
-100
alpha3_3
704
-100
charlie
217
-100
charlie_1
205
-100
charlie_2
2947
-100
charlie_3
9538
-100
charlie_4
10573
-100
charlie_5
23362
-100
echo_1
2651
-100
echo_2
2971
-100
fox_1
775
-100
for_1_1
10231
-100
fox_2
4837
-100
gamma
2241
-100
hector
2451
-100
monkey
9546
-100

The system slack for this example is -77.34%.

In these cases, because the system is not schedulable, the priority assignment techniques do not find a solution.

Example_9_3_4trans

This is the example from Section 9.3.4 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993), but transformed to achieve a utilization under 100% that allows the analysis.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
tc1
121
508.59
tc2
60.2
799.22
tt1
3.2
14789.8
tt2
1.2
73950
om
23.2
2053.9
s1
0.8
12878.1
s2
0.4
12878.1

The system slack for this example is 248.44%.

If the default priority assignment option is set, the results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
tc1
98.6
508.59
tc2
37.8
825.78
tt1
101
15280.5
tt2
99
76404.7
om
121
3352.3
s1
0.4
13576.6
s2
0.8
13576.6

The system slack for this example is 267.19%.

Example_Varying_Priorities

This is the example from Section 9.3.4 of "A Practitioner's Handbook for Real-Time Analysis" (K. Klein et al, Kluwer Academic Pub., 1993), but transofmed to achieve a utilization under 100% that allows the analysis.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
28
9.38
t_2
98
7.03
t_3
47
3.13
t_4
195
8.59
t_5
223
19.53

The system slack for this example is 0.78125%.

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based) and the default priority option set:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
31
13.28
t_2
90
9.38
t_3
25
4.69
t_4
195
11.72
t_5
223
32.81

The system slack for this example is 1.56%.

Example_With_Offsets

This is an example using offsets.

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
60
75
t_2
85
42.19
t_3
215
50

The system slack for this example is 17.19%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool
 
Transaction
WC Response times (ms)
Slack (%)
t_1
60
50
t_2
85
25
t_3
215
32.81

The system slack for this example is 10.94%.

The results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
140
-100
t_2
85
-67.19
t_3
420
-100

The system slack for this example is 10.94%.

The results of the example are as follows, with the Offset_Based analysis tool and the default priority assignment option set:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
90
75
t_2
75
32.81
t_3
215
50

The system slack for this example is 17.19%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool and the default priority assignment option set:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
90
75
t_2
75
25
t_3
215
50

The system slack for this example is 17.19%.

If the default priority assignment option is set with the Holistic analysis tool, no better solution is found.

Example_With_Delays

This is an example using delays.

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
70
-100
t_2
145
-67.19
t_3
425
-100

The system slack for this example is -28.91%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool
 
Transaction
WC Response times (ms)
Slack (%)
t_1
70
-100
t_2
155
-71.88
t_3
570
-100

The system slack for this example is -33.59%.

The results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
90
-100
t_2
235
-100
t_3
675
-100

The system slack for this example is -70.31%.

If the default priority assignment option is set, the tool does not find a better solution.

Jane_Liu_Section_9_5_2

This is the example from Section 9.5.2 of "Real-Time Systems" (Jane Liu, Prentice Hall, 2000).

The results of the example are as follows, with any of the linear analysis tools (Holitic, Ofsfet_Based_Unoptimized, or Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
trans_1
>>
-83.59
trans_2
>>
-83.59

The system slack for this example is -42.97%.

In all the cases, the results of the example are as follows, with the default priority assignment option set:
 
Transaction
WC Response times (ms)
Slack (%)
trans_1
10
16.41
trans_2
10
16.41

The system slack for this example is 8.59%.

Jane_Liu_Table_9_2

This is the example from Table 9.2 of "Real-Time Systems" (Jane Liu, Prentice Hall, 2000).

The results of the example are as follows, with either the Offset_Based_Unoptimized, or the Offset_Based alanysis tools:
 
Transaction
WC Response times (ms)
Slack (%)
task_1
10
25
task_2
7
166.41
task_3
1
9.38
task_4
14
19.53

The system slack for this example is 4.69%.

The results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
task_1
11
25
task_2
7
166.41
task_3
1
9.38
task_4
14
19.53

The system slack for this example is 4.69%.

In all the cases, the results of the example are the same when the default priority assignment option is set.

Lehoczky_Example_3

The results of the example are as follows, with any of the monoprocessor or linear analysis tools (Classic_RM, Varying_Priorities, Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
c1
52
-2.34
c2
156
-3.91

The system slack for this example is -1.56%.

In all cases, if the default priority assignment option is set the results obtained are:
 
Transaction
WC Response times (ms)
Slack (%)
c1
108
1.56
c2
52
1.56

The system slack for this example is 0.78125%.

RTSS_98

The results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
4
235.94
t_2
145
70.31
t_3
5
142.19
t_4
140
50

The system slack for this example is 32.81%.

The results of the example are as follows, with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
4
210
t_2
145
70.31
t_3
5
142.19
t_4
140
50

The system slack for this example is 32.81%.

The results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
4
-50
t_2
270
-5.47
t_3
5
-100
t_4
140
-100

The system slack for this example is -4.69%.

If the default priority assignment option is set, the results of the example are as follows, with the Offset_Based analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
4
235.94
t_2
145
70.31
t_3
5
142.19
t_4
140
50

The system slack for this example is 32.81%.

If the default priority assignment option is set, the results of the example are as follows, with the Offset_Based_Unoptimized analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
4
235.94
t_2
145
70.31
t_3
5
142.19
t_4
140
50

The system slack for this example is 32.81%.

If the default priority assignment option is set, the results of the example are as follows, with the Holistic analysis tool:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
4
150
t_2
198
28.13
t_3
5
142.19
t_4
140
50

The system slack for this example is 23.44%.

Simple_Linear

The results of the example are as follows, with any of the linear analysis tools (Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
trans_1
27.4
-7.03
trans_2
73
-12.5

The system slack for this example is -4.69%.

If the default priority assignment option is set, the results of the example are as follows, with any of the linear analysis tools (Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
trans_1
42.8
28.13
trans_2
27.4
21.88

The system slack for this example is 15.63%.
 

WPDRTS_1995

The results of this example with the Offset_Based and the Offset_Based_Unoptimized analysis tools are:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
620
-100
t_2
3220
-100
t_3
7835
-100
t_4
1160
-100
t_5
5095
-100
t_6
205
-100
t_7
1265
-100

The system slack for this example is -25%.

The results of this example with the Holistic analysis tool are:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
760
-100
t_2
3730
-100
t_3
9360
-100
t_4
1380
-100
t_5
6005
-100
t_6
265
-100
t_7
1410
-100

The system slack for this example is -28.13%.

The results of this example with the Offset_Based analysis tool are:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
1265
2.34
t_2
2445
4.69
t_3
2870
10.94
t_4
990
2.34
t_5
2050
7.81
t_6
1165
16.41
t_7
2130
75

The system slack for this example is 0.78125%.

The results of this example with the Offset_Based_Unoptimized analysis tool are:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
1345
1.56
t_2
2465
3.13
t_3
2870
10.94
t_4
990
0.78125
t_5
2055
6.25
t_6
1165
12.5
t_7
2150
27.34

The system slack for this example is 0%.

The results of this example with the Holistic analysis tool are:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
1485
3.13
t_2
2360
7.03
t_3
2995
16.41
t_4
1120
9.38
t_5
2255
16.41
t_6
1225
16.41
t_7
2255
50

The system slack for this example is 0.78125%.