<?xml version="1.0"?>
<!-- Automatically generated by AcmeStudio 1.5beta, using xArch::archInstances v1.0-->
<!-- Generated 12/12/2000 13:55-->
<archInstances  xmlns='http://www.ics.uci.edu/pub/arch/xArch/instance.xsd'
        xmlns:xsi='http://www.w3.org/1999/XMLSchema/instance'
        xmlns:instance='http://www.ics.uci.edu/pub/arch/xArch/instance.xsd'
        xmlns:xlink='http://www.w3.org/1999/xlink'
        xsi:schemaLocation='http://www.ics.uci.edu/pub/arch/xArch/instance.xsd instance.xsd'
id="0">
    <description>
    name = "simple-demo";
        Properties {
            invariant-2 : Armani-InvariantT = "invariant forall f : Filter in self.components | size(f.ports) >=2;"; 
        };
    </description>
    <componentInstance id="1">
        <description>
            name = "Capitalize";
                Properties {
                    prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                };
        </description>
        <interfaceInstance id="2">
            <description>
            name = "stdin";
                Properties {
                    inputType : string = "char"; 
                };
            </description>
        </interfaceInstance>
        <interfaceInstance id="3">
            <description>
            name = "stdout";
            </description>
        </interfaceInstance>
        <subArchitecture>
            <archInstances id="4">
                <description>
                name = "Aggregate-rep";
                </description>
                <componentInstance id="5">
                    <description>
                        name = "LowerCase";
                            Properties {
                                prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                            };
                    </description>
                    <interfaceInstance id="6">
                        <description>
                        name = "out";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="7">
                        <description>
                        name = "inport";
                            Properties {
                                inputType : string = "char"; 
                            };
                        </description>
                    </interfaceInstance>
                </componentInstance>
                <componentInstance id="8">
                    <description>
                        name = "Merge";
                            Properties {
                                prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                            };
                    </description>
                    <interfaceInstance id="9">
                        <description>
                        name = "left";
                            Properties {
                                inputType : string = "char"; 
                            };
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="10">
                        <description>
                        name = "right";
                            Properties {
                                inputType : string = "char"; 
                            };
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="11">
                        <description>
                        name = "stdout";
                        </description>
                    </interfaceInstance>
                </componentInstance>
                <componentInstance id="12">
                    <description>
                        name = "Split";
                            Properties {
                                prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                            };
                    </description>
                    <interfaceInstance id="13">
                        <description>
                        name = "left";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="14">
                        <description>
                        name = "right";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="15">
                        <description>
                        name = "stdin";
                            Properties {
                                inputType : string = "char"; 
                            };
                        </description>
                    </interfaceInstance>
                </componentInstance>
                <componentInstance id="16">
                    <description>
                        name = "UpperCase";
                            Properties {
                                prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                                binary : BinaryFile = "tr"; 
                                sConfig : string = "a-z  A-Z"; 
                            };
                    </description>
                    <interfaceInstance id="17">
                        <description>
                        name = "stderr";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="18">
                        <description>
                        name = "stdin";
                            Properties {
                                inputType : string = "char"; 
                            };
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="19">
                        <description>
                        name = "stdout";
                        </description>
                    </interfaceInstance>
                </componentInstance>
                <connectorInstance id="20">
                    <description>
                        name = "Pipe26";
                    </description>
                    <interfaceInstance id="21">
                        <description>
                            name = "sink";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="22">
                        <description>
                            name = "source";
                                Properties {
                                    outputType : string = "char"; 
                                };
                        </description>
                    </interfaceInstance>
                </connectorInstance>
                <connectorInstance id="23">
                    <description>
                        name = "Pipe27";
                    </description>
                    <interfaceInstance id="24">
                        <description>
                            name = "sink";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="25">
                        <description>
                            name = "source";
                                Properties {
                                    outputType : string = "char"; 
                                };
                        </description>
                    </interfaceInstance>
                </connectorInstance>
                <connectorInstance id="26">
                    <description>
                        name = "Pipe28";
                    </description>
                    <interfaceInstance id="27">
                        <description>
                            name = "sink";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="28">
                        <description>
                            name = "source";
                                Properties {
                                    outputType : string = "char"; 
                                };
                        </description>
                    </interfaceInstance>
                </connectorInstance>
                <connectorInstance id="29">
                    <description>
                        name = "Pipe29";
                    </description>
                    <interfaceInstance id="30">
                        <description>
                            name = "sink";
                        </description>
                    </interfaceInstance>
                    <interfaceInstance id="31">
                        <description>
                            name = "source";
                                Properties {
                                    outputType : string = "char"; 
                                };
                        </description>
                    </interfaceInstance>
                </connectorInstance>
                <linkInstance id="32">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#7"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#24"/>
                    </point>
                </linkInstance>
                <linkInstance id="33">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#6"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#28"/>
                    </point>
                </linkInstance>
                <linkInstance id="34">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#9"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#30"/>
                    </point>
                </linkInstance>
                <linkInstance id="35">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#10"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#27"/>
                    </point>
                </linkInstance>
                <linkInstance id="36">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#13"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#22"/>
                    </point>
                </linkInstance>
                <linkInstance id="37">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#14"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#25"/>
                    </point>
                </linkInstance>
                <linkInstance id="38">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#18"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#21"/>
                    </point>
                </linkInstance>
                <linkInstance id="39">
                    <description>
                    </description>
                    <point>
                        <anchorInterface xlink:type="simple" xlink:href="#19"/>
                    </point>
                    <point>
                        <description>
                        </description>
                        <anchorInterface xlink:type="simple" xlink:href="#31"/>
                    </point>
                </linkInstance>
            </archInstances>
            
            <interfaceInstanceMapping>
                <outerInterfaceInstance type='simple' href='#2'/>
                <innerInterfaceInstance type='simple' href='#15'/>
                <outerInterfaceInstance type='simple' href='#3'/>
                <innerInterfaceInstance type='simple' href='#11'/>
            </interfaceInstanceMapping>
        </subArchitecture>
    </componentInstance>
    <componentInstance id="40">
        <description>
            name = "Compress";
                Properties {
                    prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                    prop1 : Armani-InvariantT = "invariant 6==7;"; 
                };
        </description>
        <interfaceInstance id="41">
            <description>
            name = "stdout";
            </description>
        </interfaceInstance>
        <interfaceInstance id="42">
            <description>
            name = "stdin";
                Properties {
                    inputType : string = "char"; 
                };
            </description>
        </interfaceInstance>
    </componentInstance>
    <componentInstance id="43">
        <description>
            name = "Package";
                Properties {
                    prop : Armani-InvariantT = "invariant forall p : port in self.ports | declaresType (p, ReadPort)  OR declaresType (p, WritePort);"; 
                };
        </description>
        <interfaceInstance id="44">
            <description>
            name = "out";
            </description>
        </interfaceInstance>
        <interfaceInstance id="45">
            <description>
            name = "inport";
                Properties {
                    inputType : string = "char"; 
                };
            </description>
        </interfaceInstance>
    </componentInstance>
    <connectorInstance id="46">
        <description>
            name = "Pipe10";
        </description>
        <interfaceInstance id="47">
            <description>
                name = "sink";
            </description>
        </interfaceInstance>
        <interfaceInstance id="48">
            <description>
                name = "source";
                    Properties {
                        outputType : string = "char"; 
                    };
            </description>
        </interfaceInstance>
    </connectorInstance>
    <connectorInstance id="49">
        <description>
            name = "Pipe15";
        </description>
        <interfaceInstance id="50">
            <description>
                name = "sink";
            </description>
        </interfaceInstance>
        <interfaceInstance id="51">
            <description>
                name = "source";
                    Properties {
                        outputType : string = "char"; 
                    };
            </description>
        </interfaceInstance>
    </connectorInstance>
    <linkInstance id="52">
        <description>
        </description>
        <point>
            <anchorInterface xlink:type="simple" xlink:href="#2"/>
        </point>
        <point>
            <description>
            </description>
            <anchorInterface xlink:type="simple" xlink:href="#47"/>
        </point>
    </linkInstance>
    <linkInstance id="53">
        <description>
        </description>
        <point>
            <anchorInterface xlink:type="simple" xlink:href="#3"/>
        </point>
        <point>
            <description>
            </description>
            <anchorInterface xlink:type="simple" xlink:href="#51"/>
        </point>
    </linkInstance>
    <linkInstance id="54">
        <description>
        </description>
        <point>
            <anchorInterface xlink:type="simple" xlink:href="#45"/>
        </point>
        <point>
            <description>
            </description>
            <anchorInterface xlink:type="simple" xlink:href="#50"/>
        </point>
    </linkInstance>
    <linkInstance id="55">
        <description>
        </description>
        <point>
            <anchorInterface xlink:type="simple" xlink:href="#42"/>
        </point>
        <point>
            <description>
            </description>
            <anchorInterface xlink:type="simple" xlink:href="#48"/>
        </point>
    </linkInstance>
</archInstances>



