Version 1.2 of ais/ai-00352.txt
!standard D.13 (01) 03-09-24 AI95-00352/01
!class amendment 02-09-24
!status No Action (8-0-2) 03-10-03
!status work item 02-09-24
!status received 02-09-24
!subject ARINC_653_Processes Profile
A new profile definition consisting of set of restrictions are proposed to
directly support an execution time profile suitable for use with the ARINC 653
Application Executive processes and scheduler.
There is a growing interest in the use of COTS Operating Systems that implement
the ARINC 653 Application Executive (APEX) for the development of software
systems that satify both space and time partitioning requirements. Within the
APEX environment, applications are encapsulated in partitions that are managed
by the APEX operating system. Each application is comprised of one or more APEX
processes. The ARINC 653 specifies an application interface to provide access
to the facilities within the APEX environment. ARINC 653 is defined to be
In the development of a system of applications that are operating on top of the
APEX interface, it is possible to define applications in a variety of languages
each of which represents threads of execution within the application as APEX
processes. In this environment, one mode of operation for Ada applications is
to replace Ada tasks and scheduler with the ARINC 653 threads and scheduling.
In using the ARINC 653 processes and scheduler for Ada applications, the
application cooperates with other applications in the ARINC 653 system through
a common ARINC 653 interface and environment.
This AI proposes a definition of a new profile_identifier called
ARINC_653_Processes to be used as an argument in the pragma Profile. This
profile specifies the restrictions on an Ada application that will generate a
runtime system that does not interfer with the ARINC 653 scheduler.
This proposal assumes that pragma Profile (see AI-249) has been defined. This
proposal uses one new Restriction identifier, No_Synchronous_Control. This new
Restriction is defined in AI-00353.
A runtime profile is an alternative mode of operation that is defined by the
standard. It is selected by inclusion of the configuration pragma Profile that
applies to an active partition. The profile identifier "ARINC_653_Processes"
selects the mode of operation to be the ARINC 653 Processes and scheduling
Revise the second sentence of section D.13 (see AI-249) as follows:
It also defines two such profiles, Ravenscar and ARINC_653_Processes.
Revise the first & second sentences in the Legality Rules of section D.13 as
The profile_identifier shall be Ravenscar, ARINC_653_Processes, or an
implementation-defined identifier. For profile_identifier Ravenscar or
profile_identifier ARINC_653_Processes, there shall be no
Add to the end of the Static Semantics section of D.13:
The profile_identifier ARINC_653_Processes is equivalent to the following set
pragma Restrictions (
Max_Tasks => 0,
To use the ARINC_653_Processes profile for a partition, we need to compile a
pragme Profile before compiling any units:
pragma Profile( ARINC_653_Processes );
An ACATS test should be created for this pragma.
From: Joyce Tokar
Sent: Wednesday, September 24, 2003 12:11 PM
Attached please find two candidate AIs that are a result of last week's IRTAW
meeting. I am submitting these for consideration of the ARG at the next
Questions? Ask the ACAA Technical Agent