Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > IDL Code > IDL diagrams, reports and editors (reference information) > Internal component diagram (IDL code)
  
Internal component diagram (IDL code)
An Internal Component Diagram allows you to model Components, which can be generated as IDL files through ACS.
Create an Internal Component Diagram from a Component: right-click the Component, point to New, and then click Internal Component Diagram (With Ports) or Internal Component Diagram (Without Ports).
On an Internal Component Diagram you can create and define Components and Component Parts:
Create Component Parts on the owning Component and Component Parts.
When you create a Component Part on a Component Part, the new Component Part is created as a child of the other Component Part's type (Component).
Create Connector Instances on the owning Component and Component Parts.
When you create a Connector Instance on a Component Part, the Connector Instance is created as a child of the Component Part's type (Component).
Create Clients, Extended Port (Consumers), Extended Port (Publishers) and Services on Component and Component Parts.
When you create a port on a Component Part, the port is created as a child of the Component Part's type (Component).
Create listener ports for Extended Port (Consumers) and Extended Port (Publishers).
Create Connections between items on the diagram.
Tell me more...
All Internal Component Diagrams are shown in the IDL Elements pane - expand the Internal Component Diagram folder.
An Internal Component Diagram is based on a UML Composite Structure Diagram.
An Internal Component Diagram can show the following IDL items.
Client
Client item
To create a Client: click the Client toolbar button, and then click within the owning Component or Component Part.
To add an existing Client to a Component or Component Part: click the Client toolbar button, right-click within the owning Component or Component Part, and then click the command for the Client you want to add.
To populate a Component's or Component Part's Clients: right-click the Component or Component Part, point to Populate, and then click Ports. To populate a Client's Connections, right-click the Client, point to Populate, and then click Connections.
Note that a Client's view options are set through the Port entry.
Component
Component item
The owning Component is added to the Internal Component Diagram on creation.
You can show or hide the Component's Attributes: right-click the Component, point to Toggle Compartments, and then click Attributes.
Note that a Component's view options are set through the Class entry.
Component Part
Component part item
To create a Component Part: click the Component Part toolbar button, and then click within the owning Component or Component Part. Alternatively, drag the Component that you want to be the type of the Component Part from an appropriate pane to a Component or Component Part.
To add an existing Component Part: click the Component Part toolbar button, right-click within the owning Component or Component Part, and then click the command for the Component Part you want to add.
To populate a Component's or Component Part's Components Parts: right-click the Component or Component Part, point to Populate, and then click Parts.
You can show or hide the Component Part's Attributes: right-click the Component Part, point to Toggle Compartments, and then click Attributes.
Note that a Component Part's view options are set through the Part entry.
Connection (UML Association)
Connection item
To create a Connection: click the Connection toolbar button, click the source item, and then click the destination item.
For information about which source and destination items are valid when connecting items on an Internal Component Diagram, see Rules for connecting items on an internal component diagram.
To populate an item's Connectors: right-click the item, point to Populate, and then click Connections.
Note that a Connector's view options are set through the Association entry.
Connector Instance
Connector instance item
To create a Connector Instance: click the Connector Instance toolbar button, and then click within the owning Component or Component Part.
To add an existing Connector Instance: click the Connector Instance toolbar button, right-click within the owning Component or Component Part, and then click the command for the Connector Instance you want to add.
To populate a Component's or Component Part's Connector Instances: right-click the Component or Component Part, point to Populate, and then click Parts. To populate a Connector Instance's Connections, right-click the Connector Instance, point to Populate, and then click Connections.
You can create callout notes for a Connector Instance to show its Bound Module and Message: right-click the Connector Instance, point to Add Callout Note, and then click Bound Module or Message.
Tip: You can quickly navigate from a Connector Instance to its Bound Module or Message in the Packages pane or Dictionary pane: right-click the Connector Instance, point to Find, point to Bound Module or Message, and then click In Package Browser or In Dictionary Browser.
Note that a Connector Instance's view options are set through the Part entry.
Extended Port (Consumer)
Extended port (consumer) item
To create an Extended Port (Consumer): click the Extended Port (Consumer) toolbar button, and then click within the owning Component or Component Part.
To add an existing Extended Port (Consumer): click the Extended Port (Consumer) toolbar button, right-click within the owning Component or Component Part, and then click the command for the Extended Port (Consumer) you want to add.
To populate a Component's or Component Part's Extended Ports: right-click the Component or Component Part, point to Populate, and then click Ports. To populate an Extended Port (Consumer)'s Connections, right-click the Extended Port (Consumer), point to Populate, and then click Connections.
You can create a connector listener for an Extended Port (Consumer): right-click the Extended Port (Consumer), and then click Add Connector Listener. The IDL Profile creates a connected Service named Status that uses the ConnectorStatusListener interface as its type.
You can create callout notes for an Extended Port (Consumer) to show its Bound Module and Message: right-click the Extended Port (Consumer), point to Add Callout Note, and then click Bound Module or Message.
Tip: You can quickly navigate from an Extended Port (Consumer) to its Bound Module or Message in the Packages pane or Dictionary pane: right-click the Extended Port (Consumer), point to Find, point to Bound Module or Message, and then click In Package Browser or In Dictionary Browser.
Note that an Extended Port's view options are set through the Port entry.
Extended Port (Publisher)
Extended port (publisher) item
To create an Extended Port (Publisher): click the Extended Port (Publisher) toolbar button, and then click within the owning Component or Component Part.
To add an existing Extended Port (Publisher): click the Extended Port (Publisher) toolbar button, right-click within the owning Component or Component Part, and then click the command for the Extended Port (Publisher) you want to add.
To populate a Component's or Component Part's Extended Ports: right-click the Component or Component Part, point to Populate, and then click Ports. To populate an Extended Port (Publisher)'s Connections, right-click the Extended Port (Publisher), point to Populate, and then click Connections.
You can create a connector listener for an Extended Port (Publisher): right-click the Extended Port (Publisher), and then click Add Connector Listener. The IDL Profile creates a connected Service named Status that uses the ConnectorStatusListener interface as its type.
You can create callout notes for an Extended Port (Publisher) to show its Bound Module and Message: right-click the Extended Port (Publisher), point to Add Callout Note, and then click Bound Module or Message.
Tip: You can quickly navigate from an Extended Port (Publisher) to its Bound Module or Message in the Packages pane or Dictionary pane: right-click the Extended Port (Publisher), point to Find, point to Bound Module or Message, and then click In Package Browser or In Dictionary Browser.
Note that an Extended Port's view options are set through the Port entry.
Service
Service item
To create a Service: click the Service toolbar button, and then click within the owning Component or Component Part.
To add an existing Service: click the Service toolbar button, right-click within the owning Component or Component Part, and then click the command for the Service you want to add.
To populate a Component's or Component Part's Services: right-click the Component or Component Part, point to Populate, and then click Ports. To populate a Service's Connections, right-click the Service, point to Populate, and then click Connections.
Note that a Service's view options are set through the Port entry.
The following sections provide information about how an Internal Component Diagram is used in the model.
Owned By
Model (UML item)
Package (UML item)
Creates or shows these items
Bound Module (through callout note)
Client
Component
Component Part
Connection (UML Association) Rules for connecting items on an internal component diagram
Extended Port (Consumer)
Extended Port (Publisher)
Message (through callout note)
Service
IDL Profile properties
None.