Next: , Previous: D.11, Up: Annex D


D.12 Other Optimizations and Determinism Rules

1
[This clause describes various requirements for improving the response and determinism in a real−time system.]

Implementation Requirements

2
If the implementation blocks interrupts (see C.3) not as a result of direct user action (e.g. an execution of a protected action) there shall be an upper bound on the duration of this blocking.

2.a

Ramification: The implementation shall not allow itself to be interrupted when it is in a state where it is unable to support all the language−defined operations permitted in the execution of interrupt handlers. (see 9.5.1).

3
The implementation shall recognize entry−less protected types. The overhead of acquiring the execution resource of an object of such a type (see 9.5.1) shall be minimized. In particular, there should not be any overhead due to evaluating entry_barrier conditions.

3.a

Implementation Note: Ideally the overhead should just be a spin−lock.

4
Unchecked_Deallocation shall be supported for terminated tasks that are designated by access types, and shall have the effect of releasing all the storage associated with the task. This includes any run−time system or heap storage that has been implicitly allocated for the task by the implementation.

Documentation Requirements

5
The implementation shall document the upper bound on the duration of interrupt blocking caused by the implementation. If this is different for different interrupts or interrupt priority levels, it should be documented for each case.

5.a/2

This paragraph was deleted.

5.b/2

Documentation Requirement: The upper bound on the duration of interrupt blocking caused by the implementation.
Metrics

6
The implementation shall document the following metric:

7

8

9

     protected Lock is
        procedure Set;
        function Read return Boolean;
     private
        Flag Boolean := False;
     end Lock;

10

     protected body Lock is
        procedure Set is
        begin
           Flag := True;
        end Set;
        function Read return Boolean
        Begin
           return Flag;
        end Read;
     end Lock;

11

12

12.a/2

Documentation Requirement: The metrics for entry−less protected objects.