Profil Ravenscar

Profil Ravenscar

Le profil Ravenscar est un sous-ensemble du langage Ada dédié aux systèmes temps réel nécessitant une grande sûreté de fonctionnement. Il ne restreint que les fonctionnalités liées au parallélisme.

L'idée est de permettre de prouver formellement les propriétés temps-réel des programmes écrits selon ce profil. Le profil Ravenscar, en interdisant un certain nombre de caractéristiques du langage Ada, permet de rendre applicables les outils de preuve de programme.

Les restrictions apportées permettent également de réaliser des exécutifs plus simples, et donc eux-mêmes certifiables.

Ce profil a aussi été appliqué à la spécification temps réel RTSJ du langage Java[1].

Restrictions apportées par le profil

Le profil Ravenscar est maintenant intégré à la norme Ada (2005). Il suffit d'appliquer la directive de compilation suivante:

pragma Profile (Ravenscar);

Ce profil est équivalent à l'ensemble de pragmas de configuration suivants:

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

Références

Notes

  1. J. Kwon, A. Wellings, and S. King, « Ravenscar-Java: A High Integrity Profile for Real-Time Java», York Technical Report (YCS 342), Department of Computer Science, University of York, 2002, [lire en ligne]

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Profil Ravenscar de Wikipédia en français (auteurs)

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

Regardez d'autres dictionnaires:

  • Ada (Langage) — Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • Ada (langage) — Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les premières versions remontent au début des années …   Wikipédia en Français

  • Ada (langage de programmation) — Ada (langage) Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • Ada 2005 — Ada (langage) Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • Ada 83 — Ada (langage) Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • Ada 95 — Ada (langage) Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • Lego Mindstorms NXT — est un jeu de construction et de robotique présenté par Lego en 2006. Il succède à la gamme Lego Mindstorms RCX. En 2010, Mindsorms NXT en est à sa version 2.0. Sommaire …   Wikipédia en Français

  • Raven — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Raven », sur le Wiktionnaire (dictionnaire universel) Raven est un mot anglais qui signifie corbeau ou …   Wikipédia en Français

  • Raven (Homonymie) — Raven Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Raven (homonymie) — Raven Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

Share the article and excerpts

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