Fax +44 1483 433312
All XGC compilers are designed for hard real-time applications and offer a small run-time footprint and fast response to real-time events. The default profile offers a wide range of real-time features that will be suitable for most applications. For more critical applications, XGC Ada compilers support the Ravenscar profile. This places further restrictions on Ada language features acceptable to the compiler.
The Ravenscar profile prohibits the following:
Task types and object declarations other than at the library level. Thus, there is no hierarchy of tasks.
Dynamic allocation and unchecked deallocation of protected and task objects.
ATC (asynchronous transfer of control via the asynchronous select statement)
Abort statements including Abort_Task in package Ada.Task_Identification
Protected types and object declarations other than at the library level
Protected types with more than one entry
Protected entries with barriers other than a single boolean variable declared within the same protected type
An entry call to a protected entry with a call already queued
Asynchronous task control
All forms of select statement
User-defined task attributes
The XGC run-time system runs on the bare target computer. It is therefore much more efficient and deterministic than others that run on top of an operating system. Even real-time operating systems designed for embedded applications cannot match the performance of an Ada run-time when running Ada tasks and handling interrupts.