Ravenscar-profiili

Ravenscar profiili on osajoukko Ada kielen omistettu reaaliaikaiset järjestelmät vaativat korkeaa toiminnallinen luotettavuus . Se rajoittaa vain rinnakkaisuuteen liittyviä toimintoja .

Ajatuksena on mahdollistaa muodollisesti todistaa tämän profiilin mukaan kirjoitettujen ohjelmien reaaliaikaiset ominaisuudet . Ravenscar-profiili, kieltämällä tietyn määrän ada-kielen ominaisuuksia, mahdollistaa ohjelmavarmojen työkalujen soveltamisen.

Esitetyt rajoitukset mahdollistavat myös yksinkertaisempien johtajien luomisen ja siten itsensä sertifioitavuuden.

Tätä profiilia on sovellettu myös Java- kielen reaaliaikaiseen RTSJ -määritykseen .

Profiilin asettamat rajoitukset

Ravenscar-profiili on nyt integroitu Ada (2005) -standardiin. Käytä vain seuraavaa kokoamisdirektiiviä:

pragma Profile (Ravenscar);

Tämä profiili vastaa seuraavia määrityskäytäntöjoukkoja:

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

Viitteet

Huomautuksia

  1. J. Kwon, A. Wellings ja S. King, "Ravenscar-Java: A Real Integrity Profile for Real-Time Java", Yorkin tekninen raportti (YCS 342), Yorkin yliopiston tietojenkäsittelytieteen laitos, 2002, [ lue verkossa ]