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 linear analysis tools (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%.
 

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 210.94%.
 

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 linear analysis tools (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%.
 

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 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%.
 

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 linear analysis tools (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%.
 

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 38.28%.

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%.
 

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%.
 

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. In addition, the "Verbose" option should be set to get the blocking times. 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 (%)
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%.
 

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. In addition, the "Verbose" option should be set to get the blocking times. 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 (%)
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%.
 

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 linear analysis tools (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%.
 
 

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 tool:
 
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%.

f 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%.
 
 

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 linear analysis tools (Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
5
-100.00
t_2
231
-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.
 
 

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 any of the linear analysis tools (Holistic, Offset_Based_Unoptimized, and Offset_Based):
 
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.
 
 

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 linear analysis tools (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%.
 

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%.
 

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 the Offset_Based or the Offset_Based_Unoptimized analysis tools:
 
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%.

If we use the Holistic analysis tool, we get:
 
Transaction
WC Response times (ms)
Slack (%)
t_1
13
26.29
t_2
191
90.63
t_3
267
35.16

The system slack for this tool is 13.28%.

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, and Offset_Based):
 
Transaction
WC Response times (ms)
Slack (%)
t_1
12.5
-100.00
t_2
50
-20.31
t_3
271
-100.0

The system slack for this example is -20.31%.
 

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 linear analysis tools (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%.