Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > IDL Code > Mapping information > Summary of Mappings for IDL code (IDL code) > Component part mapping for IDL (IDL code)
  
Component part mapping for IDL (IDL code)
In the Component Deployment Plan (CDP) file that is generated for a Deployment Plan, ACS generates the following elements for Component Parts that are deployed to that Deployment Plan's Processes:
An Instance element for the Component Part.
An Implementation element for the Component Part's type (a Component).
<component>_svnt and <component>_exec Artifact elements for the Component Part's type (a Component).
Important:
When a Component owns a Component Part, the Component is an assembly and ACS does not generate an IDL file for that Component.
ACS does not generate any code for a Component Part until all a Component's Components Parts are deployed to Processes.
ACS generates code similar to this:
<implementation xmi:id="_6c2ab4f9-2c22-4bef-b242-4770d78e64d7">
<name>www::Component2</name>
<source/>
<artifact xmi:idref="_6c2ab4f9-2c22-4bef-b242-4770d78e64d7_svnt"/>
<artifact xmi:idref="_6c2ab4f9-2c22-4bef-b242-4770d78e64d7_exec"/>
<execParameter>
<name>component factory</name>
<value>
<type>
<kind>tk_string</kind>
</type>
<value>
<string>create_Component2_Impl</string>
</value>
</value>
</execParameter>
<execParameter>
<name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
<value>
<type>
<kind>tk_string</kind>
</type>
<value>
<string>www::Component2_exec</string>
</value>
</value>
</execParameter>
<execParameter>
<name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
<value>
<type>
<kind>tk_string</kind>
</type>
<value>
<string>create_Component2_Servant</string>
</value>
</value>
</execParameter>
<execParameter>
<name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
<value>
<type>
<kind>tk_string</kind>
</type>
<value>
<string>www::Component2_svnt</string>
</value>
</value>
</execParameter>
</implementation>
<instance xmi:id="_111">
<name>Component1.__ComponentPart1</name>
<node>Node1</node>
<source/>
<implementation xmi:idref="_6c2ab4f9-2c22-4bef-b242-4770d78e64d7"/>
</instance>
<artifact xmi:id="_6c2ab4f9-2c22-4bef-b242-4770d78e64d7_svnt">
<name>www::Component2_svnt</name>
<source/>
<node/>
<location>Component2_svnt</location>
</artifact>
<artifact xmi:id="_6c2ab4f9-2c22-4bef-b242-4770d78e64d7_exec">
<name>www::Component2_exec</name>
<source/>
<node/>
<location>Component2_exec</location>
</artifact>