<?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>






