Physical Device
Component: For CMOS device, major components are source, drain and fate.
Connector: n-channel for NMOS, p-channel for PMOS
Interface:
Link:
Example: Take the following conducting NMOS for example,

AS the above conducting NMOS example, we could say there are three components: Gate, Source and Drain, n-channel function as connector of Source and Drain. So, we may have the following simplified xADL-like figure:


<! - - Namespace Declaration - ->
<?xml version = “1.0” encoding = “UTF-8” ?>
<xArch xmlns = “http://www.ics.uci.edu/pub/arch/xArch/instance.xsd”
xmlns:instance = “http://www.ics.uci.edu/pub/arch/xArch/instance.xsd”
xmlns:types = “http://www.ics.uci.edu/pub/arch/xArch/types.xsd”
xmlns:xlink = “http://www.w3.org/1999/xlink”
xmlns:xsi = “http://www.w3.org/2000/10/XMLSchema-instance”>
<types:archStructure xsi:type = “types:ArchStructure”>
<! - - Component: Gate Description - ->
<types:component instance:id = “GateComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>Gate</types:description>
<types:interface instance:id = “GateCompLeft” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> Gate.Left</types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tLeftType”/>
</types:interface>
<types:interface instance:id = “GateCompRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> Gate.Right</types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tGate ” />
</types:component>
<! - - Component: Source Description - ->
<types:component instance:id = “SourceComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>Source</types:description>
<types:interface instance:id = “SourceLeft” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Source.Left</types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tLeftType”/>
</types:interface>
<types:interface instance:id = “SourceRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Source.Right</types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tSource” />
</types:component>
<! - - Component: Drain Description - ->
<types:component instance:id = “DrainComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>Drain</types:description>
<types:interface instance:id = “DrainLeft” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Drain.Left</types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tLeftType”/>
</types:interface>
<types:interface instance:id = “DrainRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Drain.Right</types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tDrain” />
</types:component>
<! - - Component (Power Supply): VDS Description - ->
<types:component instance:id = “VDSComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>VDS</types:description>
<types:interface instance:id = “VDSCompRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> VDS.Right </types:description>
<types:direction xsi:type = “instance:Direction” >out</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tVDS” />
</types:component>
<! - - Component (Power Supply): VGS Description - ->
<types:component instance:id = “VGSComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>VGS</types:description>
<types:interface instance:id = “VGSCompRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> VGS.Right </types:description>
<types:direction xsi:type = “instance:Direction” >out</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tVGS” />
</types:component>
<! - - Component: Ground Description -->
<types:component instance:id = “GNDComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>GND</types:description>
<types:interface instance:id = “GNDCompRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> GND.Right </types:description>
<types:direction xsi:type = “instance:Direction” >out</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tGND” />
</types:component>
<! - - Connector: nChannel Description - ->
<types:connector instance:id = “nChannel” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description” >nChannel</types:description>
<types:interface instance:id = “nChannelLeft1” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>nChannel.Left1</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tLeft1Type”/>
</types:interface>
<types:interface instance:id = “nChannelLeft2” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>nChannel.Left2</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tLeft2Type”/>
</types:interface>
<types:interface instance:id = “nChnanelRight” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>nChannel.Right</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tnCchannel” />
</types:connector>
<! - - Connector: Con1 Description - ->
<types:connector instance:id = “Con1” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description” >Con1-wire on physical material</types:description>
<types:interface instance:id = “Con1Left” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Con1.Left</types:description>
<types:direction xsi:type = “instance:Direction:>in</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tLeftType”/>
</types:interface>
<types:interface instance:id = “Con1Right” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Con1.Right</types:description>
<types:direction xsi:type = “instance:Direction:>out</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tCon1” />
</types:connector>
<! - - Connector: Con2 Description - ->
<types:connector instance:id = “Con2” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description” >Con2- wire on physical material </types:description>
<types:interface instance:id = “Con2Left” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Con2.Left</types:description>
<types:direction xsi:type = “instance:Direction:>in</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tLeftType”/>
</types:interface>
<types:interface instance:id = “Con2Right” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Con2.Right</types:description>
<types:direction xsi:type = “instance:Direction:>out</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tCon2” />
</types:connector>
<! - - Connector: Con3 Description - ->
<types:connector instance:id = “Con3” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description” >Con3- wire on physical material </types:description>
<types:interface instance:id = “Con3Left” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Con3.Left</types:description>
<types:direction xsi:type = “instance:Direction:>in</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tLeftType”/>
</types:interface>
<types:interface instance:id = “Con3Right” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Con3.Right</types:description>
<types:direction xsi:type = “instance:Direction:>out</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tRightType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tCon3” />
</types:connector>
<! - -Link: Source-nChannel Description - ->
<types:link instance:id = “link1” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Source-nChannel</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#SourceRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#nChannelLeft1” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - -Link: Drain-nChannel Description - ->
<types:link instance:id = “link2” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Drain-nChannel</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#DrainRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#nChannleRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - -Link: GND-Con1-Source Description - ->
<types:link instance:id = “link3” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>GND-Con1</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#GNDRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con1Left” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<types:link instance:id = “link4” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Source-Con1</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con1Right” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#SourceLeft” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - -Link: VGS-Con2-Gate Description - ->
<types:link instance:id = “link5” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>VGS-Con2</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#VGSRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con2Left” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<types:link instance:id = “link6” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Gate-Con2</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con2Right” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#GateLeft” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - -Link: nChannel-Gate Description - ->
<types:link instance:id = “link7” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Gate-nChannel</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#GateRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#ConnectorLeft2” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - -Link: VDS-Con3-Drain Description - ->
<types:link instance:id = “link8” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>VDS-Con3</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#VDSRight” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con3Left” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<types:link instance:id = “link9” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Drain-Con3</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#Con3Right” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#DrainLeft” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
</types:archStructure>
… …