In some tasks of the time budgeting process, most notably related to Find timing properties and Analyze timing properties, timing properties that are inherent in the solution and input requirements are obtained, whereas others appeal to a big extent to the subjective judgment and experience of the developer. Symbolic time expressions can be a powerful tool to capture the relation between properties and help navigating through the design space.
The concept will be illustrated on the example shown in Figure 1. The figure shows an end-to-end delay of 1 second, which shall be distributed over five components and communication links (A-E). The delays of components A, B and D are assumed to be either transformed, determined or extrapolated WCETs with values 200ms, 50ms and 100ms respectively. Each component has further been assigned a margin, mX, where X is the name of the component. Margins of 10ms and 20ms have been added to the WCETs of components A and D respectively, to create some additional space in the resulting budget segments. This was, in this example, not found necessary for the other components. These values cannot be further elaborated unless the solution or input requirements are changed. A slack, s, has moreover been introduced. For the sake of the example, the slack is assigned 100ms.

Figure 1. Time budgeting example using symbolic time expressions
The only remaining unknowns are the WCETs of components C and E. These values are to be filled in based on the developer’s experience. The main idea behind the approach suggested here is to evenly distribute the remainder of the end-to-end delay on the components with unknown delay based on a weight. The weight shall reflect the relative need for a long time budget. By inspecting the behavioral models and other descriptions of the components, the developer will get a feeling for how long time the component would need to perform its task. In the example of Figure 7, component C is expected to need 50% longer execution time than component E. This leads to the following equations:
200 + 10 + 50 + 3x + 100 + 20 + 2x + 100 = 1000
x = 104
This gives a budget of 312ms for component C and 208ms for component E.
This approach can also be extended to include the slack and margins. As a second example, we could assign 0.1x and 0.2x as the margins of components A and D respectively, and x as slack. This leads to the following equations:
200 + 0.1x + 50 + 3x + 100 + 0.2x + 2x + x = 1000
x = 103
Thus, mA = 10.3, mD = 20.6, s = 103, and the budgets of components C and E are assigned to 309ms and 206ms respectively.
The main advantage of using the symbolic time expression capability of TADL instead of a pure equation solver is that the developer’s underlying thoughts and intentions are saved in the model, and thus can be elaborated by tools.
|