Version 1.1 of ai12s/ai12-0117-1.txt

Unformatted version of ai12s/ai12-0117-1.txt version 1.1
Other versions for file ai12s/ai12-0117-1.txt

!standard D.7(10.8/3)          14-06-19 AI12-0117-1/01
!class Amendment 14-06-19
!status work item 14-06-19
!status received 14-06-19
!priority Low
!difficulty Easy
!subject Restriction No_Tasks_Unassigned_To_CPU
!summary
Add restriction No_Tasks_Unassigned_To_CPU to provide safe use of Ravenscar.
!problem
The Ravenscar Profile on multiprocessors requires that all tasks are assigned to CPUs. In order to do this safely, we need a new restriction to be defined to ensure that all tasks are assigned to a CPU.
!proposal
(See Summary.)
!wording
This AI assumes that AI12-0055-1 has been adopted.
Add a new restriction after D.7(10.8/3):
No_Tasks_Unassigned_To_CPU
No aspect CPU is specified to be statically Not_A_Specific_CPU. If there is any task in the partition which has aspect CPU specified, then all tasks in the partition have aspect CPU or Dispatching_Domain specified.
AARM Ramification: If this restriction is used in a context for which restriction Only_Static_Task_Assignment is not in effect, then tasks could specify CPU with a non-static expression having the value Not_A_Specific_CPU. Thus it is of limited utility outside of Ravenscar and similar environments.
!discussion
We add a new restriction:
No_Tasks_Unassigned_To_CPU
to signify that (1) Not_A_Specific_CPU is not allowed in aspect CPU or pragma CPU, and (2) either no CPU aspect is used in the program so that all tasks get assigned to the environment task's CPU or all tasks have a CPU aspect.
Note that the restriction allows either CPU or Dispatching_Domain to be specified, so that it can be used in non-Ravenscar contexts. We could have included a run-time check that the CPU is never specified to Not_A_Specific_CPU (raising an exception if that is true), but it would seem to get in the way of the primary purpose of this restriction (which is for Ravenscar).
!ASIS
No ASIS impact.
!ACATS test
An ACATS C-Test is needed to verify that the pragma and restriction is implemented as specified.
!appendix

****************************************************************


Questions? Ask the ACAA Technical Agent