CVS difference for ais/ai-00249.txt

Differences between 1.7 and version 1.8
Log of other versions for file ais/ai-00249.txt

--- ais/ai-00249.txt	2002/10/01 03:08:53	1.7
+++ ais/ai-00249.txt	2002/10/24 00:40:19	1.8
@@ -1,4 +1,4 @@
-!standard D.2.2 (5)                                02-09-02  AI95-00249/06
+!standard D.2.2 (5)                                02-10-13  AI95-00249/07
 !standard D.7 (00)
 !class amendment 00-12-04
 !status work item 00-12-04
@@ -39,8 +39,11 @@
 
 Add new section D.13
 
-D.13 Pragma Profile and the Ravenscar Profile
+D.13 Run-time Profiles and the Ravenscar Profile
 
+This clause specifies a mechanism for defining run-time profiles.
+It also defines one such profile, namely Ravenscar.
+
 Syntax
 The form of a pragma Profile is as follows:
 pragma Profile (profile_identifier [profile_argument_definition]);
@@ -51,50 +54,42 @@
 profile_argument_definition.  For other profile_identifiers, the
 semantics of the profile_argument_definition are implementation-defined.
 
-Post-Compilation Rules
-Pragma Profile is a configuration pragma.  It is equivalent to the set of
-pragmas that are defined below.  There may be more than one pragma Profile
-for a partition.
-
-Dynamic Semantics
-When profile_identifier Ravenscar is in effect, the following
-dynamic semantics apply:
-
-Task_Dispatching_Policy
-The Task_Dispatching_Policy for the active partition shall be
-FIFO_Within_Priorities.
-
-Locking_Policy
-The Locking_Policy for the active partition shall be Ceiling_Locking.
-
-Restrictions Pragma
-The following pragma Restrictions identifiers defined in D.7 and H.4 apply to
-the mode of operation defined by the Ravenscar Profile:
-
-	Max_Task_Entries => 0
-	Max_Protected_Entries => 1
-	No_Abort_Statements
-	No_Asynchronous_Control
-	No_Dynamic_Priorities
-	No_Implicit_Heap_Allocations
-	No_Task_Allocators
-	No_Task_Hierarchy
-	No_Calendar
-	No_Dynamic_Attachment
-	No_Local_Protected_Objects
-	No_Protected_Type_Allocators
-	No_Relative_Delay
-	No_Requeue_Statements
-	No_Select_Statements
-	No_Task_Attributes_Package
-	Simple_Barriers
-	No_Task_Termination
-	Max_Entry_Queue_Length => 1
+Static Semantics
+A profile is equivalent to the set of configuration pragmas that are
+defined for each profile_identifier. The profile_identifier Ravenscar
+is equivalent to the following pragmas:
+
+pragma Task_Dispatching_Policy (FIFO_Within_Priorities);
+
+pragma Locking_Policy (Ceiling_Locking);
+
+pragma Detect_Blocking;
+
+pragma Restrictions (
+		No_Abort_Statements,
+		No_Asynchronous_Control,
+		No_Calendar,
+		No_Dynamic_Attachment,
+		No_Dynamic_Priorities,
+		No_Implicit_Heap_Allocations,
+		No_Local_Protected_Objects,
+		No_Protected_Type_Allocators,
+		No_Relative_Delay,
+		No_Requeue_Statements,
+		No_Select_Statements,
+		No_Task_Allocators,
+		No_Task_Attributes_Package,
+		No_Task_Hierarchy,
+		No_Task_Termination,
+		Simple_Barriers,
+		Max_Entry_Queue_Length => 1,
+		Max_Protected_Entries => 1,
+		Max_Task_Entries => 0);
 
-In addition the following pragma defined in H.5 applies to
-the mode of operation defined by the Ravenscar Profile:
+Post-Compilation Rules
+Pragma Profile is a configuration pragma. There may be more than one
+pragma Profile for a partition.
 
-	pragma Detect_Blocking;
 
 NOTES
 The effect of the Max_Entry_Queue_Length => 1 restriction applies
@@ -126,6 +121,8 @@
 with Implementation Advice that all profiles end with _Profile?
 
 !ACATS test
+
+An ACATS test should be created for this pragma.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent