Profilul Ravenscar este un subset al Ada limbajului dedicat sistemelor în timp real care necesită operațională înaltă fiabilitate . Restricționează doar funcționalitățile legate de paralelism .
Ideea este de a face posibilă demonstrarea formală a proprietăților în timp real ale programelor scrise conform acestui profil. Profilul Ravenscar, prin interzicerea unui anumit număr de caracteristici ale limbajului Ada, face posibilă aplicarea instrumentelor de probă a programului.
Restricțiile introduse permit, de asemenea, crearea unor directori mai simpli și, prin urmare, ei înșiși certificabili.
Acest profil a fost aplicat și specificațiilor RTSJ în timp real ale limbajului Java .
Profilul Ravenscar este acum integrat în standardul Ada (2005). Doar aplicați următoarea directivă de compilare:
pragma Profile (Ravenscar);Acest profil este echivalent cu următorul set de pragme de configurare:
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);