Ravenscar profile
From Wikipedia, the free encyclopedia
The Ravenscar profile is a subset of the Ada tasking features designed for safety-critical hard real-time systems.
[edit] Restrictions of the profile
A Ravenscar Ada application uses the following compiler directive:
pragma Profile (Ravenscar);
This is the same as writing the following set of configuration pragmas:
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);
[edit] See also
[edit] References
- Alan Burns (December 1999). "The Ravenscar Profile". ACM SIGAda Ada Letters XIX (4): 49–52. doi:.
- Alan Burns, Brian Dobbing and Tullio Vardanega (June 2004). "Guide for the use of the Ada Ravenscar Profile in high integrity systems". ACM SIGAda Ada Letters XXIV (2): 1–74. doi:.
- Ravenscar profile for high-integrity systems. Technical Report ISO/WG9 Ada Rapporteur Group AI95-00249.

