Jump to content

Ravenscar profile: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
External links
Jprosen75 (talk | contribs)
No edit summary
Line 1: Line 1:
The '''Ravenscar profile''' is a subset of the [[Ada programming language|Ada]] tasking features designed for [[safety-critical]] [[hard real-time system]]s.
The '''Ravenscar profile''' is a subset of the [[Ada programming language|Ada]] tasking features designed for [[safety-critical]] [[hard real-time system]]s. It was defined by a separate technical report in Ada 95; it is now part of the Ada 2005 Standard.


== Restrictions of the profile==
== Restrictions of the profile==

Revision as of 14:22, 30 April 2010

The Ravenscar profile is a subset of the Ada tasking features designed for safety-critical hard real-time systems. It was defined by a separate technical report in Ada 95; it is now part of the Ada 2005 Standard.

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);

See also

References

  • Alan Burns (1999). "The Ravenscar Profile" (PDF). ACM SIGAda Ada Letters. XIX (4): 49–52. doi:10.1145/340396.340450. {{cite journal}}: Unknown parameter |month= ignored (help)
  • Alan Burns, Brian Dobbing and Tullio Vardanega (2004). "Guide for the use of the Ada Ravenscar Profile in high integrity systems" (PDF). ACM SIGAda Ada Letters. XXIV (2): 1–74. doi:10.1145/997119.997120. {{cite journal}}: Unknown parameter |month= ignored (help)
  • Ravenscar profile for high-integrity systems (Technical report). ISO/WG9 Ada Rapporteur Group. AI95-00249.