Partition (ARINC for VxWorks 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 Inline property of a Partition determines whether a Partition XML file is generated:
• When the Inline property is set to TRUE, ACS generates the content of the <Partition> element in the Module XML file. ACS does not generate a Partition XML file.
• When the Inline property is set to FALSE and the xi:include property is blank, ACS generates a Partition XML file that defines the content of the <Partition> element. The Partition XML file is referenced through an <xi:include> element.
• When the Inline property is set to FALSE and the xi:include property has a value, ACS generates an <xi:include> element to reference the Partition XML file that is specified by the xi:include property. ACS does not generate a Partition XML file.
The structure of the <Partition> element is as follows for VxWorks:
<Partition Name="" Id="">
<PartitionDescription>
<Settings
PartitionHMTable=""
RequiredMemorySize=""
allocDisable=""
appsIdleRelinquishEnabled=""
appsPriority=""
fpExcEnable=""
isrStackSize=""
maxEventQStallDuration=""
maxGlobalFDs=""
numDrivers=""
numFiles=""
numLogMsgs=""
numStackGuardPages=""
numWorkerTasks=""
selSvrQSize=""
syscallPermissions=""
user1=""
user2=""
watchDogDuration=""/>
</PartitionDescription>
</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.
| 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.
• allocDisable - used to generate the allocDisable attribute of the <Settings> element that is owned by the <PartitionDescription> element. When allocDisable is set to FALSE, 0 is generated; when allocDisable is set to TRUE, 1 is generated.
• appsIdleRelinquishEnabled - used to generate the appsIdleRelinquishEnabled attribute of the <Settings> element that is owned by the <PartitionDescription> element. When appsIdleRelinquishEnabled is set to FALSE, 0 is generated; when appsIdleRelinquishEnabled is set to TRUE, 1 is generated.
• appsPriority - generated as the appsPriority attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• Base_Address - generated as the Base_Adderss attribute of the <PartitionPayload> element.
• EntryPoint - this property is not used at present.
• fpExcEnable - used to generate the appsIdleRelinquishEnabled attribute of the <Settings> element that is owned by the <PartitionDescription> element. When appsIdleRelinquishEnabled is set to FALSE, 0 is generated; when appsIdleRelinquishEnabled is set to TRUE, 1 is generated.
• Id - this property is not used at present.
• Inline - specifies whether the content of the <Partition> element is generated in the Module XML file or generated in a separate Partition XML file that is referenced through an <xi:include> element:
◦ When the Inline property is set to TRUE, ACS generates the content of the <Partition> element in the Module XML file. ACS does not generate a Partition XML file.
◦ When the Inline property is set to FALSE and the xi:include property is blank, ACS generates a Partition XML file that defines the content of the <Partition> element. The Partition XML file is referenced through an <xi:include> element.
◦ When the Inline property is set to FALSE and the xi:include property has a value, ACS generates a <xi:include> element to reference the Partition XML file that is specified by the xi:include property. ACS does not generate a Partition XML file.
• isrStackSize - generated as the isrStackSize attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• maxEventQStallDuration - generated as the maxEventQStallDuration attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• maxGlobalFDs - generated as the maxGlobalFDs attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• numDrivers - generated as the numDrivers attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• numFiles - generated as the numFiles attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• numLogMsgs - generated as the numLogMsgs attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• numStackGuardPages - generated as the numStackGuardPages attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• numWorkerTasks - generated as the numWorkerTasks attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• Online - generated as the Online attribute of the <PartitionPayload> element. Possible values are TRUE and FALSE.
• PartitionIdentifier - this property is not used at present.
• Period - this property is not used at present.
• RequiredMemorySize - generated as the RequiredMemorySize attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• selSvrQSize - generated as the selSvrQSize attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• syscallPermissions - generated as the syscallPermissions attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• SystemPartition - this property is not used at present.
• TargetLanguage - specifies the code language of the application. Possible values are ADA, C or NONE. When NONE is set, no application startup code is generated for the Partition's Application Parts.
• user1 - generated as the user1 attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• user2 - generated as the user2 attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• watchDogDuration - generated as the watchDogDuration attribute of the <Settings> element that is owned by the <PartitionDescription> element.
• xi:include - when Inline is set to FALSE, generated as the href attribute of the <xi:include> element for the <Partition> element:
◦ When the Inline property is set to FALSE and the xi:include property is blank, ACS generates a Partition XML file that defines the content of the <Partition> element. The Partition XML file is referenced through an xi:include element.
◦ When the Inline property is set to FALSE and the xi:include property has a value, ACS generates an <xi:include> element to reference the Partition XML file that is specified by the xi:include property. ACS does not generate a Partition XML file.
◦ When Inline is set to TRUE, the xi:include property is ignored.
• xmlns - when the Inline property is set to FALSE and the xi:include property is blank, generated as the xmlns attribute of the <PartitionDescription> element in the Partition XML file.
• xmlns:xi - when the Inline property is set to FALSE and the xi:include property is blank, generated as the xmlns:xi attribute of the <PartitionDescription> element in the Partition XML file.
• xmlns:xsi - when the Inline property is set to FALSE and the xi:include property is blank, generated as the xmlns:xsi attribute of the <PartitionDescription> element in the Partition XML file.
• xsi:schemaLocation - when the Inline property is set to FALSE and the xi:include property is blank, generated as the xsi:schemaLocation attribute of the <PartitionDescription> element in the Partition XML file.