Perfil Ravenscar
El perfil Ravenscar[1] és un conjunt de restriccions inicialment per al llenguatge de programació Ada per ajustar les capacitats del llenguatge als condicionants dels sistemes de temps real de seguretat crítica. Aquest perfil ha estat darrerament adaptat al llenguatge Java en la plataforma Java de Temps Real[2]
Història
[modifica]El perfil va ésser definit en el vuitè International Real-Time Applications Workshop,[1] celebrat el 1997 en un poblet del comtat de Yorkshire (Anglaterra) anomenat Ravenscar. Encara que inicialment va prendre la denominació del poble de la trobada, més tard se li va treure punta per associar les lletres del nom als temes involucrats com si fos un acrònim: Reliable Ada Verifiable Executive Needed for Scheduling Critical Applications in Real-Time.
Objectius del perfil
[modifica]Els objectius són:
- Aconseguir un model d'execució concurrent determinista.
- Permetre una implementació que no creï excessiva sobrecàrrega perquè les tasques puguin respondre en terminis molt breus.
Restriccions del perfil
[modifica]El perfil es concreta en una sèrie de pragmes (instruccions al compilador)
pragma Task_Dispatching_Policy (FIFO_Within_Priorities);
pragma Locking_Policy (Ceiling_Locking);
pragma Detect_Blocking; -- nou a l'Ada2005[3]
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);
en la versió Ada2005 es poden resumir en
pragma Profile (Ravenscar);
Referències
[modifica]- ↑ 1,0 1,1 «El perfil Ravenscar». Arxivat de l'original el 2007-07-19. [Consulta: 27 juliol 2009].
- ↑ Ravenscar-Java: A High Integrity Profile for Real-Time Java (anglès)
- ↑ Ada2005 - El perfil Ravenscar