Ravenscar profile
E48531
concurrency profile
real-time programming language profile
safety-critical software standard
subset of Ada
The Ravenscar profile is a restricted subset of the Ada programming language designed to support high-integrity, real-time, and safety-critical systems by enforcing deterministic and analyzable concurrency.
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
concurrency profile
→
real-time programming language profile → safety-critical software standard → subset of Ada → |
| appliesToLanguage |
Ada (programming language)
→
surface form: "Ada"
|
| designedFor |
high-integrity systems
→
real-time systems → safety-critical systems → |
| enforces |
no abort statements
→
no asynchronous entry calls → no asynchronous transfer of control → no dynamic allocation of tasking objects → no dynamic priorities → no dynamic task creation → no local protected objects → no requeue on protected entries → no task hierarchy → no task termination → no timed entry calls → no use of Ada select statements → static tasking model → |
| goal |
certifiability
→
deterministic concurrency → high reliability → predictable timing behavior → schedulability analysis → |
| hasProfilePragma | pragma Profile(Ravenscar) → |
| namedAfter | Ravenscar, North Yorkshire, England → |
| property |
analyzable concurrency
→
bounded resource usage → deterministic behavior → reduced runtime complexity → |
| restricts |
Ada protected object features
→
Ada tasking features → |
| standardizedIn |
Ada (programming language)
→
surface form: "Ada 2005"
Ada (programming language) →
surface form: "Ada 2012"
|
| supports |
WCET analysis
→
compile-time analysis of concurrency → hard real-time constraints → schedulability analysis → static memory allocation → |
| typicalDomain |
avionics software
→
industrial control systems → medical devices software → railway control systems → spacecraft software → |
| uses |
ceiling locking protocol
→
fixed-priority preemptive scheduling → periodic and sporadic tasks → protected objects for synchronization → |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.