D.13.1 The Ravenscar Profile
1/2
{
AI95-00249-01}
[This clause defines the Ravenscar profile.]{Ravenscar}
Legality Rules
2/2
{
AI95-00249-01}
The profile_identifier
Ravenscar is a run-time profile. For run-time profile Ravenscar, there
shall be no profile_pragma_argument_associations.
Static Semantics
3/2
{
AI95-00249-01}
The run-time profile Ravenscar is equivalent to
the following set of pragmas:
4/2
{
AI95-00249-01}
{
AI95-00297-01}
{
AI95-00394-01}
pragma Task_Dispatching_Policy (FIFO_Within_Priorities);
pragma Locking_Policy (Ceiling_Locking);
pragma Detect_Blocking;
pragma Restrictions (
No_Abort_Statements,
No_Dynamic_Attachment,
No_Dynamic_Priorities,
No_Implicit_Heap_Allocations,
No_Local_Protected_Objects,
No_Local_Timing_Events,
No_Protected_Type_Allocators,
No_Relative_Delay,
No_Requeue_Statements,
No_Select_Statements,
No_Specific_Termination_Handlers,
No_Task_Allocators,
No_Task_Hierarchy,
No_Task_Termination,
Simple_Barriers,
Max_Entry_Queue_Length => 1,
Max_Protected_Entries => 1,
Max_Task_Entries => 0,
No_Dependence => Ada.Asynchronous_Task_Control,
No_Dependence => Ada.Calendar,
No_Dependence => Ada.Execution_Time.Group_Budget,
No_Dependence => Ada.Execution_Time.Timers,
No_Dependence => Ada.Task_Attributes);
4.a/2
Discussion: The
Ravenscar profile is named for the location of the meeting that defined
its initial version. The name is now in widespread use, so we stick with
existing practice, rather than using a more descriptive name.
5/2
45 {
AI95-00249-01}
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.
Extensions to Ada 95
5.a/2
{
AI95-00296-01}
{extensions to Ada 95} The
Ravenscar profile is new.