Partition (ARINC for PikeOS code)
Conceptually, a partition is a group of processes kept separate from other partitions in terms of resource such as memory and processor time, to increase the robustness of the resulting system, by ensuring (assuming a good design in other respects) that problems in one process cannot cripple the system as a whole. For more information see the ARINC SPECIFICATION 653P1-2, December 1, 2005. Within the model, this means a partition is a container for Application Parts representing subgroupings of processes. Partitions are created automatically when a Partition Part is created on a Module.
A Partition types a Partition Part.
A Partition Part models the <Partition> element of an ARINC 653 configuration. Most of the <Partition> attributes are generated from properties of the Partition that types the Partition Part.
The structure of the <Partition> element is as follows for PikeOS:
<Partition PartitionName="" MaxChildTasks="" MaxPrio="" TimePartitionID="" PartitionStartupMode="" HealthMonitorMode="" SystemPartition="" NumFDs="" Period="" Duration="">
...
</Partition>
The profile creates a Partition when you create a Partition Part. To create a Partition Part: on a Configuration Diagram: click the Partition Part button, and then click within the Module. Note that when you create an Integration Project, the profile creates a Configuration Diagram that is named '<module name> Configuration Diagram'.
When you create a Partition Part, the profile creates the following items in the model:
A Partition Part on the Configuration Diagram.
A Partition that types the Partition Part. The Partition item is scoped to the Integration Project.
Specify partition properties through the Partition's Property Pages: on the Partition's Property Pages, click the Partition Part tab, and then set the tagged values as required.
You can view all the Partitions in the model through the Partition folder in the ARINC 653 Profile pane.
A Partition is based on a UML Class.
The following sections provide information about how a Partition is used in the model.
Shown on these diagrams
None.
ARINC properties
These properties are set on the Partition tab of the Partition's Property Pages.
Duration - generated as the Duration attribute of the <Partition> element.
EntryPoint - this property is not used at present.
HealthMonitorMode - generated as the HealthMonitorMode attribute of the <Partition> element.
MaxChildTasks - generated as the MaxChildTasks attribute of the <Partition> element.
MaxPrio - generated as the MaxPrio attribute of the <Partition> element.
NumFDs - generated as the NumFDs attribute of the <Partition> element.
PartitionStartupMode - generated as the PartitionStartupMode attribute of the <Partition> element.
Period - generated as the Period attribute of the <Partition> element.
SystemPartition - generated as the SystemPartition attribute of the <Partition> element. Possible values are TRUE or FALSE.
TargetLanguage - specifies the code language of the application. Possible values are Ada or C.