CVS difference for ais/ai-00249.txt

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

--- ais/ai-00249.txt	2002/10/24 00:40:19	1.8
+++ ais/ai-00249.txt	2002/10/29 20:24:57	1.9
@@ -1,6 +1,7 @@
-!standard D.2.2 (5)                                02-10-13  AI95-00249/07
-!standard D.7 (00)
+!standard D.13 (01)                                  02-10-23  AI95-00249/08
 !class amendment 00-12-04
+!status Amendment 200Y 02-10-23
+!status ARG approved 9-0-0  02-10-13
 !status work item 00-12-04
 !status received 00-12-04
 !priority High
@@ -23,14 +24,14 @@
 
 This amendment proposes a pragma-based mechanism to allow the application to
 request use of the Ravenscar Profile. It proposes the addition of a pragma to
-support the concept of a runtime profile. The amendment then proposes the
-runtime profile identifier "Ravenscar" to be defined in the standard and
+support the concept of a run-time profile. The amendment then proposes the
+run-time profile identifier "Ravenscar" to be defined in the standard and
 specifies its semantics.
 
 The proposal assumes that additional Restriction identifiers and pragma
 Detect_Blocking have been defined (see AI-305).
 
-A runtime profile is an alternative mode of operation that is defined by the
+A run-time profile is an alternative mode of operation that is defined by the
 standard. It is selected by inclusion of the configuration pragma Profile that
 applies to an active partition. The profile identifier "Ravenscar" selects the
 mode of operation to be the Ravenscar Profile.
@@ -90,7 +91,6 @@
 Pragma Profile is a configuration pragma. There may be more than one
 pragma Profile for a partition.
 
-
 NOTES
 The effect of the Max_Entry_Queue_Length => 1 restriction applies
 only to protected entry queues due to the accompanying restriction of
@@ -110,7 +110,7 @@
 
 c) The restrictions forcing the maximum length of an entry queue to be one and
 the maximum number of entries to be one are there for deterministic operation
-of entry queue servicing and to simplify the runtime implementation. The
+of entry queue servicing and to simplify the run-time implementation. The
 semantics are intended to be consistent with those for blocking on a
 suspension object via Suspend_Until_True.
 
@@ -119,6 +119,67 @@
 
 e) Should the identifier for Ravenscar actually be Ravenscar_Profile
 with Implementation Advice that all profiles end with _Profile?
+
+!corrigendum D.13(01)
+
+@dinsc
+
+This clause specifies a mechanism for defining run-time profiles.
+It also defines one such profile, namely Ravenscar.
+
+@i<@s8<Syntax>>
+
+The form of a pragma Profile is as follows:@hr
+@fa<@b<pragma> Profile (profile_identifier [profile_argument_definition]);>
+
+@i<@s8<Legality Rules>>
+
+The @fa<profile_identifier> shall be either Ravenscar or an
+implementation-defined identifier. For @fa<profile_identifier> Ravenscar,
+there shall be no @fa<profile_argument_definition>. For other
+@fa<profile_identifier>s, the semantics of the @fa<profile_argument_definition>
+are implementation-defined.
+
+@i<@s8<Static Semantics>>
+
+A profile is equivalent to the set of configuration pragmas that are
+defined for each @fa<profile_identifier>. The @fa<profile_identifier> Ravenscar
+is equivalent to the following pragmas:
+
+@xcode<@b<pragma> Task_Dispatching_Policy (FIFO_Within_Priorities);
+@b<pragma> Locking_Policy (Ceiling_Locking);
+@b<pragma> Detect_Blocking;
+@b<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);>
+
+@i<@s8<Post-Compilation Rules>>
+
+Pragma Profile is a configuration pragma. There may be more than one
+pragma Profile for a partition.
+
+@xindent<NOTES@hr
+37 The effect of the Max_Entry_Queue_Length =@> 1 restriction applies
+only to protected entry queues due to the accompanying restriction of
+Max_Task_Entries =@> 0.>
+
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent