9.3 The Connection XML Schema of the AADL Meta Model
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http:///AADL/connection" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:core="http:///AADL/core" xmlns:connection="http:///AADL/connection">
      <xsd:import namespace="http:///AADL/core" schemaLocation="core.xsd"/>
      <xsd:simpleType name="ConnectionTiming">
            <xsd:restriction base="xsd:NCName">
                  <xsd:enumeration value="Immediate"/>
                  <xsd:enumeration value="Delayed"/>
            </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="Connections">
            <xsd:complexContent>
                  <xsd:extension base="core:AObject">
                        <xsd:sequence>
                              <xsd:element name="contents" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
                        </xsd:sequence>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="Connections" type="connection:Connections"/>
      <xsd:complexType name="DataConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="timing" type="connection:ConnectionTiming"/>
                        <xsd:attribute name="refines" type="xsd:string"/>
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="dst" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="DataConnection" type="connection:DataConnection"/>
      <xsd:complexType name="EventConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="dst" type="xsd:string"/>
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="refines" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="EventConnection" type="connection:EventConnection"/>
      <xsd:complexType name="EventDataConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="dst" type="xsd:string"/>
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="refines" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="EventDataConnection" type="connection:EventDataConnection"/>
      <xsd:complexType name="PortGroupConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="dst" type="xsd:string"/>
                        <xsd:attribute name="refines" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="PortGroupConnection" type="connection:PortGroupConnection"/>
      <xsd:complexType name="FeatureContext">
            <xsd:complexContent>
                  <xsd:extension base="core:PropertyHolder"/>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DataAccessConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="refines" type="xsd:string"/>
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="dst" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="DataAccessConnection" type="connection:DataAccessConnection"/>
      <xsd:complexType name="ParameterEnd">
            <xsd:complexContent>
                  <xsd:extension base="core:PropertyHolder"/>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ParameterConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="refines" type="xsd:string"/>
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="dst" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="ParameterConnection" type="connection:ParameterConnection"/>
      <xsd:complexType name="BusAccessConnection">
            <xsd:complexContent>
                  <xsd:extension base="core:Connection">
                        <xsd:attribute name="refines" type="xsd:string"/>
                        <xsd:attribute name="src" type="xsd:string"/>
                        <xsd:attribute name="dst" type="xsd:string"/>
                  </xsd:extension>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="BusAccessConnection" type="connection:BusAccessConnection"/>
      <xsd:complexType name="DataAccessEnd">
            <xsd:complexContent>
                  <xsd:extension base="core:PropertyHolder"/>
            </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BusAccessEnd">
            <xsd:complexContent>
                  <xsd:extension base="core:PropertyHolder"/>
            </xsd:complexContent>
      </xsd:complexType>
</xsd:schema>