<?xml version="1.0" standalone="no"?>
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<entity name="example2" class="ptolemy.actor.TypedCompositeActor">
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="6.0-devel">
    </property>
    <property name="PN Director" class="ptolemy.domains.pn.kernel.PNDirector">
        <property name="timeResolution" class="ptolemy.moml.SharedParameter" value="1E-10">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:director:2:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.pn.kernel.PNDirector">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:2:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Director">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Director">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="{165, 50}">
        </property>
    </property>
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={154, 3, 1034, 742}, maximized=true}">
    </property>
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[761, 611]">
    </property>
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0">
    </property>
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{165.5, 305.5}">
    </property>
    <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This workflow parses some tabular data, extracts two different values,&#10;and reformats the data using an expression.&#10;The array accumulator combines the three lines of output into a single string.">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:436:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1199:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[205.0, 380.0]">
        </property>
    </property>
    <entity name="File To String Converter" class="org.geon.FileToString">
        <property name="fileOrURL" class="ptolemy.data.expr.FileParameter" value="http://www.cs.pdx.edu/~howe/cs410/testtable.txt">
        </property>
        <property name="numberOfLinesToSkip" class="ptolemy.data.expr.Parameter" value="0">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:143:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.geon.FileToString">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1002:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ConversionActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 180.0]">
        </property>
    </entity>
    <entity name="String Splitter" class="org.resurgence.actor.StringSplitter">
        <property name="Regular expression" class="ptolemy.data.expr.StringParameter" value="\t\w+">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:293:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringSplitter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1118:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataStringOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[380.0, 25.0]">
        </property>
    </entity>
    <entity name="String Splitter2" class="org.resurgence.actor.StringSplitter">
        <property name="Regular expression" class="ptolemy.data.expr.StringParameter" value="/[\w\s]+\n">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:293:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringSplitter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1118:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataStringOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[95.0, 190.0]">
        </property>
    </entity>
    <entity name="Display" class="ptolemy.actor.lib.gui.Display">
        <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10">
        </property>
        <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="40">
        </property>
        <property name="suppressBlankLines" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={180, 92, 428, 212}, maximized=false}">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:7:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.gui.Display">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:883:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#TextualOutput">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[620.0, 25.0]">
        </property>
    </entity>
    <entity name="Array To Sequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:31:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.sdf.lib.ArrayToSequence">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:907:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ArrayActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataArrayOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[190.0, 190.0]">
        </property>
    </entity>
    <entity name="Display2" class="ptolemy.actor.lib.gui.Display">
        <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10">
        </property>
        <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="40">
        </property>
        <property name="suppressBlankLines" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={134, 429, 428, 212}, maximized=false}">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:7:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.gui.Display">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:883:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#TextualOutput">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[520.0, 330.0]">
        </property>
    </entity>
    <entity name="Array To Sequence2" class="ptolemy.domains.sdf.lib.ArrayToSequence">
        <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:31:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.sdf.lib.ArrayToSequence">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:907:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ArrayActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataArrayOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[480.0, 25.0]">
        </property>
    </entity>
    <entity name="String Replace" class="ptolemy.actor.lib.string.StringReplace">
        <property name="pattern" class="ptolemy.actor.parameters.PortParameter" value="\w+\t">
        </property>
        <property name="replaceAll" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:98:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.string.StringReplace">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:972:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataStringOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[320.0, 280.0]">
        </property>
        <port name="pattern" class="ptolemy.actor.parameters.ParameterPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="replacement" class="ptolemy.actor.parameters.ParameterPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="stringToEdit" class="ptolemy.actor.parameters.ParameterPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
    </entity>
    <entity name="Expression" class="ptolemy.actor.lib.Expression">
        <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="value1+&quot; ----- &quot;+value2">
            <property name="_hide" class="ptolemy.data.expr.Parameter" value="true">
            </property>
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:75:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Expression">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:950:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#MathOperationActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
            </property>
            <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
            </property>
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[585.0, 150.0]">
        </property>
        <port name="value1" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
        </port>
        <port name="value2" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
        </port>
    </entity>
    <entity name="Display3" class="ptolemy.actor.lib.gui.Display">
        <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10">
        </property>
        <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="40">
        </property>
        <property name="suppressBlankLines" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={579, 226, 428, 212}, maximized=false}">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:7:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.gui.Display">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:883:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#TextualOutput">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[800.0, 250.0]">
        </property>
    </entity>
    <entity name="Sequence To Array" class="ptolemy.domains.sdf.lib.SequenceToArray">
        <property name="arrayLength" class="ptolemy.actor.parameters.PortParameter" value="3">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:33:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.sdf.lib.SequenceToArray">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:909:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ArrayActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataArrayOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[700.0, 135.0]">
        </property>
    </entity>
    <entity name="Array Accumulator" class="org.resurgence.actor.ArrayAccumulator">
        <property name="Element separator" class="ptolemy.data.expr.Parameter" value="&quot;\n&quot;">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:284:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.ArrayAccumulator">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1109:1">
            </property>
        </property>
        <property name="semanticType000" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ArrayActor">
        </property>
        <property name="semanticType111" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[666.3333740234375, 249.2325439453125]">
        </property>
    </entity>
    <relation name="relation" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[380.0, 205.0]">
        </vertex>
    </relation>
    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[445.0, 300.0]">
        </vertex>
    </relation>
    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[585.0, 105.0]">
        </vertex>
    </relation>
    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation9" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <link port="File To String Converter.output" relation="relation3"/>
    <link port="String Splitter.string" relation="relation"/>
    <link port="String Splitter.array" relation="relation6"/>
    <link port="String Splitter2.string" relation="relation3"/>
    <link port="String Splitter2.array" relation="relation4"/>
    <link port="Display.input" relation="relation5"/>
    <link port="Array To Sequence.input" relation="relation4"/>
    <link port="Array To Sequence.output" relation="relation"/>
    <link port="Display2.input" relation="relation7"/>
    <link port="Array To Sequence2.input" relation="relation6"/>
    <link port="Array To Sequence2.output" relation="relation5"/>
    <link port="String Replace.stringToEdit" relation="relation"/>
    <link port="String Replace.output" relation="relation7"/>
    <link port="Expression.output" relation="relation2"/>
    <link port="Expression.value1" relation="relation5"/>
    <link port="Expression.value2" relation="relation7"/>
    <link port="Display3.input" relation="relation9"/>
    <link port="Sequence To Array.input" relation="relation2"/>
    <link port="Sequence To Array.output" relation="relation8"/>
    <link port="Array Accumulator.array" relation="relation8"/>
    <link port="Array Accumulator.string" relation="relation9"/>
</entity>
