Профиль Ravenscar — это подмножество функций задач Ada , разработанных для критически важных для безопасности вычислений в режиме жесткого реального времени . Он был определен отдельным техническим отчетом в Ada 95; теперь он является частью стандарта Ada 2012. Он был назван в честь английской деревни Ravenscar , где проходил 8-й Международный семинар Real-Time Ada (IRTAW 8).
Приложение Ravenscar Ada использует следующую директиву компилятора :
Профиль прагмы ( Ravenscar );
Это то же самое, что написать следующий набор прагм конфигурации:
pragma Task_Dispatching_Policy ( FIFO_Within_Priorities ); pragma Locking_Policy ( Ceiling_Locking ); pragma Detect_Blocking ; pragma Ограничения ( No_Abort_Statements , No_Calendar , 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 ) ;