Perfil de Ravenscar

Perfil de Ravenscar

Perfil de Ravenscar

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.

Contenido

Historia

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

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

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

Referencias

  • Alan Burns, "The Ravenscar Profile", Ada-Letters (1999)
  • Alan Burns, Brian Dobbing, Tullio Vardanega, Guide for the use of the Ada Ravenscar Profile in high integrity systems, University of York Technical Report YCS-2003-348 (January 2003)
  • AI95-00249 Ravenscar profile for high-integrity systems
Obtenido de "Perfil de Ravenscar"

Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Perfil de Ravenscar — 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… …   Enciclopedia Universal

  • IRTAW — El IRTAW (International Real Time Ada Workshop) es un congreso científico sobre sistemas de tiempo real, centrado especialmente en el lenguaje de programación Ada aunque también se habla sobre otros lenguajes como Java para Tiempo Real. Los… …   Wikipedia Español

  • Ada (lenguaje de programación) — Ada es un lenguaje de programación orientado a objetos y fuertemente tipado de forma estática que fue diseñado por Jean Ichbiah de CII Honeywell Bull por encargo del Departamento de Defensa de los Estados Unidos. Es un lenguaje multipropósito,… …   Wikipedia Español

  • SPARK — Saltar a navegación, búsqueda Para otros usos de este término, véase Spark (desambiguación). SPARK es un lenguaje de programación especialmente diseñado para sistemas de alta integridad. Es un subconjunto anotado de Ada desarrollado por la… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”