Queuing port (ARINC for PikeOS code)
A Queuing Port is a port on a partition to which a channel can connect for queue based interpartition communication. Will be designated either SOURCE or DESTINATION based on the icon used to create it. For more information see the ARINC SPECIFICATION 653P1-2, December 1, 2005.
A Queuing Port models a <QueuingPort> element, which is a child element of a partition's <QueuingPortList> element.
The structure of the <QueuingPort> element is as follows for PikeOS:
<QueuingPort Name="" Direction="" MaxMessageSize="" MaxNbMessages="">
</QueuingPort>
When a Queuing Port is used by an Application Part, the Queuing Port is created in the application startup code that is generated for the Application Part. For example, using C:
/* Header File */
#include <apex_queuingports.h>
...
extern QUEUING_PORT_ID_TYPE QueuingPort1_id;

/* Implementation File */
QUEUING_PORT_ID_TYPE QueuingPort1_id;
...
CREATE_QUEUING_PORT("QueuingPort1", 256,32, SOURCE, FIFO, &QueuingPort1_id, &rc);
ASSERT(rc == NO_ERROR);
Create a Queuing Port on a Configuration Diagram: click the Source Queuing Port or Destination Queuing Port button, and then click within a Partition Part.
Ensure that through a Port Usage, each Queuing Port is linked to an Application Part within the Partition Part.
Ensure that through a Channel, each Queuing Port is linked to another Queuing Port on a different Partition Part.
To set an ARINC 653 property of a Queuing Port: right-click the Queuing Port, point to ARINC 653, point to Set, and then click the command for the property you want to set.
When shown on a Configuration Diagram, a Queuing Port's notation is as follows:
A Queuing Port is based on a UML Attribute.
The following sections provide information about how a Queuing Port is used in the model.
Shown on these diagrams
ARINC properties
Direction - specifies the direction of the port, that is, Source or Destination. When set to Source, 'VMPORT_SOURCE' is generated as the Direction attribute of the <QueuingPort> element. When set to Source, 'VMPORT_DESTINATION' is generated as the Direction attribute of the <QueuingPort> element. To set this property: right-click the Queuing Port, point to ARINC 653, point to Set, and then click Direction.
IsSource - shows whether the Queuing Port is a source port. Possible values are TRUE or FALSE.
IsTarget - shows whether the Queuing Port is a destination port. Possible values are TRUE or FALSE.
MaxMessageSize - generated as the MaxMessageSize attribute of the <QueuingPort> element. Also generated in the startup code for defining the Queuing Port. To set this property: right-click the Queuing Port, point to ARINC 653, point to Set, and then click MaxMessageSize.
MaxNbMessages - generated as the MaxNBMessages attribute of the <QueuingPort> element. Also generated in the startup code for defining the Queuing Port. To set this property: right-click the Queuing Port, point to ARINC 653, point to Set, and then click MaxNbMessages.
QueuingDiscipline - generated in the startup code for defining the Queuing Port. To set this property: right-click the Queuing Port, point to ARINC 653, point to Set, and then click QueuingDiscipline. Possible values are FIFO or PRIORITY.
The Name of the Queuing Port is generated as the Name attribute of the <QueuingPort> element.