El perfil de Ravenscar es un subconjunto del lenguaje de programación Ada especialmente pensado para los sistemas de tiempo real. Impone ciertas restricciones a la parte concurrente del lenguaje para poder realizar análisis temporales y permitir una implementación eficiente del núcleo de ejecución.

Historia

editar

El perfil fue definido en el 8.º IRTAW, celebrado en 1997 en una pequeña localidad del condado de Yorkshire (Reino Unido) llamada Ravenscar. Este es el motivo por el cual el perfil fue bautizado con este nombre, aunque más tarde se creó el siguiente acrónimo: Reliable Ada Verifiable Executive Needed for Scheduling Critical Applications in Real-Time.

En las dos siguientes reuniones del IRTAW fue refinado. Actualmente está siendo estandarizado y ampliado por la ISO y formará parte de la siguiente revisión de Ada, denominada Ada 2005.

Objetivos del perfil

editar

Los objetivos de este perfil son dos:

  • Conseguir un modelo de ejecución concurrente determinista, de tal forma que sea apto para sistemas de tiempo real estrictos.
  • Permitir una implementación pequeña y eficiente, y que no obligue a introducir mucha sobrecarga para que las tareas puedan responder a plazos muy cortos.

Restricciones del perfil

editar

Una aplicación realizada en Ada puede hacer uso de este perfil utilizando la siguiente directiva del compilador:

pragma Profile (Ravenscar);

Que es equivalente a escribir las siguientes directivas de configuración:

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


Véase también

editar

Referencias

editar


📚 Artikel Terkait di Wikipedia

WS-BPEL

(Web Services) Business Process Execution Language, WS-BPEL (en castellano, Lenguaje de Ejecución de Procesos de Negocio con Servicios Web), es un lenguaje

Tiempo de respuesta (tecnología)

es diferente del <b>tiempo de ejecución de caso peor o <i>worst-case execution time</i></b> <i>(<b>WCET</b>)</i>, que es el tiempo máximo que tomaría la

Richard Glossip

refused to delay his execution.»  «Glossip v. Gross». SCOTUSblog. Consultado el 24 de abril de 2018.  Ford, Matt. «Oklahoma Halts Execution of Richard Glossip»

Joseph Malta

Nuremberg Documents (en inglés) «TIME Magazine, October 28, 1946, p. 34».  Joseph Kingsbury-Smith: The Execution of Nazi War Criminals Archivado el

Sister Boom Boom

1999 movie Execution of Justice en Internet Movie Database (en inglés) Wesley Snipes played Sister Boom Boom in the 1986 broadway play Execution of Justice

Funker Vogt

(1996) We Came to Kill (1997) Killing Time Again (1998) (en parte material nuevo, en parte remixes) Execution Tracks (1998) Maschine Zeit (2000) T (2000/2001)

Cámara de gas

Intoxicación cianhídrica Intoxicación por monóxido de carbono «Methods of Execution - Death Penalty Information Center». deathpenaltyinfo.org. Archivado desde

Jeff Fahey

(TV) Psycho III (1986) The New Alfred Hitchcock Presents (1986) (TV) The Execution of Raymond Graham (1985) Silverado (1985) One Life to Live (1982–1985)