CVS difference for ais/ai-00357.txt

Differences between 1.12 and version 1.13
Log of other versions for file ais/ai-00357.txt

--- ais/ai-00357.txt	2005/01/07 03:07:43	1.12
+++ ais/ai-00357.txt	2005/04/13 05:37:17	1.13
@@ -1,4 +1,4 @@
-!standard D.02.6 (01)                                 04-12-30  AI95-00357/08
+!standard D.02.6 (01)                                 05-03-13  AI95-00357/09
 !class amendment 03-09-27
 !status Amendment 200Y 04-12-02
 !status ARG Approved 10-0-0  04-11-20
@@ -68,7 +68,7 @@
 relative deadline to control its activation:
 
 pragma Relative_Deadline(expression);
-where the expected type of expression is Ada.Real_Time.Time_Span.
+where the expected type of expression is Real_Time.Time_Span.
 
 The pragma can only occur in the specification part of a task.
 
@@ -128,6 +128,23 @@
 that its activation can be controlled by EDF scheduling. This is similar to
 the way pragma Priority is used to give an initial priority to a task.
 
+Syntax
+
+The form of a pragma Relative_Deadline is as follows:
+
+pragma Relative_Deadline (relative_deadline_expression);
+
+Name Resolution Rules
+
+The expected type for relative_deadline_expression is
+Real_Time.Time_Span.
+
+Legality Rules
+
+A Relative_Deadline pragma is allowed only immediately within a
+task_definition or the declarative_part of a subprogram_body.
+At most one such pragma shall appear within a given construct.
+
 Static Semantics
 
 The policy_identifier EDF_Across_Priorities is a task dispatching policy.
@@ -150,23 +167,6 @@
               Ada.Task_Identification.Current_Task) return Deadline;
 end Ada.Dispatching.EDF;
 
-Syntax
-
-The form of a pragma Relative_Deadline is as follows:
-
-pragma Relative_Deadline (relative_deadline_expression);
-
-Name Resolution Rules
-
-The expected type for relative_deadline_expression is
-Ada.Real_Time.Time_Span.
-
-Legality Rules
-
-A Relative_Deadline pragma is allowed only immediately within a
-task_definition or the declarative_part of a subprogram_body.
-At most one such pragma shall appear within a given construct.
-
 Post-Compilation Rules
 
 If the EDF_Across_Priorities policy is specified for a partition,
@@ -191,8 +191,8 @@
 of the subprogram_body of a subprogram other than the main subprogram.
 
 The initial absolute deadline of a task containing pragma Relative_Deadline
-is the value of Ada.Real_Time.Clock + relative_deadline_expression, where
-the call of Ada.Real_Time.Clock is made between task creation and the
+is the value of Real_Time.Clock + relative_deadline_expression, where
+the call of Real_Time.Clock is made between task creation and the
 start of its activation. If there is no Relative_Deadline pragma then the
 initial absolute deadline of a task is the value of Default_Deadline.
 The environment task is also given an initial deadline by this rule.
@@ -226,8 +226,8 @@
   o there is a non-empty ready queue for that processor
     with a higher priority than the priority of the running task.
 
-The currently running task is said to be preempted and is returned to
-the ready queue for its active priority.
+In these cases, the currently running task is said to be preempted and is
+returned to the ready queue for its active priority.
 
 Whenever a task T to which policy EDF_Across_Priorities applies is
 added to a ready queue, other than when it is preempted, it is placed on
@@ -306,14 +306,14 @@
 locking policy, i.e. just use of ceiling locking).
 
 First if no POs are used or locked then all tasks are always placed on the
-ready queue for level Prioirity'first (which is of course ordered by deadline).
+ready queue for level Priority'first (which is of course ordered by deadline).
 
 The preemption level rule is that a newly executing task (T) should
 preempt the current running task (S) if it has a higher preemption
 level than any task that has locked a PO and a shorter deadline than
 S. There are a few cases to look at
 
-If S has locked the PO then T will be placed in the same ready q as
+If S has locked the PO then T will be placed in the same ready queue as
 S, it has a shorter deadline and hence will execute first.
 
 If some other task has locked the PO then S must have preempted it
@@ -324,7 +324,7 @@
 If there are a number of locked POs then T needs to be placed on the
 correct ready queue. On all ready queues, apart from that at Priority'first,
 the tail of the queue is the task that has the lock on the PO whose
-ceiling pri is that of the ready queue. Rule 2 then gets the right queue:
+ceiling priority is that of the ready queue. Rule 2 then gets the right queue:
 the queue is appropriate as T has the correct attributes (shorter
 deadline than the task holding the lock, and higher preemption
 level). Moreover no higher priority queue is appropriate as one of the
@@ -357,6 +357,23 @@
 and a dispatching policy that defines Earliest Deadline First (EDF)
 dispatching. A pragma is defined to assign an initial deadline to a task.
 
+@i<@s8<Syntax>>
+
+The form of a pragma Relative_Deadline is as follows:
+
+@xindent<@b<pragma> Relative_Deadline (@i<relative_deadline_>@fa<expression>);>
+
+@i<@s8<Name Resolution Rules>>
+
+The expected type for @i<relative_deadline_>@fa<expression> is
+Real_Time.Time_Span.
+
+@i<@s8<Legality Rules>>
+
+A Relative_Deadline pragma is allowed only immediately within a
+@fa<task_definition> or the @fa<declarative_part> of a @fa<subprogram_body>.
+At most one such pragma shall appear within a given construct.
+
 @i<@s8<Static Semantics>>
 
 The @i<policy_>@fa<identifier> EDF_Across_Priorities is a task dispatching policy.
@@ -379,23 +396,6 @@
               Ada.Task_Identification.Current_Task) @b<return> Deadline;
 @b<end> Ada.Dispatching.EDF;>
 
-@i<@s8<Syntax>>
-
-The form of a pragma Relative_Deadline is as follows:
-
-@xindent<@b<pragma> Relative_Deadline (@i<relative_deadline_>@fa<expression>);>
-
-@i<@s8<Name Resolution Rules>>
-
-The expected type for @i<relative_deadline_>@fa<expression> is
-Ada.Real_Time.Time_Span.
-
-@i<@s8<Legality Rules>>
-
-A Relative_Deadline pragma is allowed only immediately within a
-@fa<task_definition> or the @fa<declarative_part> of a @fa<subprogram_body>.
-At most one such pragma shall appear within a given construct.
-
 @i<@s8<Post-Compilation Rules>>
 
 If the EDF_Across_Priorities policy is specified for a partition,
@@ -413,8 +413,8 @@
 of the subprogram_body of a subprogram other than the main subprogram.
 
 The initial absolute deadline of a task containing pragma Relative_Deadline
-is the value of Ada.Real_Time.Clock + relative_deadline_expression, where
-the call of Ada.Real_Time.Clock is made between task creation and the
+is the value of Real_Time.Clock + @i<relative_deadline_>@fa<expression>,
+where the call of Real_Time.Clock is made between task creation and the
 start of its activation. If there is no Relative_Deadline pragma then the
 initial absolute deadline of a task is the value of Default_Deadline.
 The environment task is also given an initial deadline by this rule.
@@ -448,8 +448,8 @@
 @xbullet<there is a non-empty ready queue for that processor
 with a higher priority than the priority of the running task.>
 
-The currently running task is said to be preempted and is returned to
-the ready queue for its active priority.
+In these cases, the currently running task is said to be preempted and is
+returned to the ready queue for its active priority.
 
 Whenever a task @i<T> to which policy EDF_Across_Priorities applies is
 added to a ready queue, other than when it is preempted, it is placed on

Questions? Ask the ACAA Technical Agent