<?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="uves" class="ptolemy.actor.TypedCompositeActor">
    <property name="Rectangle6" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[270.0, 385.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="627.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="130.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_renderFirst" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
    </property>
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="9.1.devel">
    </property>
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={40, 35, 1623, 1010}, maximized=false}">
    </property>
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[1311, 858]">
    </property>
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0000000000000002">
    </property>
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{976.4999999999999, 248.9999999999999}">
    </property>
    <property name="DDF Director" class="ptolemy.domains.ddf.kernel.DDFDirector">
        <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
        </property>
        <property name="maximumReceiverCapacity" class="ptolemy.data.expr.Parameter" value="0">
        </property>
        <property name="runUntilDeadlockInOneIteration" class="ptolemy.data.expr.Parameter" value="false">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Gang Zhou</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;            &lt;p&gt; The dynamic dataflow (DDF) domain is a superset of the synchronous&#10;            dataflow(SDF) and Boolean dataflow(BDF) domains. In the SDF domain,&#10;            an actor consumes and produces a fixed number of tokens per firing.&#10;            This static information makes possible compile-time scheduling. In the&#10;            DDF domain, there are few constraints on the production and consumption&#10;            behavior of actors, and the schedulers make no attempt to construct a&#10;            compile-time schedule. Instead, each actor has a set of firing rules&#10;            (patterns) and can be fired if one of them is satisfied, i.e., one&#10;            particular firing pattern forms a prefix of sequences of unconsumed&#10;            tokens at input ports. The canonical actors in the DDF domain include&#10;            Select and Switch, which consume or produce tokens on different channels&#10;            based on the token received from the control port. (In practice, use&#10;            DDFSelect and DDFBooleanSelect in the DDF-specific library instead of&#10;            Select and BooleanSelect in the regular FlowControl library; however,&#10;            Switch and BooleanSwitch in the regular FlowControl library can be&#10;            used in DDF domain.)&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The dynamic scheduler implemented in this director fires all enabled&#10;            and non-deferrable actors once in a basic iteration. A deferrable&#10;            actor is one that will not help one of the downstream actors become&#10;            enabled because that downstream actor either already has enough tokens on&#10;            the channel connecting those two actors or is waiting for tokens on&#10;            another channel. If no actor fires so far, which means there is no&#10;            enabled and non-deferrable actor, then among all enabled and deferrable&#10;            actors, this director fires those which have the smallest maximum number&#10;            of tokens on their output channels which satisfy the demand of destination&#10;            actors. If still no actor fires, then there is no enabled actor. A user&#10;            can treat several such basic iterations as a single iteration by adding&#10;            a parameter with name &lt;i&gt;requiredFiringsPerIteration&lt;/i&gt; to an actor&#10;            (which is often a sink actor or an actor directly connected to output port&#10;            of the composite actor) and specifying the number of times this actor must&#10;            be fired in a single iteration. If the value of the parameter&#10;            &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; is a BooleanToken with value true,&#10;            one single iteration consists of repeating the basic iteration until&#10;            deadlock is reached (thus overriding the previous definition of one&#10;            iteration), which is the status of the model where all active&#10;            actors under the control of this director are unable to fire because&#10;            their firing rules are not satisfied. However, they may be able to fire&#10;            again during next iteration when tokens are transferred in from an outside&#10;            domain. Note &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; can be set to true&#10;            only when this director is not on the top level.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The algorithm implementing one basic iteration goes like this:&#10;            &lt;pre&gt;&#10;            E = set of enabled actors&#10;            D = set of deferrable enabled actors&#10;            &lt;/pre&gt;&#10;            One basic(default) iteration consists of:&#10;            &lt;pre&gt;&#10;            if (E\D != empty set) {&#10;            fire (E\D)&#10;            } else if (D != empty set) {&#10;            fire minimax(D)&#10;            } else {&#10;            declare deadlock&#10;            }&#10;            &lt;/pre&gt;&#10;            The function &quot;minimax(D)&quot; returns a subset of D with the smallest&#10;            maximum number of tokens on their output channels which satisfy the&#10;            demand of destination actors.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Note that any SDF model can be run with a DDF Director. However, the&#10;            notion of iteration is different. One could try to imitate the SDF&#10;            iteration in the DDF domain by controlling the number of firings in one&#10;            iteration for some actors, such as requiring a plotter to plot a fixed&#10;            number of points in each iteration.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; In the DDF domain, the firing rule of any actor is specified by the token&#10;            consumption rates of its input ports. A general DDF actor could change&#10;            the consumption rates of its input ports after each firing of this actor.&#10;            For multiports, an array token could be used to specify different rates&#10;            for different channels connected to the same multiport. Note that in SDF,&#10;            all channels connected to the same multiport have the same rate.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Based on DDFSimpleSched in Ptolemy Classic, by Edward Lee.&#10;            See E. A. Lee et al., &quot;The Almagest,&quot; documentation for Ptolemy Classic,&#10;            Vol. 1, Chapter 7, 1997.&lt;/p&gt;&#10;           &#10;        </configure></property>
<property name="prop:maximumReceiverCapacity" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A Parameter representing the maximum capacity of each receiver controlled by this director. This is an integer that defaults to 0, which means the queue in each receiver is unbounded. To specify bounded queues, set this to a positive integer. </configure></property>
<property name="prop:iterations" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify the number of times a workflow is iterated. By default, this parameter is set to &quot;0&quot;. Note that &quot;0&quot; does not mean &quot;no iterations.&quot; Rather, &quot;0&quot; means that the workflow will iterate forever. Values greater than zero specify the actual number of times the director should execute the entire workflow. </configure></property>
<property name="prop:runUntilDeadlockInOneIteration" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A parameter indicating whether one iteration consists of repeated basic iterations until deadlock. If this parameter is true, the model will be executed until deadlock in one iteration. The default value is a BooleanToken with the value false. It cannot be set to true if this director is at the top level.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:director:5:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.ddf.kernel.DDFDirector">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:5:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Director">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Director">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[70.0, -260.0]">
        </property>
    </property>
    <property name="ESORexArgs" class="ptolemy.data.expr.StringParameter" value="--suppress-prefix=TRUE">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[675.0, 1190.0]">
        </property>
    </property>
    <property name="END_PRODUCTS_SUBDIR" class="ptolemy.data.expr.StringParameter" value="2013-09-26T17:08:24/UVES.2008-10-26T00:24:47.790">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:37445:43:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[935.0, 1190.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
    </property>
    <property name="GLOBAL_TIMESTAMP" class="ptolemy.data.expr.StringParameter" value="2013-09-26T17:08:24">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[370.0, 1190.0]">
        </property>
    </property>
    <property name="Annotation3" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="38">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4, 0.7, 0.3, 1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="UVES Workflow For Point Source Echelle Data (v. @VERSION@)">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:2479:34:2">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[380.0, -270.0]">
        </property>
    </property>
    <property name="Rectangle" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[35.0, 385.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="225.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="130.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Rectangle2" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[905.0, 385.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="345.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="130.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Rectangle4" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="{1425.0, 385.0}">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="183.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="130.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Rectangle5" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1260.0, 385.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="157.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="130.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Annotation4" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="24">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="         Step 1: &#10;Data Organisation &#10;    and Selection">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[40.0, 410.0]">
        </property>
    </property>
    <property name="Annotation5" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="24">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="              Step 3:&#10;Wavelength and Response &#10;           Calibration">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[915.0, 410.0]">
        </property>
    </property>
    <property name="Annotation6" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="24">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="         Step 2: &#10;Creation of Master&#10; Calibration Files">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[470.0, 410.0]">
        </property>
    </property>
    <property name="Annotation7" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="24">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="   Step 4: &#10; Spectrum&#10;Extraction">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1275.0, 410.0]">
        </property>
    </property>
    <property name="Annotation8" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="24">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="    Step 5: &#10;    Output&#10;Organisation&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1440.0, 410.0]">
        </property>
    </property>
    <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:467:12">
    </property>
    <property name="Annotation21" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="common master calibrations:&#10;bias,flat,dark,position of orders">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[790.0, 950.0]">
        </property>
    </property>
    <property name="Annotation22" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="extinction coefficients, master response&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[720.0, 1070.0]">
        </property>
    </property>
    <property name="Annotation23" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="arc lamp spectra, line table&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[615.0, 1010.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="Annotation24" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="tabulated standard star flux, extinction coefficients&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:15165:17: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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[650.0, 1030.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
        </property>
    </property>
    <property name="Annotation25" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="observed standard star spectra&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[685.0, 1050.0]">
        </property>
    </property>
    <property name="Annotation26" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="location of spectrum&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[850.0, 820.0]">
        </property>
    </property>
    <property name="Annotation27" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="master bias">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[390.0, 775.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="Annotation28" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="master dark">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[490.0, 670.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="Annotation29" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="master&#10;flat, dflat">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[860.0, 600.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="Polygon" class="ptolemy.vergil.kernel.attributes.ResizablePolygonAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, 770.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="1.0">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 0.0, 1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="11.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="12.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0,0.0,0.0,1.0}">
        </property>
        <property name="vertices" class="ptolemy.data.expr.Parameter" value="{0.0, 0.0, 0,10,10,5}">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Polygon attribute renders a polygon on the Workflow canvas. Single-click the polygon to drag the resize handles and adjust the shape's size, or double-click the polygon to customize its height, width, line width, color, and fill color.&lt;/p&gt;&#10;&#10;&lt;p&gt;The vertices parameter is an array of doubles that specify the vertices of the polygon in the form {x1, y1, x2, y2, ... }. The width and height parameters specify the overall width and height. The polygon will be scaled to fit the specified width and height.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:vertices" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An array of doubles that specify the vertices of the polygon in the form {x1, y1, x2, y2, ... } The default values specify a rhombus.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:433:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.ResizablePolygonAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1196:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Polygon2" class="ptolemy.vergil.kernel.attributes.ResizablePolygonAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[725.0, 770.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="1.0">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 0.0, 1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="11.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="12.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0,0.0,0.0,1.0}">
        </property>
        <property name="vertices" class="ptolemy.data.expr.Parameter" value="{0.0, 0.0, 0,10,10,5}">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Polygon attribute renders a polygon on the Workflow canvas. Single-click the polygon to drag the resize handles and adjust the shape's size, or double-click the polygon to customize its height, width, line width, color, and fill color.&lt;/p&gt;&#10;&#10;&lt;p&gt;The vertices parameter is an array of doubles that specify the vertices of the polygon in the form {x1, y1, x2, y2, ... }. The width and height parameters specify the overall width and height. The polygon will be scaled to fit the specified width and height.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:vertices" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An array of doubles that specify the vertices of the polygon in the form {x1, y1, x2, y2, ... } The default values specify a rhombus.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:433:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.ResizablePolygonAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1196:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org/ns/:2479:15:19:urn:lsid:kepler-project.org/ns/:5968:14:430:urn:lsid:kepler-project.org/ns/:5968:89:487:urn:lsid:kepler-project.org/ns/:5968:128:105:urn:lsid:kepler-project.org/ns/:10733:22:38:urn:lsid:kepler-project.org/ns/:12415:2:153:urn:lsid:kepler-project.org/ns/:12485:6:15:urn:lsid:kepler-project.org/ns/:12486:8:15:urn:lsid:kepler-project.org/ns/:12555:12:54:urn:lsid:kepler-project.org/ns/:13180:3:80:urn:lsid:kepler-project.org/ns/:13637:2:61:urn:lsid:kepler-project.org/ns/:13643:3:137:urn:lsid:kepler-project.org/ns/:14093:2:16:urn:lsid:kepler-project.org/ns/:14102:4:4:urn:lsid:kepler-project.org/ns/:14164:3:13:urn:lsid:kepler-project.org/ns/:14170:5:169:urn:lsid:kepler-project.org/ns/:15165:18:301:urn:lsid:kepler-project.org/ns/:16482:4:298:urn:lsid:kepler-project.org/ns/:16989:5:397:urn:lsid:kepler-project.org/ns/:17547:2:189:urn:lsid:kepler-project.org/ns/:18725:3:7:urn:lsid:kepler-project.org/ns/:24723:2:34:urn:lsid:kepler-project.org/ns/:25047:4:38:urn:lsid:kepler-project.org/ns/:25047:8:7:urn:lsid:kepler-project.org/ns/:25158:9:20:urn:lsid:kepler-project.org/ns/:26405:22:22:urn:lsid:kepler-project.org/ns/:27444:3:17:urn:lsid:kepler-project.org/ns/:31991:12:18:urn:lsid:kepler-project.org/ns/:31989:35:7:urn:lsid:kepler-project.org/ns/:31991:124:130:urn:lsid:kepler-project.org/ns/:36859:335:20:urn:lsid:kepler-project.org/ns/:37445:24:72:urn:lsid:kepler-project.org/ns/:41649:434:77">
    </property>
    <property name="Annotation30" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.2,0.6,1.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="observed raw science spectra">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13180:16:3">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[750.0, 1090.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
        </property>
    </property>
    <property name="Rectangle14" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1260.0, 535.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="114.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="72.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="0.0">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13961:219:11">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="_renderFirst" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
    </property>
    <property name="Rectangle15" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1105.0, 635.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="114.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="72.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="0.0">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13961:219:11">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="_renderFirst" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
    </property>
    <property name="Rectangle16" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[945.0, 735.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="114.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="72.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="0.0">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13961:219:11">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="_renderFirst" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
    </property>
    <property name="Rectangle17" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[575.0, 695.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="114.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="72.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="0.0">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13961:219:11">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="_renderFirst" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
    </property>
    <property name="Setup Directory" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[5.0, 1175.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="1654.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="26.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:12:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1:urn:lsid:kepler-project.org/ns/:13961:216:9">
        </property>
    </property>
    <property name="Annotation31" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="12">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Auxilliary and debug parameters, please do not change:">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13961:215:4">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[15.0, 1180.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1:urn:lsid:kepler-project.org/ns/:15166:85:1">
        </property>
    </property>
    <property name="N_SELECTED_DATASETS" class="ptolemy.data.expr.StringParameter" value="1">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31991:125:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1485.0, 1190.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
    </property>
    <property name="END_PRODUCTS_DIR" class="ptolemy.data.expr.FileParameter" value="$ROOT_DATA_DIR/reflex_end_products">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[540.0, 150.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
    </property>
    <property name="Rectangle7" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[-25.0, -195.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="520.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="66.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Annotation20" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="18">
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Workflow Instructions&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[35.0, -175.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="&#10;To run this workflow on the demo data:&#10;   - Turn on highlighting. Choose &quot;Tools&quot;-&gt; &quot;Animate at Runtime&quot;&#10;     from top menu and set it to &quot;1&quot;.&#10;   - Press the &quot;Run&quot; button OR cntrl-R to start the workflow.&#10;&#10;To run on a different data set:&#10;   - Click on ROOT_DATA_DIR and set as appropriate.&#10;     All subdirectories of RAWDATA_DIR will be searched for data.&#10;   - If desired, change END_PRODUCTS_DIR.&#10;   - Press the &quot;Run&quot; button OR cntrl-R to start the workflow.&#10;&#10;To monitor the progress of the workflow in more detail:&#10;   - Open &quot;Window&quot; -&gt; &quot;Runtime Window&quot; in top menu before&#10;      starting the workflow.&#10;&#10;Workflow tutorial and Uves pipeline manual can be found here:&#10;http://www.eso.org/sci/software/pipelines/#reflex_workflows&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[-25.0, -135.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="Rectangle3" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[505.0, -190.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="469.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="66.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Annotation13" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="16">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Working Directories:&#10;&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[605.0, -5.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="BOOKKEEPING_DIR" class="ptolemy.data.expr.FileParameter" value="$ROOT_DATA_DIR/reflex_book_keeping/uves">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, 30.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
    </property>
    <property name="Annotation12" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="18">
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Setup Directories&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[560.0, -175.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="RAWDATA_DIR" class="ptolemy.data.expr.FileParameter" value="$ROOT_DATA_DIR/reflex_input/uves">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, -45.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
    </property>
    <property name="Annotation14" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="16">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Output:&#10;&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[650.0, 105.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="LOGS_DIR" class="ptolemy.data.expr.FileParameter" value="$ROOT_DATA_DIR/reflex_logs/uves">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, 60.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
    </property>
    <property name="TMP_PRODUCTS_DIR" class="ptolemy.data.expr.FileParameter" value="$ROOT_DATA_DIR/reflex_tmp_products/uves">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, 90.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
    </property>
    <property name="Annotation11" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="16">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Input:&#10;&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[650.0, -120.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="CALIB_DATA_DIR" class="ptolemy.data.expr.FileParameter" value="CALIB_DATA_PATH_TO_REPLACE/uves-@VERSION@">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13643:7:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, -15.0]">
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
    </property>
    <property name="ROOT_DATA_DIR" class="ptolemy.data.expr.FileParameter" value="ROOT_DATA_PATH_TO_REPLACE">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>yang zhao, edward lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>none</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;</configure></property>
<property name="prop:fileParameter" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The specified file or URL.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:422:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.FileParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1186:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 1.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:#00BB00" y="20">-F-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, -75.0]">
        </property>
        <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The FileParameter specifies a file or URL. The value of the parameter is a string that may contain references to variables within scope (i.e., variables defined at the same level of the hierarchy or higher) using the $ID ${ID}, or $(ID) syntax. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the FileParameter to better identify the file it specifies (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the specified file using the $NAME syntax (e.g., $FileParameter or $SourceFile).&lt;/p&gt;&#10;&#10;&lt;p&gt;File names can be specified in several ways:&lt;/p&gt;&#10;&#10;&lt;ol&gt;&#10;&lt;li&gt;As a full path, which can be selected via the Browse option.&lt;/li&gt;&#10;&#10;&lt;li&gt;As a path relative to a base, often the path of the parent workflow. Files specified relative to a base can be kept in the same directory as the parent workflow file, and should be moved together with the workflow. Note: workflows must be saved as MOML files before the workflow path can be used as a base. If the workflow has not been saved to a file, then the class path is used for identifying relative file names. &lt;/li&gt;&#10;&#10;&lt;li&gt;A path that contains references to system-defined strings via the $NAME syntax (e.g., $CWD or $HOME). The following strings may be useful (to see the values of these strings, select &quot;Check System Settings&quot; from the Tools menu in the Toolbar):&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; $CWD&lt;/td&gt;&lt;td&gt;The current working directory &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;$HOME&lt;/td&gt;&lt;td&gt;The user's home directory&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt; $TMPDIR&lt;/td&gt;&lt;td&gt;The temporary directory&lt;/td&gt;&lt;/tr&gt;&#10;     &lt;/table&gt;                   &#10;&lt;/li&gt;&#10;&lt;li&gt;A special file name. The following file names are understood:&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;td&gt; System.in &lt;/td&gt;&lt;td&gt; Standard input &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;System.out&lt;/td&gt;&lt;td&gt;Standard output&lt;/td&gt;&lt;/tr&gt;&#10; &lt;/table&gt;  &#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="yang zhao, edward lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="none">
            </property>
            <property name="fileParameter (parameter)" class="ptolemy.data.expr.StringParameter" value="The specified file or URL.">
            </property>
        </property>
    </property>
    <property name="Annotation15" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="18">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Global Parameters&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1005.0, -165.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="FITS_VIEWER" class="ptolemy.data.expr.StringParameter" value="fv">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1025.0, 60.0]">
        </property>
    </property>
    <property name="RecipeFailureMode" class="ptolemy.data.expr.StringParameter" value="Ask">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16482:51:3">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1015.0, -95.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
    </property>
    <property name="EraseDirs" class="ptolemy.data.expr.StringParameter" value="false">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1020.0, 0.0]">
        </property>
    </property>
    <property name="Rectangle8" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1000.0, -190.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="627.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="66.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:434:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
    </property>
    <property name="Annotation2" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Change &quot;EraseDirs&quot; to 'true' to erase &#10;BOOKKEEPING_DIR, TMP_PRODUCTS_DIR and LOGS_DIR&#10;each time the workflow is run (Lazy Mode will not work anymore)">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:18725:4:2">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1185.0, -15.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
        </property>
    </property>
    <property name="Annotation19" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Global parameter for the behaviour when a recipe fails.&#10;'Ask' means that each time a recipe fails,  the choice to &#10;continue or stop wil be presented. 'Continue' means that &#10;the workflow will ignore errors and continue. `Stop' means&#10;the workflow will stop. &#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:18725:2:3">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1185.0, -105.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1:urn:lsid:kepler-project.org/ns/:16482:52:1:urn:lsid:kepler-project.org/ns/:16989:16:1">
        </property>
    </property>
    <property name="Annotation10" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="fits viewer to use for the&#10;inspection of input/output&#10;products&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1185.0, 50.0]">
        </property>
    </property>
    <property name="Rectangle18" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1295.0, -170.0]">
        </property>
        <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="width" class="ptolemy.data.expr.Parameter" value="62.0">
        </property>
        <property name="height" class="ptolemy.data.expr.Parameter" value="39.0">
        </property>
        <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0,0.5,0.0,1.0}">
        </property>
        <property name="rounding" class="ptolemy.data.expr.Parameter" value="0.0">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:11:3">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1:urn:lsid:kepler-project.org/ns/:13961:219:11">
        </property>
        <property name="_renderFirst" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
    </property>
    <property name="Annotation16" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="= actor with &#10;   interactive option&#10;&#10;">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1395.0, -180.0]">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward A. Lee">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
            <property name="textSize (parameter)" class="ptolemy.data.expr.StringParameter" value="The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.">
            </property>
            <property name="textColor (parameter)" class="ptolemy.data.expr.StringParameter" value="The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}">
            </property>
            <property name="fontFamily (parameter)" class="ptolemy.data.expr.StringParameter" value="The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.">
            </property>
            <property name="bold (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be bold. By default, type will not be bold.">
            </property>
            <property name="italic (parameter)" class="ptolemy.data.expr.StringParameter" value="Select to indicate that the type should be italics. By default, type will not be italicized.">
            </property>
            <property name="text (parameter)" class="ptolemy.data.expr.StringParameter" value="The text of the annotation.">
            </property>
        </property>
    </property>
    <property name="GlobalPlotInteractivity" class="ptolemy.data.expr.StringParameter" value="true">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:56:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1020.0, 160.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:421:1:urn:lsid:kepler-project.org/ns/:38254:6:1">
        </property>
    </property>
    <property name="DataSelectionMethod" class="ptolemy.data.expr.StringParameter" value="Interactive">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:43955:86:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1020.0, 210.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:421:1">
        </property>
    </property>
    <property name="Annotation9" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Selection method for the Data Set Chooser">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:43955:85:3">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1275.0, 200.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
        </property>
    </property>
    <property name="ProvenanceExplorerEnabled" class="ptolemy.data.expr.StringParameter" value="true">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:60:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
        </property>
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
        </property>
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
            </property>
        </property>
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
            <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1020.0, 245.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:421:1:urn:lsid:kepler-project.org/ns/:43955:86:1">
        </property>
    </property>
    <property name="Annotation17" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Show Provenance Explorer window">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:61: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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1275.0, 235.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1:urn:lsid:kepler-project.org/ns/:43955:85:3">
        </property>
    </property>
    <property name="Annotation18" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
        </property>
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
        </property>
        <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
        </property>
        <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Disable interactive GUIs for the whole workflow&#10;Overrides in subworkflows have precedence.">
            <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                </property>
                <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                </property>
            </property>
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:38254:7:3">
        </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1275.0, 155.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
        </property>
    </property>
    <entity name="SofCombiner2" class="org.eso.SofCombiner">
        <property name="_location" class="ptolemy.kernel.util.Location" value="[885.0, 905.0]">
        </property>
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <port name="sof in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <port name="sof out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="multiport"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
    </entity>
    <entity name="SofCombiner3" class="org.eso.SofCombiner">
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1130.0, 700.0]">
        </property>
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <port name="sof in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <port name="sof out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="multiport"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
    </entity>
    <entity name="Master Dark Comput" class="ptolemy.actor.TypedCompositeActor">
        <display name="Master Dark Creation"/>
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14170:6:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[414.25, 644.75]">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={0, 264, 1530, 922}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[1220, 771]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0069218279703">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{610.8067101689795, 556.8499783117078}">
        </property>
        <property name="EnableProcessing" class="ptolemy.data.expr.StringParameter" value="true">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{740.0, 725.0}">
            </property>
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This part of the subworkflow takes care&#10;of deciding whether the dark recipe should be&#10;triggered or not, depending on the existence&#10;of raw dark frames.">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[435.0, 825.0]">
            </property>
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Yuhong Xiong">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:23:141:urn:lsid:kepler-project.org/ns/:13180:17:2:urn:lsid:kepler-project.org/ns/:13637:8:6:urn:lsid:kepler-project.org/ns/:14093:4:2">
        </property>
        <port name="sof in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{50.0, 330.0}">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <port name="sof out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{850.0, 500.0}">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <port name="sof opt" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[45.0, 620.0]">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
            </property>
        </port>
        <entity name="Boolean Switch" class="ptolemy.actor.lib.BooleanSwitch">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Steve Neuendorffer</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The BooleanSwitch actor reads a value of any type, as well as a Boolean token that is used as a control. If the Boolean token is true, the actor outputs the received value to the trueOutput port; if the Boolean token is false, the actor outputs the received value to the falseOutput port.&#10;If the actor has never received a value on the control port, then the actor will output to the falseOutput port.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor only works under certain directors. It will not work under an SDF Director, but it will under a PN Director, for example.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts tokens of any type.</configure></property>
<property name="port:falseOutput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the input token when the control is false.</configure></property>
<property name="port:trueOutput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the input token when the control is true.</configure></property>
<property name="port:control" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts a Boolean token used to select which output port (trueOutput or falseOutput) to broadcast.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:54:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.BooleanSwitch">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:930:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#BooleanControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#BooleanControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{180.0, 430.0}">
            </property>
            <port name="control" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="DDF Boolean Select" class="ptolemy.domains.ddf.lib.DDFBooleanSelect">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Gang Zhou</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt; A type polymorphic select with boolean valued control for use in&#10; the DDF domain. In the first iteration, an input token at the&#10; &lt;i&gt;control&lt;/i&gt; port is read and its value is noted. In the second&#10; iteration, if the &lt;i&gt;control&lt;/i&gt; input read from the previous&#10; iteration is true, then an input token at the &lt;i&gt;trueInput&lt;/i&gt; port&#10; is read and sent to the output. Likewise with a false &lt;i&gt;control&lt;/i&gt;&#10; input and the &lt;i&gt;falseInput&lt;/i&gt; port. It alternates between these&#10; two kinds of iterations until stopped. The &lt;i&gt;control&lt;/i&gt; port must&#10; receive Boolean Tokens. The &lt;i&gt;trueInput&lt;/i&gt; and &lt;i&gt;falseInput&lt;/i&gt;&#10; ports may receive Tokens of any type. Because tokens are immutable,&#10; the same Token is sent to the output, rather than a copy.&lt;/p&gt;&#10; &lt;p&gt;&#10; Note this actor sends an output token every two iterations. Contrast&#10; this with BooleanSelect which sends an output token every iteration.&#10; &lt;/p&gt;&#10;        </configure></property>
<property name="port:falseInput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Input for tokens on the false path. The port type can be any type.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The output port.  The type is at least the type of &lt;i&gt;trueInput&lt;/i&gt; and &lt;i&gt;falseInput&lt;/i&gt;. </configure></property>
<property name="port:trueInput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Input for tokens on the true path. The port type can be any type.</configure></property>
<property name="port:control" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Input that selects one of the other input ports. The type is boolean.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:526:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.ddf.lib.DDFBooleanSelect">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:526:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#BooleanControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#BooleanControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{710.0, 450.0}">
            </property>
            <port name="trueInput" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="falseInput" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="control" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="Empty SOF" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14093:3:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[375.0, 485.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:5968:47:7:urn:lsid:kepler-project.org/ns/:13637:9:1">
            </property>
        </entity>
        <entity name="Logic Function" class="ptolemy.actor.lib.logic.LogicFunction">
            <display name="And"/>
            <property name="function" class="ptolemy.kernel.util.StringAttribute" value="and">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Paul Whitaker</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Logic Function actor reads Boolean tokens, performs a specified logical operation (e.g., &quot;and&quot; or  &quot;xnor&quot;), and outputs the evaluated result as a Boolean token.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a logic function with the function parameter. The following logic functions may be performed:&lt;/p&gt;&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;th&gt;Logic Function&#10;&lt;/th&gt;&lt;th&gt;Definition&lt;/th&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;and&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;and&quot; operator (the default)&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;or&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;or&quot; operator.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xor&lt;/td&gt;&lt;td&gt;The logical &quot;xor&quot; operator. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nand&lt;/td&gt;&lt;td&gt;The logical &quot;nand&quot; operator. Equivalent to the negation of &quot;and&quot;. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nor&lt;/td&gt;&lt;td&gt;The logical &quot;nor&quot; operator. Equivalent to the negation of &quot;or&quot;.&#10;&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xnor&lt;/td&gt;&lt;td&gt;The logical &quot;xnor&quot; operator. Equivalent to the negation of &quot;xor&quot;.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor consumes at most one token on each input channel. It does not require that each input channel have a token upon firing. As long as one channel contains a token, the actor will produce output. If no input tokens are available, then no output is produced.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts Boolean tokens.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts Boolean tokens representing the evaluated input.</configure></property>
<property name="prop:function" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The logical operation to perform: and, or, xor, nand, nor, xnor. For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:67:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.logic.LogicFunction">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:942:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[405.0, 765.0]">
            </property>
        </entity>
        <entity name="SofCombiner" class="org.eso.SofCombiner">
            <property name="_location" class="ptolemy.kernel.util.Location" value="{130.0, 355.0}">
            </property>
        </entity>
        <entity name="uves_cal_mdark_1" class="org.eso.RecipeExecuter">
            <display name="uves_cal_mdark"/>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="DARK_BLUE,DARK_RED,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[460.0, 315.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="String Constant4" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$EnableProcessing">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[190.0, 770.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="String Compare" class="ptolemy.actor.lib.string.StringCompare">
            <property name="function" class="ptolemy.data.expr.Parameter" value="equals">
            </property>
            <property name="ignoreCase" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="firstString" class="ptolemy.actor.parameters.PortParameter" value="true">
            </property>
            <property name="secondString" class="ptolemy.actor.parameters.PortParameter" value="true">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Vinay Krishnan, Daniel Lazaro Cuadrado (contributor: Edward A. Lee)</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;&lt;p&gt;The StringCompare actor reads two strings and compares them using a specified comparison function. The actor outputs true if the strings satisfy the comparison criteria, or false if not.&lt;/p&gt;&#10;&#10;&lt;p&gt;The comparison functions are specified with the function parameter: &lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;equals: Output true if the strings are equal (the default). &lt;/li&gt;&#10;&lt;li&gt;startsWith: Output true if the first string starts with second string. &lt;/li&gt;&#10;&lt;li&gt;endsWith: Output true if the first string ends with the second string. &lt;/li&gt;&#10;&lt;li&gt;contains: Output true if the first string contains the second string. &lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;p&gt;Strings will be read from the input ports if they are connected; otherwise strings are read from the parameters.&lt;/p&gt;</configure></property>
<property name="port:secondString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts the second string.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the result of the comparison (either true or false).</configure></property>
<property name="port:firstString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts the first string.</configure></property>
<property name="prop:function" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The comparison function (equals, startsWith, endsWith, contains). The default is &quot;equals&quot;.</configure></property>
<property name="prop:secondString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The second string.</configure></property>
<property name="prop:ignoreCase" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether to ignore case. By default, the actor is case-sensitive. Select the parameter to ignore case.</configure></property>
<property name="prop:firstString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The first string.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:93:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.string.StringCompare">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:967:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#StatisticalOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[280.0, 830.0]">
            </property>
        </entity>
        <entity name="IsSofEmpty" class="org.eso.IsSofEmpty">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[170.0, 600.0]">
            </property>
        </entity>
        <entity name="String Constant2" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[145.0, 860.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="Logic Function2" class="ptolemy.actor.lib.logic.LogicFunction">
            <display name="Not"/>
            <property name="function" class="ptolemy.kernel.util.StringAttribute" value="nand">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Paul Whitaker</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Logic Function actor reads Boolean tokens, performs a specified logical operation (e.g., &quot;and&quot; or  &quot;xnor&quot;), and outputs the evaluated result as a Boolean token.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a logic function with the function parameter. The following logic functions may be performed:&lt;/p&gt;&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;th&gt;Logic Function&#10;&lt;/th&gt;&lt;th&gt;Definition&lt;/th&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;and&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;and&quot; operator (the default)&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;or&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;or&quot; operator.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xor&lt;/td&gt;&lt;td&gt;The logical &quot;xor&quot; operator. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nand&lt;/td&gt;&lt;td&gt;The logical &quot;nand&quot; operator. Equivalent to the negation of &quot;and&quot;. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nor&lt;/td&gt;&lt;td&gt;The logical &quot;nor&quot; operator. Equivalent to the negation of &quot;or&quot;.&#10;&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xnor&lt;/td&gt;&lt;td&gt;The logical &quot;xnor&quot; operator. Equivalent to the negation of &quot;xor&quot;.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor consumes at most one token on each input channel. It does not require that each input channel have a token upon firing. As long as one channel contains a token, the actor will produce output. If no input tokens are available, then no output is produced.&lt;/p&gt;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts Boolean tokens representing the evaluated input.</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts Boolean tokens.</configure></property>
<property name="prop:function" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The logical operation to perform: and, or, xor, nand, nor, xnor. For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:67:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.logic.LogicFunction">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:942:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[285.0, 600.0]">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The Logic Function actor reads Boolean tokens, performs a specified logical operation (e.g., &quot;and&quot; or  &quot;xnor&quot;), and outputs the evaluated result as a Boolean token.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a logic function with the function parameter. The following logic functions may be performed:&lt;/p&gt;&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;th&gt;Logic Function&#10;&lt;/th&gt;&lt;th&gt;Definition&lt;/th&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;and&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;and&quot; operator (the default)&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;or&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;or&quot; operator.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xor&lt;/td&gt;&lt;td&gt;The logical &quot;xor&quot; operator. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nand&lt;/td&gt;&lt;td&gt;The logical &quot;nand&quot; operator. Equivalent to the negation of &quot;and&quot;. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nor&lt;/td&gt;&lt;td&gt;The logical &quot;nor&quot; operator. Equivalent to the negation of &quot;or&quot;.&#10;&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xnor&lt;/td&gt;&lt;td&gt;The logical &quot;xnor&quot; operator. Equivalent to the negation of &quot;xor&quot;.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor consumes at most one token on each input channel. It does not require that each input channel have a token upon firing. As long as one channel contains a token, the actor will produce output. If no input tokens are available, then no output is produced.&lt;/p&gt;">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Paul Whitaker">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="function (parameter)" class="ptolemy.data.expr.StringParameter" value="The logical operation to perform: and, or, xor, nand, nor, xnor. For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.">
                </property>
                <property name="input (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that accepts Boolean tokens.">
                </property>
                <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts Boolean tokens representing the evaluated input.">
                </property>
            </property>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[335.0, 380.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[586.390625, 379.515625]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SofCreator" class="org.eso.SofCreator">
            <property name="Default Category" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="Filename Pattern" class="ptolemy.data.expr.StringParameter" value="">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>It reads the content of a directory and creates an SoF</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCreator reads all the FITS files contained in a directory and creates an SoF: the file category is based on the keyword PRO.CATG or DO.CATG. If both are missing the Default Category is used.</configure></property>
<property name="port:sof" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the output sof</configure></property>
<property name="port:data dir" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input dir</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:Default Category" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the default category to be used if none is defined in the file.</configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:906:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCreator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[470.0, 460.0]">
            </property>
            <port name="data dir" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
        </entity>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation13" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[480.0, 555.0]">
            </vertex>
        </relation>
        <relation name="relation16" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[90.0, 620.0]">
            </vertex>
        </relation>
        <relation name="relation17" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation5" 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>
        <relation name="relation10" 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="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation14" 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="relation15" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation11" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation18" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation19" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <link port="sof in" relation="relation17"/>
        <link port="sof out" relation="relation7"/>
        <link port="sof opt" relation="relation"/>
        <link port="Boolean Switch.input" relation="relation16"/>
        <link port="Boolean Switch.control" relation="relation13"/>
        <link port="Boolean Switch.trueOutput" relation="relation14"/>
        <link port="Boolean Switch.falseOutput" relation="relation5"/>
        <link port="DDF Boolean Select.trueInput" relation="relation15"/>
        <link port="DDF Boolean Select.falseInput" relation="relation19"/>
        <link port="DDF Boolean Select.control" relation="relation13"/>
        <link port="DDF Boolean Select.output" relation="relation7"/>
        <link port="Empty SOF.output" relation="relation4"/>
        <link port="Empty SOF.trigger" relation="relation5"/>
        <link port="Logic Function.input" relation="relation2"/>
        <link port="Logic Function.input" relation="relation12"/>
        <link port="Logic Function.output" relation="relation13"/>
        <link port="SofCombiner.sof in" relation="relation17"/>
        <link port="SofCombiner.sof in" relation="relation"/>
        <link port="SofCombiner.sof out" relation="relation16"/>
        <link port="uves_cal_mdark_1.sof in" relation="relation3"/>
        <link port="uves_cal_mdark_1.sof out" relation="relation11"/>
        <link port="String Constant4.output" relation="relation9"/>
        <link port="String Constant4.trigger" relation="relation"/>
        <link port="String Compare.firstString" relation="relation9"/>
        <link port="String Compare.secondString" relation="relation10"/>
        <link port="String Compare.output" relation="relation12"/>
        <link port="IsSofEmpty.sof in" relation="relation"/>
        <link port="IsSofEmpty.is empty" relation="relation8"/>
        <link port="String Constant2.output" relation="relation10"/>
        <link port="String Constant2.trigger" relation="relation"/>
        <link port="Logic Function2.input" relation="relation8"/>
        <link port="Logic Function2.output" relation="relation2"/>
        <link port="SofSplitter.sof in" relation="relation14"/>
        <link port="SofSplitter.sof out" relation="relation3"/>
        <link port="SofSplitter.#groups" relation="relation18"/>
        <link port="SofAccumulator.sof in" relation="relation11"/>
        <link port="SofAccumulator.#groups" relation="relation18"/>
        <link port="SofAccumulator.sof out" relation="relation15"/>
        <link port="SofCreator.data dir" relation="relation4"/>
        <link port="SofCreator.sof out" relation="relation19"/>
    </entity>
    <entity name="Instrument Response" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:465:4">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[1130.0, 644.75]">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={284, 227, 1530, 814}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[1220, 663]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="0.79966831254">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{784.8162707390642, 482.5468750000003}">
        </property>
        <property name="EnableProcessing" class="ptolemy.data.expr.StringParameter" value="true">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[730.0, 715.0]">
            </property>
        </property>
        <property name="EnableInteractivity" class="ptolemy.data.expr.StringParameter" value="false">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[730.0, 745.0]">
            </property>
        </property>
        <property name="INIT_OBJOFFSET" class="ptolemy.data.expr.StringParameter" value="0.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 810.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_SKYMETHOD" class="ptolemy.data.expr.StringParameter" value="optimal">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 750.0]">
            </property>
        </property>
        <property name="INIT_SLITLENGTH" class="ptolemy.data.expr.StringParameter" value="-1.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 790.0]">
            </property>
        </property>
        <property name="INIT_REBIN_WAVESTEP" class="ptolemy.data.expr.StringParameter" value="-1.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 830.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_METHOD" class="ptolemy.data.expr.StringParameter" value="optimal">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 690.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_KAPPA" class="ptolemy.data.expr.StringParameter" value="10.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 710.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_PROFILE" class="ptolemy.data.expr.StringParameter" value="auto">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 730.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_OVERSAMPLE" class="ptolemy.data.expr.StringParameter" value="-1">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[955.0, 770.0]">
            </property>
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This part of the subworkflow takes care&#10;of deciding whether the response recipe should be&#10;triggered.&#10;If  raw standard star frames exist and &#10;$EnableProcessing is true then the recipe is triggered&#10;&#10;">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:42: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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[375.0, 815.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
            </property>
        </property>
        <property name="Annotation2" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="11">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This actor displays plots of recipe output in an interactive plot&#10;window. The user has the option to continue the workflow using these&#10;results, or re-run the recipe after changing one or several recipe&#10;parameters.">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[885.0, 100.0]">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:39:27:urn:lsid:kepler-project.org/ns/:12485:5:5:urn:lsid:kepler-project.org/ns/:12486:12:2:urn:lsid:kepler-project.org/ns/:13180:14:4:urn:lsid:kepler-project.org/ns/:13637:11:7:urn:lsid:kepler-project.org/ns/:14093:6:2:urn:lsid:kepler-project.org/ns/:14170:24:11:urn:lsid:kepler-project.org/ns/:16989:23:24:urn:lsid:kepler-project.org/ns/:25158:13:2:urn:lsid:kepler-project.org/ns/:26405:28:2">
        </property>
        <port name="sof in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{40.0, 320.0}">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <port name="sof out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[1395.0, 510.0]">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <port name="sof opt" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[10.0, 700.0]">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <entity name="Boolean Switch" class="ptolemy.actor.lib.BooleanSwitch">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Steve Neuendorffer</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The BooleanSwitch actor reads a value of any type, as well as a Boolean token that is used as a control. If the Boolean token is true, the actor outputs the received value to the trueOutput port; if the Boolean token is false, the actor outputs the received value to the falseOutput port.&#10;If the actor has never received a value on the control port, then the actor will output to the falseOutput port.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor only works under certain directors. It will not work under an SDF Director, but it will under a PN Director, for example.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts tokens of any type.</configure></property>
<property name="port:falseOutput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the input token when the control is false.</configure></property>
<property name="port:trueOutput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the input token when the control is true.</configure></property>
<property name="port:control" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts a Boolean token used to select which output port (trueOutput or falseOutput) to broadcast.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:54:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.BooleanSwitch">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:930:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#BooleanControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#BooleanControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[135.0, 480.0]">
            </property>
            <port name="control" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="DDF Boolean Select" class="ptolemy.domains.ddf.lib.DDFBooleanSelect">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Gang Zhou</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt; A type polymorphic select with boolean valued control for use in&#10; the DDF domain. In the first iteration, an input token at the&#10; &lt;i&gt;control&lt;/i&gt; port is read and its value is noted. In the second&#10; iteration, if the &lt;i&gt;control&lt;/i&gt; input read from the previous&#10; iteration is true, then an input token at the &lt;i&gt;trueInput&lt;/i&gt; port&#10; is read and sent to the output. Likewise with a false &lt;i&gt;control&lt;/i&gt;&#10; input and the &lt;i&gt;falseInput&lt;/i&gt; port. It alternates between these&#10; two kinds of iterations until stopped. The &lt;i&gt;control&lt;/i&gt; port must&#10; receive Boolean Tokens. The &lt;i&gt;trueInput&lt;/i&gt; and &lt;i&gt;falseInput&lt;/i&gt;&#10; ports may receive Tokens of any type. Because tokens are immutable,&#10; the same Token is sent to the output, rather than a copy.&lt;/p&gt;&#10; &lt;p&gt;&#10; Note this actor sends an output token every two iterations. Contrast&#10; this with BooleanSelect which sends an output token every iteration.&#10; &lt;/p&gt;&#10;        </configure></property>
<property name="port:falseInput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Input for tokens on the false path. The port type can be any type.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The output port.  The type is at least the type of &lt;i&gt;trueInput&lt;/i&gt; and &lt;i&gt;falseInput&lt;/i&gt;. </configure></property>
<property name="port:trueInput" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Input for tokens on the true path. The port type can be any type.</configure></property>
<property name="port:control" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Input that selects one of the other input ports. The type is boolean.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:526:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.ddf.lib.DDFBooleanSelect">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:526:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#BooleanControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#BooleanControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[1250.0, 490.0]">
            </property>
            <port name="trueInput" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="falseInput" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="control" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[130.0, 835.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="Empty SOF" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14093:5:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[245.0, 595.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:5968:76:2:urn:lsid:kepler-project.org/ns/:13637:10:1">
            </property>
        </entity>
        <entity name="Logic Function" class="ptolemy.actor.lib.logic.LogicFunction">
            <display name="And"/>
            <property name="function" class="ptolemy.kernel.util.StringAttribute" value="and">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Paul Whitaker</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Logic Function actor reads Boolean tokens, performs a specified logical operation (e.g., &quot;and&quot; or  &quot;xnor&quot;), and outputs the evaluated result as a Boolean token.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a logic function with the function parameter. The following logic functions may be performed:&lt;/p&gt;&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;th&gt;Logic Function&#10;&lt;/th&gt;&lt;th&gt;Definition&lt;/th&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;and&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;and&quot; operator (the default)&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;or&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;or&quot; operator.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xor&lt;/td&gt;&lt;td&gt;The logical &quot;xor&quot; operator. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nand&lt;/td&gt;&lt;td&gt;The logical &quot;nand&quot; operator. Equivalent to the negation of &quot;and&quot;. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nor&lt;/td&gt;&lt;td&gt;The logical &quot;nor&quot; operator. Equivalent to the negation of &quot;or&quot;.&#10;&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xnor&lt;/td&gt;&lt;td&gt;The logical &quot;xnor&quot; operator. Equivalent to the negation of &quot;xor&quot;.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor consumes at most one token on each input channel. It does not require that each input channel have a token upon firing. As long as one channel contains a token, the actor will produce output. If no input tokens are available, then no output is produced.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts Boolean tokens.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts Boolean tokens representing the evaluated input.</configure></property>
<property name="prop:function" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The logical operation to perform: and, or, xor, nand, nor, xnor. For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:67:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.logic.LogicFunction">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:942:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[385.0, 750.0]">
            </property>
        </entity>
        <entity name="SofCombiner" class="org.eso.SofCombiner">
            <property name="_location" class="ptolemy.kernel.util.Location" value="{120.0, 345.0}">
            </property>
        </entity>
        <entity name="String Constant4" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$EnableProcessing">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[185.0, 770.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="DisplayResponseResultsAndUserInput" class="org.eso.PythonActor">
            <property name="Python script" class="ptolemy.data.expr.FileParameter" value="@prefix@/share/esopipes/uves-@VERSION@/reflex/uves_cal_response_interact.py">
                <property name="allowFiles" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="allowDirectories" class="ptolemy.data.expr.Parameter" value="false">
                </property>
            </property>
            <property name="Run in terminal" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="Lazy Mode" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:26405:27:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.PythonActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[805.0, 180.0]">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
                </property>
                <property name="Python script (parameter)" class="ptolemy.data.expr.StringParameter" value="the filename of the script to be executed (full path)">
                </property>
                <property name="Run in terminal (parameter)" class="ptolemy.data.expr.StringParameter" value="If true, the script is invoked through an external xterm, this is needed for scripts that write on the standard output or require standard input (e.g. some pyraf tasks)">
                </property>
                <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
            </property>
            <property name="out_sop_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="out_sof_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="iteration_complete_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="out_sof_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="out_sop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="set_enable_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:2:1:urn:lsid:kepler-project.org/ns/:12485:7:1:urn:lsid:kepler-project.org/ns/:12486:11:1:urn:lsid:kepler-project.org/ns/:16989:43:5:urn:lsid:kepler-project.org/ns/:25158:12:1">
            </property>
            <port name="out_sof_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
            </port>
            <port name="iteration_complete" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sop_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
            </port>
            <port name="enable" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
            <port name="in_sof_rec_orig" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
            <port name="out_sof" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sof" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="set_enable" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="String Constant5" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$EnableInteractivity">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[695.0, 255.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="uves_cal_response_1" class="org.eso.RecipeExecuter">
            <display name="uves_cal_response"/>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="STANDARD_BLUE,STANDARD_RED,ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU,LINE_TABLE_BLUE,LINE_TABLE_REDL,LINE_TABLE_REDU,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU,MASTER_DARK_BLUE,MASTER_DARK_REDL,MASTER_DARK_REDU,MASTER_FLAT_BLUE,MASTER_FLAT_REDL,MASTER_FLAT_REDU,FLUX_STD_TABLE,EXTCOEFF_TABLE">
            </property>
            <property name="recipe_param_10" class="ptolemy.data.expr.Parameter" value="reduce.extract.method=PORT">
            </property>
            <property name="recipe_param_11" class="ptolemy.data.expr.Parameter" value="reduce.extract.kappa=PORT">
            </property>
            <property name="recipe_param_13" class="ptolemy.data.expr.Parameter" value="reduce.extract.profile=PORT">
            </property>
            <property name="recipe_param_14" class="ptolemy.data.expr.Parameter" value="reduce.extract.skymethod=PORT">
            </property>
            <property name="recipe_param_15" class="ptolemy.data.expr.Parameter" value="reduce.extract.oversample=PORT">
            </property>
            <property name="recipe_param_17" class="ptolemy.data.expr.Parameter" value="reduce.slitlength=PORT">
            </property>
            <property name="recipe_param_19" class="ptolemy.data.expr.Parameter" value="reduce.objoffset=PORT">
            </property>
            <property name="recipe_param_23" class="ptolemy.data.expr.Parameter" value="reduce.rebin.wavestep=PORT">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[820.0, 410.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
        </entity>
        <entity name="RecipeLooper" class="org.eso.RecipeLooper">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The RecipeLooper is an actor designed to implement looping capabilities within workflows. It has two set of input ports and a control port: at first it receives a token from the ?standard? input ports, and then it receives a token from the looping input ports until the control port contains a string token whose value is ?false?. When the control port contains a ?true? the actor resets and starts over.</configure></property>
<property name="port:iteration complete" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>control port</configure></property>
<property name="port:sof loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>files to be used for iteration</configure></property>
<property name="port:sop loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>parameters to be used in the current iteration</configure></property>
<property name="port:sop in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the initial recipe parameters</configure></property>
<property name="port:sop out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output parameters to be used by the recipe executer</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input files</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output files</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:workflow:14:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.RecipeLooper">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[515.0, 370.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sof loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="iteration complete" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="sop loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Compare" class="ptolemy.actor.lib.string.StringCompare">
            <property name="function" class="ptolemy.data.expr.Parameter" value="equals">
            </property>
            <property name="ignoreCase" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="firstString" class="ptolemy.actor.parameters.PortParameter" value="true">
            </property>
            <property name="secondString" class="ptolemy.actor.parameters.PortParameter" value="true">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Vinay Krishnan, Daniel Lazaro Cuadrado (contributor: Edward A. Lee)</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;&lt;p&gt;The StringCompare actor reads two strings and compares them using a specified comparison function. The actor outputs true if the strings satisfy the comparison criteria, or false if not.&lt;/p&gt;&#10;&#10;&lt;p&gt;The comparison functions are specified with the function parameter: &lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;equals: Output true if the strings are equal (the default). &lt;/li&gt;&#10;&lt;li&gt;startsWith: Output true if the first string starts with second string. &lt;/li&gt;&#10;&lt;li&gt;endsWith: Output true if the first string ends with the second string. &lt;/li&gt;&#10;&lt;li&gt;contains: Output true if the first string contains the second string. &lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;p&gt;Strings will be read from the input ports if they are connected; otherwise strings are read from the parameters.&lt;/p&gt;</configure></property>
<property name="port:secondString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts the second string.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the result of the comparison (either true or false).</configure></property>
<property name="port:firstString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts the first string.</configure></property>
<property name="prop:function" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The comparison function (equals, startsWith, endsWith, contains). The default is &quot;equals&quot;.</configure></property>
<property name="prop:secondString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The second string.</configure></property>
<property name="prop:ignoreCase" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether to ignore case. By default, the actor is case-sensitive. Select the parameter to ignore case.</configure></property>
<property name="prop:firstString" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The first string.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:93:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.string.StringCompare">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:967:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#StatisticalOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[280.0, 805.0]">
            </property>
        </entity>
        <entity name="IsSofEmpty" class="org.eso.IsSofEmpty">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[155.0, 670.0]">
            </property>
        </entity>
        <entity name="Not" class="ptolemy.actor.lib.logic.LogicFunction">
            <property name="function" class="ptolemy.kernel.util.StringAttribute" value="nand">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Paul Whitaker</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Logic Function actor reads Boolean tokens, performs a specified logical operation (e.g., &quot;and&quot; or  &quot;xnor&quot;), and outputs the evaluated result as a Boolean token.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a logic function with the function parameter. The following logic functions may be performed:&lt;/p&gt;&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&lt;th&gt;Logic Function&#10;&lt;/th&gt;&lt;th&gt;Definition&lt;/th&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;and&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;and&quot; operator (the default)&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;or&#10;&lt;/td&gt;&lt;td&gt;The logical &quot;or&quot; operator.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xor&lt;/td&gt;&lt;td&gt;The logical &quot;xor&quot; operator. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nand&lt;/td&gt;&lt;td&gt;The logical &quot;nand&quot; operator. Equivalent to the negation of &quot;and&quot;. &lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;nor&lt;/td&gt;&lt;td&gt;The logical &quot;nor&quot; operator. Equivalent to the negation of &quot;or&quot;.&#10;&lt;/td&gt;&lt;/tr&gt;&#10;&lt;tr&gt;&lt;td&gt;xnor&lt;/td&gt;&lt;td&gt;The logical &quot;xnor&quot; operator. Equivalent to the negation of &quot;xor&quot;.&lt;/td&gt;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor consumes at most one token on each input channel. It does not require that each input channel have a token upon firing. As long as one channel contains a token, the actor will produce output. If no input tokens are available, then no output is produced.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts Boolean tokens.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts Boolean tokens representing the evaluated input.</configure></property>
<property name="prop:function" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The logical operation to perform: and, or, xor, nand, nor, xnor. For more information about these functions, see http://whatis.techtarget.com/definition/0,,sid9_gci213512,00.html.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:5968:40:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.logic.LogicFunction">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:942:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ControlActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowControl">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[280.0, 670.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:67:1">
            </property>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[245.0, 495.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[1090.0, 495.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SetInteractivity" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="EnableInteractivity">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:10733:23:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[880.0, 250.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee, Steve Neuendorffer, Jerome Blanc">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
        </entity>
        <entity name="SofCreator" class="org.eso.SofCreator">
            <property name="Default Category" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="Filename Pattern" class="ptolemy.data.expr.StringParameter" value="">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>It reads the content of a directory and creates an SoF</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCreator reads all the FITS files contained in a directory and creates an SoF: the file category is based on the keyword PRO.CATG or DO.CATG. If both are missing the Default Category is used.</configure></property>
<property name="port:sof" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the output sof</configure></property>
<property name="port:data dir" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input dir</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:Default Category" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the default category to be used if none is defined in the file.</configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:906:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCreator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[1140.0, 570.0]">
            </property>
            <port name="data dir" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="CreateInitialSOP" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:24:13">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[375.0, 430.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[-305.0, -5.0]">
                </property>
            </port>
            <port name="sop_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[465.0, -10.0]">
                </property>
            </port>
            <entity name="InitResponseParam" class="ptolemy.actor.lib.StringConst">
                <property name="value" class="ptolemy.data.expr.Parameter" value="uves_cal_response:reduce.extract.method=$INIT_EXTRACT_METHOD&#10;uves_cal_response:reduce.extract.kappa=$INIT_EXTRACT_KAPPA&#10;uves_cal_response:reduce.extract.profile=$INIT_EXTRACT_PROFILE&#10;uves_cal_response:reduce.extract.skymethod=$INIT_EXTRACT_SKYMETHOD&#10;uves_cal_response:reduce.extract.oversample=$INIT_EXTRACT_OVERSAMPLE&#10;uves_cal_response:reduce.slitlength=$INIT_SLITLENGTH&#10;uves_cal_response:reduce.objoffset=$INIT_OBJOFFSET&#10;uves_cal_response:reduce.rebin.wavestep=$INIT_REBIN_WAVESTEP">
                    <property name="style" class="ptolemy.actor.gui.style.TextStyle">
                        <property name="height" class="ptolemy.data.expr.Parameter" value="10">
                        </property>
                        <property name="width" class="ptolemy.data.expr.Parameter" value="30">
                        </property>
                    </property>
                </property>
                <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
                </property>
                <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14170:23:2">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                    </property>
                </property>
                <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
                </property>
                <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="{630.0, 460.0}">
                </property>
                <property name="" class="ptolemy.vergil.basic.DocAttribute">
                    <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee">
                    </property>
                    <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                    <property name="value (parameter)" class="ptolemy.data.expr.StringParameter" value="The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)">
                    </property>
                    <property name="firingCountLimit (parameter)" class="ptolemy.data.expr.StringParameter" value="The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.">
                    </property>
                    <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts a string constant specified by the value parameter.  ">
                    </property>
                    <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. ">
                    </property>
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
                </property>
            </entity>
            <entity name="SopCreator" class="org.eso.SopCreator">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SopCreator converts a string to a SoP</configure></property>
<property name="port:in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a string in the format described in Appendix A</configure></property>
<property name="port:out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a SoP</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:30:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SopCreator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[317.4179229736328, -34.080238342285156]">
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:17:1:urn:lsid:kepler-project.org/ns/:14170:25:1">
                </property>
                <port name="param in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                    </property>
                </port>
                <port name="sop out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="trigger" relation="relation2"/>
            <link port="sop_out" relation="relation3"/>
            <link port="InitResponseParam.output" relation="relation"/>
            <link port="InitResponseParam.trigger" relation="relation2"/>
            <link port="SopCreator.param in" relation="relation"/>
            <link port="SopCreator.sop out" relation="relation3"/>
        </entity>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation13" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[475.0, 635.0]">
            </vertex>
        </relation>
        <relation name="relation16" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[80.0, 695.0]">
            </vertex>
        </relation>
        <relation name="relation17" 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>
            <vertex name="vertex1" value="[335.0, 380.0]">
            </vertex>
        </relation>
        <relation name="relation20" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[610.0, 340.0]">
            </vertex>
        </relation>
        <relation name="relation26" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation19" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation22" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation18" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation23" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation24" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation25" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation12" 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="relation10" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation14" 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="relation3" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation15" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation27" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation21" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation28" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation29" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation30" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="sof in" relation="relation17"/>
        <link port="sof out" relation="relation7"/>
        <link port="sof opt" relation="relation"/>
        <link port="Boolean Switch.input" relation="relation16"/>
        <link port="Boolean Switch.control" relation="relation13"/>
        <link port="Boolean Switch.trueOutput" relation="relation3"/>
        <link port="Boolean Switch.falseOutput" relation="relation5"/>
        <link port="DDF Boolean Select.trueInput" relation="relation21"/>
        <link port="DDF Boolean Select.falseInput" relation="relation29"/>
        <link port="DDF Boolean Select.control" relation="relation13"/>
        <link port="DDF Boolean Select.output" relation="relation7"/>
        <link port="String Constant.output" relation="relation8"/>
        <link port="String Constant.trigger" relation="relation"/>
        <link port="Empty SOF.output" relation="relation4"/>
        <link port="Empty SOF.trigger" relation="relation5"/>
        <link port="Logic Function.input" relation="relation14"/>
        <link port="Logic Function.input" relation="relation6"/>
        <link port="Logic Function.output" relation="relation13"/>
        <link port="SofCombiner.sof in" relation="relation17"/>
        <link port="SofCombiner.sof in" relation="relation"/>
        <link port="SofCombiner.sof out" relation="relation16"/>
        <link port="String Constant4.output" relation="relation12"/>
        <link port="String Constant4.trigger" relation="relation"/>
        <link port="DisplayResponseResultsAndUserInput.out_sof_loop" relation="relation24"/>
        <link port="DisplayResponseResultsAndUserInput.iteration_complete" relation="relation23"/>
        <link port="DisplayResponseResultsAndUserInput.out_sop_loop" relation="relation18"/>
        <link port="DisplayResponseResultsAndUserInput.enable" relation="relation26"/>
        <link port="DisplayResponseResultsAndUserInput.in_sof_rec_orig" relation="relation20"/>
        <link port="DisplayResponseResultsAndUserInput.out_sof" relation="relation27"/>
        <link port="DisplayResponseResultsAndUserInput.in_sof" relation="relation19"/>
        <link port="DisplayResponseResultsAndUserInput.in_sop" relation="relation22"/>
        <link port="DisplayResponseResultsAndUserInput.set_enable" relation="relation28"/>
        <link port="String Constant5.output" relation="relation26"/>
        <link port="String Constant5.trigger" relation="relation20"/>
        <link port="uves_cal_response_1.sof in" relation="relation20"/>
        <link port="uves_cal_response_1.sop in" relation="relation25"/>
        <link port="uves_cal_response_1.sof out" relation="relation19"/>
        <link port="uves_cal_response_1.sop out" relation="relation22"/>
        <link port="RecipeLooper.sof in" relation="relation9"/>
        <link port="RecipeLooper.sop in" relation="relation30"/>
        <link port="RecipeLooper.sof loop" relation="relation24"/>
        <link port="RecipeLooper.iteration complete" relation="relation23"/>
        <link port="RecipeLooper.sop loop" relation="relation18"/>
        <link port="RecipeLooper.sof out" relation="relation20"/>
        <link port="RecipeLooper.sop out" relation="relation25"/>
        <link port="String Compare.firstString" relation="relation12"/>
        <link port="String Compare.secondString" relation="relation8"/>
        <link port="String Compare.output" relation="relation6"/>
        <link port="IsSofEmpty.sof in" relation="relation"/>
        <link port="IsSofEmpty.is empty" relation="relation10"/>
        <link port="Not.input" relation="relation10"/>
        <link port="Not.output" relation="relation14"/>
        <link port="SofSplitter.sof in" relation="relation3"/>
        <link port="SofSplitter.sof out" relation="relation9"/>
        <link port="SofSplitter.#groups" relation="relation15"/>
        <link port="SofAccumulator.sof in" relation="relation27"/>
        <link port="SofAccumulator.#groups" relation="relation15"/>
        <link port="SofAccumulator.sof out" relation="relation21"/>
        <link port="SetInteractivity.input" relation="relation28"/>
        <link port="SofCreator.data dir" relation="relation4"/>
        <link port="SofCreator.sof out" relation="relation29"/>
        <link port="CreateInitialSOP.trigger" relation="relation9"/>
        <link port="CreateInitialSOP.sop_out" relation="relation30"/>
    </entity>
    <entity name="Spectrum Locator" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:463:2">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[590.0, 705.0]">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={62, 244, 1249, 810}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[939, 659]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="0.9718296193279">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{362.1093749999999, 367.0512014110756}">
        </property>
        <property name="EnableInteractivity" class="ptolemy.data.expr.StringParameter" value="false">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-70.0, 100.0]">
            </property>
        </property>
        <property name="INIT_MBOX_X" class="ptolemy.data.expr.StringParameter" value="40">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-70.0, 130.0]">
            </property>
        </property>
        <property name="INIT_MBOX_Y" class="ptolemy.data.expr.StringParameter" value="40">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-70.0, 160.0]">
            </property>
        </property>
        <property name="INIT_TRANS_X" class="ptolemy.data.expr.StringParameter" value="0.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-70.0, 190.0]">
            </property>
        </property>
        <property name="INIT_TRANS_Y" class="ptolemy.data.expr.StringParameter" value="0.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-70.0, 220.0]">
            </property>
        </property>
        <property name="INIT_CCD_ROT_ANGLE_OFF" class="ptolemy.data.expr.StringParameter" value="0.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-70.0, 250.0]">
            </property>
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Yuhong Xiong">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="11">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This actor displays plots of recipe output in an interactive plot&#10;window. The user has the option to continue the workflow using these&#10;results, or re-run the recipe after changing one or several recipe&#10;parameters.">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[430.0, 30.0]">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:49:32:urn:lsid:kepler-project.org/ns/:12415:5:79:urn:lsid:kepler-project.org/ns/:12486:7:2:urn:lsid:kepler-project.org/ns/:12555:11:14:urn:lsid:kepler-project.org/ns/:14102:3:5:urn:lsid:kepler-project.org/ns/:14170:20:7:urn:lsid:kepler-project.org/ns/:16482:45:8:urn:lsid:kepler-project.org/ns/:16989:17:32:urn:lsid:kepler-project.org/ns/:25158:8:2:urn:lsid:kepler-project.org/ns/:26405:24:2">
        </property>
        <port name="sof_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[780.0, 235.0]">
            </property>
        </port>
        <port name="sof_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-260.0, 265.0]">
            </property>
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
        </port>
        <port name="sof_bias" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-255.0, 470.0]">
            </property>
        </port>
        <entity name="DisplayPredictResultsAndUserInput" class="org.eso.PythonActor">
            <property name="Python script" class="ptolemy.data.expr.FileParameter" value="@prefix@/share/esopipes/uves-@VERSION@/reflex/uves_cal_predict_interact.py">
            </property>
            <property name="Run in terminal" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="Lazy Mode" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:26405:23:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.PythonActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[420.0, 215.0]">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
                </property>
                <property name="Python script (parameter)" class="ptolemy.data.expr.StringParameter" value="the filename of the script to be executed (full path)">
                </property>
                <property name="Run in terminal (parameter)" class="ptolemy.data.expr.StringParameter" value="If true, the script is invoked through an external xterm, this is needed for scripts that write on the standard output or require standard input (e.g. some pyraf tasks)">
                </property>
                <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
            </property>
            <property name="out_sop_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="out_sof_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="iteration_complete_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="out_sof_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="out_sop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="set_enable_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:2:1:urn:lsid:kepler-project.org/ns/:12415:7:1:urn:lsid:kepler-project.org/ns/:12486:6:1:urn:lsid:kepler-project.org/ns/:16989:39:6:urn:lsid:kepler-project.org/ns/:25158:7:1">
            </property>
            <port name="out_sop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sof_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="out_sof" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="iteration_complete" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sop_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="enable" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sof_rec_orig" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="in_sof" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="set_enable" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="uves_cal_predict_1" class="org.eso.RecipeExecuter">
            <display name="uves_cal_predict"/>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="LINE_REFER_TABLE,ARC_LAMP_FORM_BLUE,ARC_LAMP_FORM_RED,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU">
            </property>
            <property name="File Purpose Processing" class="ptolemy.data.expr.StringParameter" value="Strip last">
            </property>
            <property name="recipe_param_4" class="ptolemy.data.expr.Parameter" value="mbox_x=PORT">
            </property>
            <property name="recipe_param_5" class="ptolemy.data.expr.Parameter" value="mbox_y=PORT">
            </property>
            <property name="recipe_param_6" class="ptolemy.data.expr.Parameter" value="trans_x=PORT">
            </property>
            <property name="recipe_param_7" class="ptolemy.data.expr.Parameter" value="trans_y=PORT">
            </property>
            <property name="recipe_param_8" class="ptolemy.data.expr.Parameter" value="ech_angle_off=0.0">
            </property>
            <property name="recipe_param_9" class="ptolemy.data.expr.Parameter" value="cd_angle_off=0.0">
            </property>
            <property name="recipe_param_10" class="ptolemy.data.expr.Parameter" value="ccd_rot_angle_off=PORT">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[440.0, 420.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="logs" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
        </entity>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$EnableInteractivity">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[350.0, 300.0]">
            </property>
        </entity>
        <entity name="RecipeLooper" class="org.eso.RecipeLooper">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The RecipeLooper is an actor designed to implement looping capabilities within workflows. It has two set of input ports and a control port: at first it receives a token from the ?standard? input ports, and then it receives a token from the looping input ports until the control port contains a string token whose value is ?false?. When the control port contains a ?true? the actor resets and starts over.</configure></property>
<property name="port:iteration complete" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>control port</configure></property>
<property name="port:sof loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>files to be used for iteration</configure></property>
<property name="port:sop loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>parameters to be used in the current iteration</configure></property>
<property name="port:sop in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the initial recipe parameters</configure></property>
<property name="port:sop out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output parameters to be used by the recipe executer</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input files</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output files</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:38:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.RecipeLooper">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[145.0, 395.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:14:1">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sof loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="iteration complete" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="sop loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
            </port>
            <port name="sop out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
            </port>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-90.0, 335.0]">
            </property>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[655.0, 215.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="SetInteractivity" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="EnableInteractivity">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12415:6:3">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[515.0, 290.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1">
            </property>
        </entity>
        <entity name="SofCombiner" class="org.eso.SofCombiner">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCombiner takes as input a number of set of files and combines them into one set of files that contains only the files whose purposes are present in all the input tokens. With this respect empty tokens are ignored and files with universal purpose are always collected</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The combined sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:908:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCombiner">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-195.0, 335.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="sof in opt" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="CreateInitialSOP" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:18:12">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[-15.0, 450.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[-170.0, 165.0]">
                </property>
            </port>
            <port name="sop_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[509.125, 91.625]">
                </property>
            </port>
            <entity name="SopCreator" class="org.eso.SopCreator">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SopCreator converts a string to a SoP</configure></property>
<property name="port:in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a string in the format described in Appendix A</configure></property>
<property name="port:out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a SoP</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:20:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SopCreator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[400.0, 60.0]">
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:17:1:urn:lsid:kepler-project.org/ns/:14170:21:1">
                </property>
                <port name="param in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                    </property>
                </port>
                <port name="sop out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="InitPredictParam" class="ptolemy.actor.lib.StringConst">
                <property name="value" class="ptolemy.data.expr.Parameter" value="uves_cal_predict:mbox_x=$INIT_MBOX_X&#10;uves_cal_predict:mbox_y=$INIT_MBOX_Y&#10;uves_cal_predict:trans_x=$INIT_TRANS_X&#10;uves_cal_predict:trans_y=$INIT_TRANS_Y&#10;uves_cal_predict:ccd_rot_angle_off=$INIT_CCD_ROT_ANGLE_OFF">
                    <property name="style" class="ptolemy.actor.gui.style.TextStyle">
                        <property name="height" class="ptolemy.data.expr.Parameter" value="10">
                        </property>
                        <property name="width" class="ptolemy.data.expr.Parameter" value="30">
                        </property>
                    </property>
                </property>
                <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
                </property>
                <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14170:19:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                    </property>
                </property>
                <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
                </property>
                <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[140.0, 170.0]">
                </property>
                <property name="" class="ptolemy.vergil.basic.DocAttribute">
                    <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;">
                    </property>
                    <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee">
                    </property>
                    <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                    <property name="value (parameter)" class="ptolemy.data.expr.StringParameter" value="The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)">
                    </property>
                    <property name="firingCountLimit (parameter)" class="ptolemy.data.expr.StringParameter" value="The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.">
                    </property>
                    <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts a string constant specified by the value parameter.  ">
                    </property>
                    <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. ">
                    </property>
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:12555:14:3">
                </property>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="trigger" relation="relation2"/>
            <link port="sop_out" relation="relation3"/>
            <link port="SopCreator.param in" relation="relation"/>
            <link port="SopCreator.sop out" relation="relation3"/>
            <link port="InitPredictParam.output" relation="relation"/>
            <link port="InitPredictParam.trigger" relation="relation2"/>
        </entity>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex" value="[270.0, 395.0]">
            </vertex>
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation10" 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="relation6" 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>
        <relation name="relation14" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation15" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
            <vertex name="vertex1" value="[-25.0, 405.0]">
            </vertex>
        </relation>
        <relation name="relation16" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[625.0, 540.0]">
            </vertex>
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation17" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="Auto">
            </property>
        </relation>
        <relation name="relation11" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="Auto">
            </property>
        </relation>
        <relation name="relation18" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="Auto">
            </property>
        </relation>
        <relation name="relation13" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="sof_out" relation="relation2"/>
        <link port="sof_in" relation="relation17"/>
        <link port="sof_bias" relation="relation11"/>
        <link port="DisplayPredictResultsAndUserInput.out_sof_loop" relation="relation9"/>
        <link port="DisplayPredictResultsAndUserInput.out_sof" relation="relation14"/>
        <link port="DisplayPredictResultsAndUserInput.iteration_complete" relation="relation6"/>
        <link port="DisplayPredictResultsAndUserInput.out_sop_loop" relation="relation8"/>
        <link port="DisplayPredictResultsAndUserInput.enable" relation="relation"/>
        <link port="DisplayPredictResultsAndUserInput.in_sof_rec_orig" relation="relation7"/>
        <link port="DisplayPredictResultsAndUserInput.in_sof" relation="relation3"/>
        <link port="DisplayPredictResultsAndUserInput.in_sop" relation="relation4"/>
        <link port="DisplayPredictResultsAndUserInput.set_enable" relation="relation12"/>
        <link port="uves_cal_predict_1.sof in" relation="relation7"/>
        <link port="uves_cal_predict_1.sop in" relation="relation10"/>
        <link port="uves_cal_predict_1.sof out" relation="relation3"/>
        <link port="uves_cal_predict_1.sop out" relation="relation4"/>
        <link port="String Constant.output" relation="relation"/>
        <link port="String Constant.trigger" relation="relation7"/>
        <link port="RecipeLooper.sof in" relation="relation15"/>
        <link port="RecipeLooper.sop in" relation="relation13"/>
        <link port="RecipeLooper.sof loop" relation="relation9"/>
        <link port="RecipeLooper.iteration complete" relation="relation6"/>
        <link port="RecipeLooper.sop loop" relation="relation8"/>
        <link port="RecipeLooper.sof out" relation="relation7"/>
        <link port="RecipeLooper.sop out" relation="relation10"/>
        <link port="SofSplitter.sof in" relation="relation18"/>
        <link port="SofSplitter.sof out" relation="relation15"/>
        <link port="SofSplitter.#groups" relation="relation16"/>
        <link port="SofAccumulator.sof in" relation="relation14"/>
        <link port="SofAccumulator.#groups" relation="relation16"/>
        <link port="SofAccumulator.sof out" relation="relation2"/>
        <link port="SetInteractivity.input" relation="relation12"/>
        <link port="SofCombiner.sof in" relation="relation17"/>
        <link port="SofCombiner.sof in opt" relation="relation11"/>
        <link port="SofCombiner.sof out" relation="relation18"/>
        <link port="CreateInitialSOP.trigger" relation="relation15"/>
        <link port="CreateInitialSOP.sop_out" relation="relation13"/>
    </entity>
    <entity name="Wavelength Calibration" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:464:4">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[965.0, 745.0]">
        </property>
        <property name="EnableInteractivity" class="ptolemy.data.expr.StringParameter" value="false">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, -70.0]">
            </property>
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={537, 168, 1203, 914}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[893, 763]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="0.8551847972467">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{558.109375, 309.1024111142217}">
        </property>
        <property name="INIT_RANGE" class="ptolemy.data.expr.StringParameter" value="8">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, -40.0]">
            </property>
        </property>
        <property name="INIT_MINLINES" class="ptolemy.data.expr.StringParameter" value="0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, -10.0]">
            </property>
        </property>
        <property name="INIT_MAXLINES" class="ptolemy.data.expr.StringParameter" value="0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 20.0]">
            </property>
        </property>
        <property name="INIT_ALPHA" class="ptolemy.data.expr.StringParameter" value="0.1">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 50.0]">
            </property>
        </property>
        <property name="INIT_DEGREE" class="ptolemy.data.expr.StringParameter" value="4">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 80.0]">
            </property>
        </property>
        <property name="INIT_TOLERANCE" class="ptolemy.data.expr.StringParameter" value="0.6">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 110.0]">
            </property>
        </property>
        <property name="INIT_KAPPA" class="ptolemy.data.expr.StringParameter" value="4">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{115.0, 140.0}">
            </property>
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="11">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This actor displays plots of recipe output in an interactive plot&#10;window. The user has the option to continue the workflow using these&#10;results, or re-run the recipe after changing one or several recipe&#10;parameters.">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[670.0, -105.0]">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org/ns/:2479:17:3:urn:lsid:kepler-project.org/ns/:5968:122:26:urn:lsid:kepler-project.org/ns/:12415:15:18:urn:lsid:kepler-project.org/ns/:12486:10:2:urn:lsid:kepler-project.org/ns/:12555:21:2:urn:lsid:kepler-project.org/ns/:14164:5:5:urn:lsid:kepler-project.org/ns/:14170:13:8:urn:lsid:kepler-project.org/ns/:16989:21:19:urn:lsid:kepler-project.org/ns/:25158:11:2:urn:lsid:kepler-project.org/ns/:26405:26:2">
        </property>
        <port name="sof_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[35.0, 230.0]">
            </property>
        </port>
        <port name="sof_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[1010.0, 30.0]">
            </property>
        </port>
        <entity name="DisplayWavecalResultsAndUserInput" class="org.eso.PythonActor">
            <property name="Python script" class="ptolemy.data.expr.FileParameter" value="@prefix@/share/esopipes/uves-@VERSION@/reflex/uves_cal_wavecal_interact.py">
            </property>
            <property name="Run in terminal" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="Lazy Mode" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:26405:25:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.PythonActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[630.0, -25.0]">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
                </property>
                <property name="Python script (parameter)" class="ptolemy.data.expr.StringParameter" value="the filename of the script to be executed (full path)">
                </property>
                <property name="Run in terminal (parameter)" class="ptolemy.data.expr.StringParameter" value="If true, the script is invoked through an external xterm, this is needed for scripts that write on the standard output or require standard input (e.g. some pyraf tasks)">
                </property>
                <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
            </property>
            <property name="out_sop_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="out_sof_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="iteration_complete_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="out_sof_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="out_sop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="set_enable_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org/ns/:2479:16:2:urn:lsid:kepler-project.org/ns/:12415:16:1:urn:lsid:kepler-project.org/ns/:12486:9:1:urn:lsid:kepler-project.org/ns/:16989:41:2:urn:lsid:kepler-project.org/ns/:25158:10:1">
            </property>
            <port name="out_sop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sof_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="out_sof" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="iteration_complete" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sop_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="enable" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sof_rec_orig" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="in_sof" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="set_enable" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$EnableInteractivity">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[545.0, 105.0]">
            </property>
        </entity>
        <entity name="uves_cal_wavecal_1" class="org.eso.RecipeExecuter">
            <display name="uves_cal_wavecal"/>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="ARC_LAMP_BLUE,ARC_LAMP_RED,ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU,LINE_GUESS_TAB_BLUE,LINE_GUESS_TAB_REDL,LINE_GUESS_TAB_REDU,LINE_REFER_TABLE,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU,MASTER_DARK_BLUE,MASTER_DARK_REDL,MASTER_DARK_REDU,MASTER_FLAT_BLUE,MASTER_FLAT_REDL,MASTER_FLAT_REDU">
            </property>
            <property name="recipe_param_4" class="ptolemy.data.expr.Parameter" value="nwindows=3">
            </property>
            <property name="recipe_param_5" class="ptolemy.data.expr.Parameter" value="length=-1.0">
            </property>
            <property name="recipe_param_6" class="ptolemy.data.expr.Parameter" value="offset=0.0">
            </property>
            <property name="recipe_param_7" class="ptolemy.data.expr.Parameter" value="extract.method=average">
            </property>
            <property name="recipe_param_8" class="ptolemy.data.expr.Parameter" value="extract.kappa=10.0">
            </property>
            <property name="recipe_param_9" class="ptolemy.data.expr.Parameter" value="extract.chunk=32">
            </property>
            <property name="recipe_param_10" class="ptolemy.data.expr.Parameter" value="extract.profile=auto">
            </property>
            <property name="recipe_param_11" class="ptolemy.data.expr.Parameter" value="extract.skymethod=optimal">
            </property>
            <property name="recipe_param_12" class="ptolemy.data.expr.Parameter" value="extract.oversample=-1">
            </property>
            <property name="recipe_param_13" class="ptolemy.data.expr.Parameter" value="extract.best=TRUE">
            </property>
            <property name="recipe_param_14" class="ptolemy.data.expr.Parameter" value="range=PORT">
            </property>
            <property name="recipe_param_15" class="ptolemy.data.expr.Parameter" value="minlines=PORT">
            </property>
            <property name="recipe_param_16" class="ptolemy.data.expr.Parameter" value="maxlines=PORT">
            </property>
            <property name="recipe_param_17" class="ptolemy.data.expr.Parameter" value="shiftmax=10.0">
            </property>
            <property name="recipe_param_18" class="ptolemy.data.expr.Parameter" value="shiftstep=0.1">
            </property>
            <property name="recipe_param_19" class="ptolemy.data.expr.Parameter" value="shifttoler=0.05">
            </property>
            <property name="recipe_param_20" class="ptolemy.data.expr.Parameter" value="alpha=PORT">
            </property>
            <property name="recipe_param_21" class="ptolemy.data.expr.Parameter" value="maxerror=20.0">
            </property>
            <property name="recipe_param_22" class="ptolemy.data.expr.Parameter" value="degree=PORT">
            </property>
            <property name="recipe_param_23" class="ptolemy.data.expr.Parameter" value="tolerance=PORT">
            </property>
            <property name="recipe_param_24" class="ptolemy.data.expr.Parameter" value="kappa=PORT">
            </property>
            <property name="recipe_param_25" class="ptolemy.data.expr.Parameter" value="rebin.wavestep=-1.0">
            </property>
            <property name="recipe_param_26" class="ptolemy.data.expr.Parameter" value="rebin.scale=FALSE">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[665.0, 225.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
        </entity>
        <entity name="RecipeLooper" class="org.eso.RecipeLooper">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The RecipeLooper is an actor designed to implement looping capabilities within workflows. It has two set of input ports and a control port: at first it receives a token from the ?standard? input ports, and then it receives a token from the looping input ports until the control port contains a string token whose value is ?false?. When the control port contains a ?true? the actor resets and starts over.</configure></property>
<property name="port:iteration complete" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>control port</configure></property>
<property name="port:sof loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>files to be used for iteration</configure></property>
<property name="port:sop loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>parameters to be used in the current iteration</configure></property>
<property name="port:sop in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the initial recipe parameters</configure></property>
<property name="port:sop out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output parameters to be used by the recipe executer</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input files</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output files</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:workflow:14:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.RecipeLooper">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[315.0, 225.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sof loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="iteration complete" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="sop loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 210.0]">
            </property>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[875.0, 5.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="SetInteractivity" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="EnableInteractivity">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:10733:23:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[725.0, 65.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee, Steve Neuendorffer, Jerome Blanc">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
        </entity>
        <entity name="CreateInitialSOP" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:22:10">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[170.0, 320.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="{20.0, 235.0}">
                </property>
            </port>
            <port name="sop_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[570.0, 175.0]">
                </property>
            </port>
            <entity name="SopCreator" class="org.eso.SopCreator">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SopCreator converts a string to a SoP</configure></property>
<property name="port:in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a string in the format described in Appendix A</configure></property>
<property name="port:out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a SoP</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:31:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SopCreator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[475.0, 115.0]">
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:17:1:urn:lsid:kepler-project.org/ns/:14170:22:1">
                </property>
                <port name="param in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                    </property>
                </port>
                <port name="sop out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="InitPredictParam" class="ptolemy.actor.lib.StringConst">
                <property name="value" class="ptolemy.data.expr.Parameter" value="uves_cal_wavecal:range=$INIT_RANGE&#10;uves_cal_wavecal:minlines=$INIT_MAXLINES&#10;uves_cal_wavecal:maxlines=$INIT_MAXLINES&#10;uves_cal_wavecal:alpha=$INIT_ALPHA&#10;uves_cal_wavecal:degree=$INIT_DEGREE&#10;uves_cal_wavecal:tolerance=$INIT_TOLERANCE&#10;uves_cal_wavecal:kappa=$INIT_KAPPA">
                    <property name="style" class="ptolemy.actor.gui.style.TextStyle">
                        <property name="height" class="ptolemy.data.expr.Parameter" value="10">
                        </property>
                        <property name="width" class="ptolemy.data.expr.Parameter" value="30">
                        </property>
                    </property>
                </property>
                <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
                </property>
                <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14170:12:5">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                    </property>
                </property>
                <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
                </property>
                <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[265.0, 235.0]">
                </property>
                <property name="" class="ptolemy.vergil.basic.DocAttribute">
                    <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee">
                    </property>
                    <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                    <property name="value (parameter)" class="ptolemy.data.expr.StringParameter" value="The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)">
                    </property>
                    <property name="firingCountLimit (parameter)" class="ptolemy.data.expr.StringParameter" value="The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.">
                    </property>
                    <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts a string constant specified by the value parameter.  ">
                    </property>
                    <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. ">
                    </property>
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
                </property>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="trigger" relation="relation2"/>
            <link port="sop_out" relation="relation3"/>
            <link port="SopCreator.param in" relation="relation"/>
            <link port="SopCreator.sop out" relation="relation3"/>
            <link port="InitPredictParam.output" relation="relation"/>
            <link port="InitPredictParam.trigger" relation="relation2"/>
        </entity>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex" value="{435.0, 210.0}">
            </vertex>
        </relation>
        <relation name="relation8" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[175.0, 240.0]">
            </vertex>
        </relation>
        <relation name="relation15" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" 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>
        <relation name="relation10" 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="relation" 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="relation13" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation14" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[835.0, 430.0]">
            </vertex>
        </relation>
        <relation name="relation16" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="Auto">
            </property>
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="sof_in" relation="relation2"/>
        <link port="sof_out" relation="relation5"/>
        <link port="DisplayWavecalResultsAndUserInput.out_sof_loop" relation="relation3"/>
        <link port="DisplayWavecalResultsAndUserInput.out_sof" relation="relation13"/>
        <link port="DisplayWavecalResultsAndUserInput.iteration_complete" relation="relation"/>
        <link port="DisplayWavecalResultsAndUserInput.out_sop_loop" relation="relation6"/>
        <link port="DisplayWavecalResultsAndUserInput.enable" relation="relation15"/>
        <link port="DisplayWavecalResultsAndUserInput.in_sof_rec_orig" relation="relation7"/>
        <link port="DisplayWavecalResultsAndUserInput.in_sof" relation="relation4"/>
        <link port="DisplayWavecalResultsAndUserInput.in_sop" relation="relation9"/>
        <link port="DisplayWavecalResultsAndUserInput.set_enable" relation="relation16"/>
        <link port="String Constant.output" relation="relation15"/>
        <link port="String Constant.trigger" relation="relation7"/>
        <link port="uves_cal_wavecal_1.sof in" relation="relation7"/>
        <link port="uves_cal_wavecal_1.sop in" relation="relation10"/>
        <link port="uves_cal_wavecal_1.sof out" relation="relation4"/>
        <link port="uves_cal_wavecal_1.sop out" relation="relation9"/>
        <link port="RecipeLooper.sof in" relation="relation8"/>
        <link port="RecipeLooper.sop in" relation="relation12"/>
        <link port="RecipeLooper.sof loop" relation="relation3"/>
        <link port="RecipeLooper.iteration complete" relation="relation"/>
        <link port="RecipeLooper.sop loop" relation="relation6"/>
        <link port="RecipeLooper.sof out" relation="relation7"/>
        <link port="RecipeLooper.sop out" relation="relation10"/>
        <link port="SofSplitter.sof in" relation="relation2"/>
        <link port="SofSplitter.sof out" relation="relation8"/>
        <link port="SofSplitter.#groups" relation="relation14"/>
        <link port="SofAccumulator.sof in" relation="relation13"/>
        <link port="SofAccumulator.#groups" relation="relation14"/>
        <link port="SofAccumulator.sof out" relation="relation5"/>
        <link port="SetInteractivity.input" relation="relation16"/>
        <link port="CreateInitialSOP.trigger" relation="relation8"/>
        <link port="CreateInitialSOP.sop_out" relation="relation12"/>
    </entity>
    <entity name="Spectrum Extraction" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:466:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[1280.0, 545.0]">
        </property>
        <property name="EnableInteractivity" class="ptolemy.data.expr.StringParameter" value="$GlobalPlotInteractivity">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -170.0]">
            </property>
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={-212, 59, 1680, 926}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[1431, 769]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.4480599563609">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{191.109375, 38.5276795073376}">
        </property>
        <property name="INIT_EXTRACT_METHOD" class="ptolemy.data.expr.StringParameter" value="optimal">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -150.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_KAPPA" class="ptolemy.data.expr.StringParameter" value="10.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -130.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_PROFILE" class="ptolemy.data.expr.StringParameter" value="auto">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -110.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_SKYMETHOD" class="ptolemy.data.expr.StringParameter" value="optimal">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -90.0]">
            </property>
        </property>
        <property name="INIT_EXTRACT_OVERSAMPLE" class="ptolemy.data.expr.StringParameter" value="-1">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -70.0]">
            </property>
        </property>
        <property name="INIT_SLITLENGTH" class="ptolemy.data.expr.StringParameter" value="-1.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -50.0]">
            </property>
        </property>
        <property name="INIT_OBJOFFSET" class="ptolemy.data.expr.StringParameter" value="0.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -30.0]">
            </property>
        </property>
        <property name="INIT_REBIN_WAVESTEP" class="ptolemy.data.expr.StringParameter" value="-1.0">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;StringParameter specifies a persistent string. &lt;/p&gt;&#10;&#10;&lt;p&gt;Change the name of the StringParameter to better identify the specified value (right-click the parameter and select &quot;Customize Name&quot; from the menu). Other actors may refer to the StringParameter using the $NAME syntax (e.g. $Parameter).&#10;&lt;/p&gt;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:421:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.StringParameter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1185:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Parameter">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Parameter">
            </property>
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
                </property>
            </property>
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                <configure>
        <svg>
          <text x="20" style="font-size:14; font-family:SansSerif; fill:red" y="20">-S-</text>
        </svg>
      </configure>
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-300.0, -10.0]">
            </property>
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="11">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This actor displays plots of recipe output in an interactive plot&#10;window. The user has the option to continue the workflow using these&#10;results, or re-run the recipe after changing one or several recipe&#10;parameters.">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[270.0, -225.0]">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:77:19:urn:lsid:kepler-project.org/ns/:10733:21:26:urn:lsid:kepler-project.org/ns/:12485:8:1:urn:lsid:kepler-project.org/ns/:14170:27:5:urn:lsid:kepler-project.org/ns/:16989:25:19:urn:lsid:kepler-project.org/ns/:25158:15:2:urn:lsid:kepler-project.org/ns/:26405:30:2:urn:lsid:kepler-project.org/ns/:31991:141:1:urn:lsid:kepler-project.org/ns/:37445:38:1">
        </property>
        <port name="sof_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-315.0, 75.0]">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <port name="sof_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[635.0, -120.0]">
            </property>
        </port>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$EnableInteractivity">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:10733:25:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[160.0, -35.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="DisplayExtractionResultsAndUserInput" class="org.eso.PythonActor">
            <property name="Python script" class="ptolemy.data.expr.FileParameter" value="@prefix@/share/esopipes/uves-@VERSION@/reflex/uves_obs_scired_interact.py">
            </property>
            <property name="Run in terminal" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="Lazy Mode" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:26405:29:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.PythonActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[225.0, -145.0]">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
                </property>
                <property name="Python script (parameter)" class="ptolemy.data.expr.StringParameter" value="the filename of the script to be executed (full path)">
                </property>
                <property name="Run in terminal (parameter)" class="ptolemy.data.expr.StringParameter" value="If true, the script is invoked through an external xterm, this is needed for scripts that write on the standard output or require standard input (e.g. some pyraf tasks)">
                </property>
                <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
            </property>
            <property name="out_sop_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="out_sof_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="iteration_complete_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="out_sof_loop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoF">
            </property>
            <property name="out_sop_conversion_mode" class="ptolemy.data.expr.StringParameter" value="SoP">
            </property>
            <property name="set_enable_conversion_mode" class="ptolemy.data.expr.StringParameter" value="Don't convert">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:2:1:urn:lsid:kepler-project.org/ns/:10733:24:2:urn:lsid:kepler-project.org/ns/:16989:44:2:urn:lsid:kepler-project.org/ns/:25158:14:1">
            </property>
            <port name="out_sop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sof_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="out_sof" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="iteration_complete" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="out_sop_loop" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="enable" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sof_rec_orig" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="in_sof" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="in_sop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="set_enable" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="uves_obs_scired_1" class="org.eso.RecipeExecuter">
            <display name="uves_obs_scired"/>
            <property name="Lazy Mode" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="SCI_POINT_BLUE,SCI_POINT_RED,SCI_SLICER_BLUE,SCI_SLICER_RED,SCI_EXTND_BLUE,SCI_EXTND_RED,ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU,LINE_TABLE_BLUE,LINE_TABLE_REDL,LINE_TABLE_REDU,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU,MASTER_DARK_BLUE,MASTER_DARK_REDL,MASTER_DARK_REDU,MASTER_FLAT_BLUE,MASTER_FLAT_REDL,MASTER_FLAT_REDU,EXTCOEFF_TABLE,INSTR_RESPONSE_BLUE,INSTR_RESPONSE_REDL,INSTR_RESPONSE_REDU,MASTER_RESPONSE_BLUE,MASTER_RESPONSE_REDL,MASTER_RESPONSE_REDU,ORDER_QUAL_BLUE,ORDER_QUAL_REDL,ORDER_QUAL_REDU">
            </property>
            <property name="Output Files Category" class="ptolemy.data.expr.StringParameter" value="RED_SCI_POINT_BLUE,RED_SCI_POINT_REDL,RED_SCI_POINT_REDU,ERRORBAR_SCI_POINT_BLUE,ERRORBAR_SCI_POINT_REDL,ERRORBAR_SCI_POINT_REDU,FLUXCAL_SCI_POINT_BLUE,FLUXCAL_SCI_POINT_REDL,FLUXCAL_SCI_POINT_REDU,FLUXCAL_ERRORBAR_SCI_POINT_BLUE,FLUXCAL_ERRORBAR_SCI_POINT_REDL,FLUXCAL_ERRORBAR_SCI_POINT_REDU,RED_SCI_SLICER_BLUE,RED_SCI_SLICER_REDL,RED_SCI_SLICER_REDU,ERRORBAR_SCI_SLICER_BLUE,ERRORBAR_SCI_SLICER_REDL,ERRORBAR_SCI_SLICER_REDU,FLUXCAL_SCI_SLICER_BLUE,FLUXCAL_SCI_SLICER_REDL,FLUXCAL_SCI_SLICER_REDU,FLUXCAL_ERRORBAR_SCI_SLICER_BLUE,FLUXCAL_ERRORBAR_SCI_SLICER_REDL,FLUXCAL_ERRORBAR_SCI_SLICER_REDU,RED_SCI_EXTND_BLUE,RED_SCI_EXTND_REDL,RED_SCI_EXTND_REDU,ERRORBAR_SCI_EXTND_BLUE,ERRORBAR_SCI_EXTND_REDL,ERRORBAR_SCI_EXTND_REDU,FLUXCAL_SCI_EXTND_BLUE,FLUXCAL_SCI_EXTND_REDL,FLUXCAL_SCI_EXTND_REDU,FLUXCAL_ERRORBAR_SCI_EXTND_BLUE,FLUXCAL_ERRORBAR_SCI_EXTND_REDL,FLUXCAL_ERRORBAR_SCI_EXTND_REDU,MERGED_SKY_BLUE,MERGED_SKY_REDL,MERGED_SKY_REDU,ORDER_EXTRACT_QC_BLUE,ORDER_EXTRACT_QC_REDL,ORDER_EXTRACT_QC_REDU">
            </property>
            <property name="Pause before execution" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="recipe_param_4" class="ptolemy.data.expr.Parameter" value="clean_traps=FALSE">
            </property>
            <property name="recipe_param_5" class="ptolemy.data.expr.Parameter" value="reduce.backsub.mmethod=median">
            </property>
            <property name="recipe_param_6" class="ptolemy.data.expr.Parameter" value="reduce.backsub.npoints=82">
            </property>
            <property name="recipe_param_7" class="ptolemy.data.expr.Parameter" value="reduce.backsub.radiusy=2">
            </property>
            <property name="recipe_param_8" class="ptolemy.data.expr.Parameter" value="reduce.backsub.sdegree=1">
            </property>
            <property name="recipe_param_9" class="ptolemy.data.expr.Parameter" value="reduce.backsub.smoothx=-1.0">
            </property>
            <property name="recipe_param_10" class="ptolemy.data.expr.Parameter" value="reduce.backsub.smoothy=-1.0">
            </property>
            <property name="recipe_param_11" class="ptolemy.data.expr.Parameter" value="reduce.extract.method=PORT">
            </property>
            <property name="recipe_param_12" class="ptolemy.data.expr.Parameter" value="reduce.extract.kappa=PORT">
            </property>
            <property name="recipe_param_13" class="ptolemy.data.expr.Parameter" value="reduce.extract.chunk=32">
            </property>
            <property name="recipe_param_14" class="ptolemy.data.expr.Parameter" value="reduce.extract.profile=PORT">
            </property>
            <property name="recipe_param_15" class="ptolemy.data.expr.Parameter" value="reduce.extract.skymethod=PORT">
            </property>
            <property name="recipe_param_16" class="ptolemy.data.expr.Parameter" value="reduce.extract.oversample=PORT">
            </property>
            <property name="recipe_param_17" class="ptolemy.data.expr.Parameter" value="reduce.extract.best=TRUE">
            </property>
            <property name="recipe_param_18" class="ptolemy.data.expr.Parameter" value="reduce.slitlength=PORT">
            </property>
            <property name="recipe_param_19" class="ptolemy.data.expr.Parameter" value="reduce.skysub=TRUE">
            </property>
            <property name="recipe_param_20" class="ptolemy.data.expr.Parameter" value="reduce.objoffset=PORT">
            </property>
            <property name="recipe_param_21" class="ptolemy.data.expr.Parameter" value="reduce.objslit=-1.0">
            </property>
            <property name="recipe_param_22" class="ptolemy.data.expr.Parameter" value="reduce.tiltcorr=TRUE">
            </property>
            <property name="recipe_param_23" class="ptolemy.data.expr.Parameter" value="reduce.ffmethod=extract">
            </property>
            <property name="recipe_param_24" class="ptolemy.data.expr.Parameter" value="reduce.rebin.wavestep=PORT">
            </property>
            <property name="recipe_param_25" class="ptolemy.data.expr.Parameter" value="reduce.rebin.scale=FALSE">
            </property>
            <property name="recipe_param_26" class="ptolemy.data.expr.Parameter" value="reduce.merge=optimal">
            </property>
            <property name="recipe_param_27" class="ptolemy.data.expr.Parameter" value="reduce.merge_delt1=0.0">
            </property>
            <property name="recipe_param_28" class="ptolemy.data.expr.Parameter" value="reduce.merge_delt2=0.0">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[250.0, 95.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
            <port name="sop out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
        </entity>
        <entity name="RecipeLooper" class="org.eso.RecipeLooper">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The RecipeLooper is an actor designed to implement looping capabilities within workflows. It has two set of input ports and a control port: at first it receives a token from the ?standard? input ports, and then it receives a token from the looping input ports until the control port contains a string token whose value is ?false?. When the control port contains a ?true? the actor resets and starts over.</configure></property>
<property name="port:iteration complete" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>control port</configure></property>
<property name="port:sof loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>files to be used for iteration</configure></property>
<property name="port:sop loop" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>parameters to be used in the current iteration</configure></property>
<property name="port:sop in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the initial recipe parameters</configure></property>
<property name="port:sop out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output parameters to be used by the recipe executer</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input files</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>output files</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:workflow:14:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.RecipeLooper">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-60.0, 100.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="sof loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="iteration complete" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="sop loop" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-250.0, 55.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[480.0, -145.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SetInteractivity" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="EnableInteractivity">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:10733:23:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[350.0, -35.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee, Steve Neuendorffer, Jerome Blanc">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
        </entity>
        <entity name="CreateInitialSOP" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:26:10">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[-200.0, 200.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[-305.0, 190.0]">
                </property>
            </port>
            <port name="sop_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[405.0, 205.0]">
                </property>
            </port>
            <entity name="SopCreator" class="org.eso.SopCreator">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SopCreator converts a string to a SoP</configure></property>
<property name="port:in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a string in the format described in Appendix A</configure></property>
<property name="port:out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a SoP</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16989:29:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SopCreator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[295.0, 70.0]">
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:17:1:urn:lsid:kepler-project.org/ns/:14170:28:1">
                </property>
                <port name="param in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                    </property>
                </port>
                <port name="sop out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="InitPredictParam" class="ptolemy.actor.lib.StringConst">
                <property name="value" class="ptolemy.data.expr.Parameter" value="uves_obs_scired:reduce.extract.method=$INIT_EXTRACT_METHOD&#10;uves_obs_scired:reduce.extract.kappa=$INIT_EXTRACT_KAPPA&#10;uves_obs_scired:reduce.extract.profile=$INIT_EXTRACT_PROFILE&#10;uves_obs_scired:reduce.extract.skymethod=$INIT_EXTRACT_SKYMETHOD&#10;uves_obs_scired:reduce.extract.oversample=$INIT_EXTRACT_OVERSAMPLE&#10;uves_obs_scired:reduce.slitlength=$INIT_SLITLENGTH&#10;uves_obs_scired:reduce.objoffset=$INIT_OBJOFFSET&#10;uves_obs_scired:reduce.rebin.wavestep=$INIT_REBIN_WAVESTEP">
                    <property name="style" class="ptolemy.actor.gui.style.TextStyle">
                        <property name="height" class="ptolemy.data.expr.Parameter" value="10">
                        </property>
                        <property name="width" class="ptolemy.data.expr.Parameter" value="30">
                        </property>
                    </property>
                </property>
                <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
                </property>
                <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14170:26:2">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                    </property>
                </property>
                <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
                </property>
                <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[-10.0, 185.0]">
                </property>
                <property name="" class="ptolemy.vergil.basic.DocAttribute">
                    <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee">
                    </property>
                    <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                    <property name="value (parameter)" class="ptolemy.data.expr.StringParameter" value="The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)">
                    </property>
                    <property name="firingCountLimit (parameter)" class="ptolemy.data.expr.StringParameter" value="The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.">
                    </property>
                    <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts a string constant specified by the value parameter.  ">
                    </property>
                    <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. ">
                    </property>
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
                </property>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="trigger" relation="relation2"/>
            <link port="sop_out" relation="relation3"/>
            <link port="SopCreator.param in" relation="relation"/>
            <link port="SopCreator.sop out" relation="relation3"/>
            <link port="InitPredictParam.output" relation="relation"/>
            <link port="InitPredictParam.trigger" relation="relation2"/>
        </entity>
        <relation name="relation6" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation10" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex" value="[70.0, 70.0]">
            </vertex>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[-205.0, 120.0]">
            </vertex>
        </relation>
        <relation name="relation11" 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>
        </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>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation13" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation14" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[505.0, 295.0]">
            </vertex>
        </relation>
        <relation name="relation15" 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="relation16" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="sof_in" relation="relation13"/>
        <link port="sof_out" relation="relation3"/>
        <link port="String Constant.output" relation="relation6"/>
        <link port="String Constant.trigger" relation="relation10"/>
        <link port="DisplayExtractionResultsAndUserInput.out_sof_loop" relation="relation2"/>
        <link port="DisplayExtractionResultsAndUserInput.out_sof" relation="relation15"/>
        <link port="DisplayExtractionResultsAndUserInput.iteration_complete" relation="relation9"/>
        <link port="DisplayExtractionResultsAndUserInput.out_sop_loop" relation="relation8"/>
        <link port="DisplayExtractionResultsAndUserInput.enable" relation="relation6"/>
        <link port="DisplayExtractionResultsAndUserInput.in_sof_rec_orig" relation="relation10"/>
        <link port="DisplayExtractionResultsAndUserInput.in_sof" relation="relation11"/>
        <link port="DisplayExtractionResultsAndUserInput.in_sop" relation="relation12"/>
        <link port="DisplayExtractionResultsAndUserInput.set_enable" relation="relation16"/>
        <link port="uves_obs_scired_1.sof in" relation="relation10"/>
        <link port="uves_obs_scired_1.sop in" relation="relation7"/>
        <link port="uves_obs_scired_1.sof out" relation="relation11"/>
        <link port="uves_obs_scired_1.sop out" relation="relation12"/>
        <link port="RecipeLooper.sof in" relation="relation"/>
        <link port="RecipeLooper.sop in" relation="relation4"/>
        <link port="RecipeLooper.sof loop" relation="relation2"/>
        <link port="RecipeLooper.iteration complete" relation="relation9"/>
        <link port="RecipeLooper.sop loop" relation="relation8"/>
        <link port="RecipeLooper.sof out" relation="relation10"/>
        <link port="RecipeLooper.sop out" relation="relation7"/>
        <link port="SofSplitter.sof in" relation="relation13"/>
        <link port="SofSplitter.sof out" relation="relation"/>
        <link port="SofSplitter.#groups" relation="relation14"/>
        <link port="SofAccumulator.sof in" relation="relation15"/>
        <link port="SofAccumulator.#groups" relation="relation14"/>
        <link port="SofAccumulator.sof out" relation="relation3"/>
        <link port="SetInteractivity.input" relation="relation16"/>
        <link port="CreateInitialSOP.trigger" relation="relation"/>
        <link port="CreateInitialSOP.sop_out" relation="relation4"/>
    </entity>
    <entity name="SofCombiner7" class="org.eso.SofCombiner">
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:workflow:16:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCombiner">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1295.0, 610.0]">
        </property>
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <port name="sof in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <port name="sof out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="multiport"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
    </entity>
    <entity name="DataOrganizer" class="org.eso.DataOrganizer">
        <display name="Data Organiser"/>
        <property name="OCA File" class="ptolemy.data.expr.FileParameter" value="@prefix@/share/esopipes/uves-@VERSION@/reflex/uves_wkf.oca">
        </property>
        <property name="Keywords to be displayed" class="ptolemy.data.expr.StringParameter" value="OBJECT,INS.PATH,DET.CHIPS,DET.WIN1.BINX,DET.WIN1.BINY,DET.READ.SPEED,INS.MODE,INS.SLIT1.NAME,INS.GRAT2.WLEN,INS.GRAT1.WLEN,INS.SLIT2.WID,INS.SLIT3.WID">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31991:13:5">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.DataOrganizer">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
            </property>
            <property name="OCA File (parameter)" class="ptolemy.data.expr.StringParameter" value="The filename (full path) containing the OCA rules used for classification and organization. Look at the user manual for more info.">
            </property>
            <property name="Keywords to be displayed (parameter)" class="ptolemy.data.expr.StringParameter" value="A comma separated list of FITS keywords which are extracted from all files in addition to the ones selected by the OCA rules">
            </property>
            <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="LoSOs (port)" class="ptolemy.kernel.util.StringAttribute" value="The produced LoSOs">
            </property>
            <property name="data dir (port)" class="ptolemy.kernel.util.StringAttribute" value="The directory containing the input data. It is scanned recursively.">
            </property>
            <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[120.0, 645.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:6:1:urn:lsid:kepler-project.org/ns/:5968:13:3:urn:lsid:kepler-project.org/ns/:13180:2:2:urn:lsid:kepler-project.org/ns/:13643:11:1">
        </property>
        <port name="input data" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="datasets out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
    </entity>
    <entity name="Master Flat Creator" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:25047:3:27">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[760.0, 545.0]">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={341, 166, 1125, 809}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[815, 658]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="0.7393757264763">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{461.140625, 435.9699769938651}">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:56:215:urn:lsid:kepler-project.org/ns/:12415:8:1:urn:lsid:kepler-project.org/ns/:12555:18:13:urn:lsid:kepler-project.org/ns/:14164:4:5:urn:lsid:kepler-project.org/ns/:15165:41:56:urn:lsid:kepler-project.org/ns/:16482:10:132:urn:lsid:kepler-project.org/ns/:24723:6:8">
        </property>
        <port name="sof in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-225.0, 290.0]">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <port name="sof out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[960.0, 305.0]">
            </property>
        </port>
        <entity name="SeparateByFlatType" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16482:19:52">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[95.0, 255.0]">
            </property>
            <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={76, 322, 1005, 809}, maximized=false}">
            </property>
            <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[695, 658]">
            </property>
            <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.2865903042925">
            </property>
            <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{287.09375, 424.7146582733814}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:55:45">
            </property>
            <port name="sof_in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[30.0, 355.0]">
                </property>
            </port>
            <port name="DFLAT_INPUT" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[415.0, 520.0]">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
            <port name="ORDERPOS" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[410.0, 355.0]">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
            <port name="FLAT_INPUT" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[405.0, 220.0]">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
            <entity name="FitsRouter" class="org.eso.FitsRouter">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The FitsRouter sorts files based on their category: by default, all files are routed to the rejected directory, but the user can add an additional port and configure the actor to route particular files to the new port. The category is defined by the value of either HIERARCH.ESO.PRO.CATG (keyword added to the file by the pipeline recipes) or DO.CATG (virtual keyword created by the DataOrganizer).&#10;Basic Mode: create an output port named as a category (e.g.: FLAT). All files belonging to that category will be routed to that port.&#10;Advanced Mode: create an output port with any name (e.g.: MyPort), and then create a string parameter whose name is the port name plus ?_config? (e.g.: MyPort_config). This parameter can be a comma separated list of regular expressions: each file whose category matches at least one of the regular expressions will be routed to this port.&#10;If you want to define the minimum or maximum number of files that the actor sends to a port, then you can define a parameter whose name is the port name plus ?_min_number? or ?_max_number?, respectively. If there are too many files, then the actor selects the first, and if there are too few files, then an error is reported.&#10;Note: one file can be routed to many ports and, if a file is not routed to any port, it is routed to the rejected port.&#10;</configure></property>
<property name="port:sof" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input SoF</configure></property>
<property name="port:rejected" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the rejected SoF</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:workflow:7:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.FitsRouter">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="{160.0, 330.0}">
                </property>
                <property name="ORDERPOS_config" class="ptolemy.data.expr.Parameter" value="&quot;ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU&quot;">
                </property>
                <property name="FLAT_config" class="ptolemy.data.expr.Parameter" value="&quot;FLAT_BLUE,FLAT_RED&quot;">
                </property>
                <property name="DFLAT_config" class="ptolemy.data.expr.Parameter" value="&quot;DFLAT_BLUE,DFLAT_RED&quot;">
                </property>
                <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
                <port name="sof rejected" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                    </property>
                    <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                    </property>
                </port>
                <port name="FLAT" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                    </property>
                    <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                    </property>
                </port>
                <port name="DFLAT" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                    </property>
                    <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                    </property>
                </port>
                <port name="ORDERPOS" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="SofCombiner" class="org.eso.SofCombiner">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCombiner takes as input a number of set of files and combines them into one set of files that contains only the files whose purposes are present in all the input tokens. With this respect empty tokens are ignored and files with universal purpose are always collected</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The combined sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16482:46:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCombiner">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[195.0, 195.0]">
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:908:1">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                    </property>
                </port>
                <port name="sof in opt" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="SofCombiner2" class="org.eso.SofCombiner">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCombiner takes as input a number of set of files and combines them into one set of files that contains only the files whose purposes are present in all the input tokens. With this respect empty tokens are ignored and files with universal purpose are always collected</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The combined sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16482:47:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCombiner">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[210.0, 495.0]">
                </property>
                <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:908:1">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                    </property>
                </port>
                <port name="sof in opt" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <vertex name="vertex1" value="[100.0, 355.0]">
                </vertex>
            </relation>
            <relation name="relation6" 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="relation3" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </relation>
            <relation name="relation4" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
                <property name="width" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </relation>
            <link port="sof_in" relation="relation"/>
            <link port="DFLAT_INPUT" relation="relation2"/>
            <link port="ORDERPOS" relation="relation6"/>
            <link port="FLAT_INPUT" relation="relation4"/>
            <link port="FitsRouter.in" relation="relation"/>
            <link port="FitsRouter.FLAT" relation="relation8"/>
            <link port="FitsRouter.DFLAT" relation="relation3"/>
            <link port="FitsRouter.ORDERPOS" relation="relation6"/>
            <link port="SofCombiner.sof in" relation="relation8"/>
            <link port="SofCombiner.sof in opt" relation="relation"/>
            <link port="SofCombiner.sof out" relation="relation4"/>
            <link port="SofCombiner2.sof in" relation="relation3"/>
            <link port="SofCombiner2.sof in opt" relation="relation"/>
            <link port="SofCombiner2.sof out" relation="relation2"/>
        </entity>
        <entity name="SofCombiner" class="org.eso.SofCombiner">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>1.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCombiner combines SoFs from different actors in a single SoF</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>the input SoFs</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>a SoF containing all the input files</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:workflow:16:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCombiner">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[570.0, 240.0]">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="Master DFlat Creation" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16482:9:14">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[335.0, 355.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:95:63:urn:lsid:kepler-project.org/ns/:15165:42:10">
            </property>
            <port name="sof_in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[25.0, 250.0]">
                </property>
            </port>
            <port name="sof_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[595.0, 255.0]">
                </property>
            </port>
            <entity name="uves_cal_mflat_2" class="org.eso.RecipeExecuter">
                <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
                </property>
                <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="DFLAT_BLUE,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU,MASTER_DARK_BLUE,MASTER_DARK_REDL,MASTER_DARK_REDU,ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU">
                </property>
                <property name="File Purpose Processing" class="ptolemy.data.expr.StringParameter" value="Strip last">
                </property>
                <property name="Allow empty inputs" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="Reuse Inputs (Expert Mode)" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[290.0, 210.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="sop in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="SofSplitter" class="org.eso.SofSplitter">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofSplitter takes a set of files as input and split it into smaller sets based on the purpose. This smaller sets can then be sent to e.g. a RecipeExecuter</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sof</configure></property>
<property name="port:#groups" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of groups generated</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The grouped sofs</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12925:5:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofSplitter">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="{150.0, 230.0}">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="#groups" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="SofAccumulator" class="org.eso.SofAccumulator">
                <property name="same dataset" class="ptolemy.data.expr.Parameter" value="true">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofAccumulator is meant to be used together with the SofSplitter: it puts back together in a single set of files the tokens generated by the PurposeSerializer (and usually processed by the RecipeExecuter)</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:#groups" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of groups to collect</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The grouped sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:same dataset" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If true the SofAccumulator throws an error if the input tokens do not belong all to the same dataset</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12925:7:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofAccumulator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[435.0, 230.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="#groups" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation5" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="sof_in" relation="relation4"/>
            <link port="sof_out" relation="relation3"/>
            <link port="uves_cal_mflat_2.sof in" relation="relation"/>
            <link port="uves_cal_mflat_2.sof out" relation="relation2"/>
            <link port="SofSplitter.sof in" relation="relation4"/>
            <link port="SofSplitter.sof out" relation="relation"/>
            <link port="SofSplitter.#groups" relation="relation5"/>
            <link port="SofAccumulator.sof in" relation="relation2"/>
            <link port="SofAccumulator.#groups" relation="relation5"/>
            <link port="SofAccumulator.sof out" relation="relation3"/>
        </entity>
        <entity name="Master Flat Creation" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:16482:18:26">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[350.0, 115.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:96:75:urn:lsid:kepler-project.org/ns/:15165:43:10">
            </property>
            <port name="sof_in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[40.0, 265.0]">
                </property>
            </port>
            <port name="sof_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[585.0, 265.0]">
                </property>
            </port>
            <entity name="uves_cal_mflat_1" class="org.eso.RecipeExecuter">
                <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
                </property>
                <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="FLAT_BLUE,FLAT_RED,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU,MASTER_DARK_BLUE,MASTER_DARK_REDL,MASTER_DARK_REDU,ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU">
                </property>
                <property name="File Purpose Processing" class="ptolemy.data.expr.StringParameter" value="Strip last">
                </property>
                <property name="Allow empty inputs" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[295.0, 220.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="sop in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="SofAccumulator" class="org.eso.SofAccumulator">
                <property name="same dataset" class="ptolemy.data.expr.Parameter" value="true">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofAccumulator is meant to be used together with the SofSplitter: it puts back together in a single set of files the tokens generated by the PurposeSerializer (and usually processed by the RecipeExecuter)</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:#groups" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of groups to collect</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The grouped sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:same dataset" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If true the SofAccumulator throws an error if the input tokens do not belong all to the same dataset</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12925:7:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofAccumulator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[440.0, 245.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="#groups" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="SofSplitter" class="org.eso.SofSplitter">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofSplitter takes a set of files as input and split it into smaller sets based on the purpose. This smaller sets can then be sent to e.g. a RecipeExecuter</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sof</configure></property>
<property name="port:#groups" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of groups generated</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The grouped sofs</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12925:5:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofSplitter">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[170.0, 245.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="#groups" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation5" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="sof_in" relation="relation3"/>
            <link port="sof_out" relation="relation5"/>
            <link port="uves_cal_mflat_1.sof in" relation="relation4"/>
            <link port="uves_cal_mflat_1.sof out" relation="relation2"/>
            <link port="SofAccumulator.sof in" relation="relation2"/>
            <link port="SofAccumulator.#groups" relation="relation"/>
            <link port="SofAccumulator.sof out" relation="relation5"/>
            <link port="SofSplitter.sof in" relation="relation3"/>
            <link port="SofSplitter.sof out" relation="relation4"/>
            <link port="SofSplitter.#groups" relation="relation"/>
        </entity>
        <entity name="Flat Combiner" class="ptolemy.actor.TypedCompositeActor">
            <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:15165:44:10">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>            <property name="_location" class="ptolemy.kernel.util.Location" value="[790.0, 285.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:97:27">
            </property>
            <port name="sof_in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[5.0, 265.0]">
                </property>
            </port>
            <port name="sof_out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[600.0, 265.0]">
                </property>
            </port>
            <entity name="uves_cal_mflat_combine_1" class="org.eso.RecipeExecuter">
                <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
                </property>
                <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="MASTER_DFLAT_BLUE,MASTER_FLAT_BLUE,MASTER_FLAT_REDL,MASTER_FLAT_REDU,ORDER_TABLE_BLUE,ORDER_TABLE_REDL,ORDER_TABLE_REDU">
                </property>
                <property name="File Purpose Processing" class="ptolemy.data.expr.StringParameter" value="Do nothing">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[265.0, 210.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="sop in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
            </entity>
            <entity name="SofSplitter" class="org.eso.SofSplitter">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofSplitter takes a set of files as input and split it into smaller sets based on the purpose. This smaller sets can then be sent to e.g. a RecipeExecuter</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sof</configure></property>
<property name="port:#groups" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of groups generated</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The grouped sofs</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12925:5:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofSplitter">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[135.0, 245.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
                <port name="#groups" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="SofAccumulator" class="org.eso.SofAccumulator">
                <property name="same dataset" class="ptolemy.data.expr.Parameter" value="true">
                </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofAccumulator is meant to be used together with the SofSplitter: it puts back together in a single set of files the tokens generated by the PurposeSerializer (and usually processed by the RecipeExecuter)</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:#groups" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of groups to collect</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The grouped sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:same dataset" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If true the SofAccumulator throws an error if the input tokens do not belong all to the same dataset</configure></property>
</property>                <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12925:7:1">
                </property>
                <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofAccumulator">
                    <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                    </property>
                </property>
                <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[390.0, 245.0]">
                </property>
                <port name="sof in" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                    </property>
                </port>
                <port name="#groups" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                    <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                    </property>
                </port>
                <port name="sof out" class="ptolemy.actor.TypedIOPort">
                    <property name="output"/>
                    <property name="multiport"/>
                    <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                    </property>
                </port>
            </entity>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation5" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="sof_in" relation="relation3"/>
            <link port="sof_out" relation="relation4"/>
            <link port="uves_cal_mflat_combine_1.sof in" relation="relation"/>
            <link port="uves_cal_mflat_combine_1.sof out" relation="relation5"/>
            <link port="SofSplitter.sof in" relation="relation3"/>
            <link port="SofSplitter.sof out" relation="relation"/>
            <link port="SofSplitter.#groups" relation="relation2"/>
            <link port="SofAccumulator.sof in" relation="relation5"/>
            <link port="SofAccumulator.#groups" relation="relation2"/>
            <link port="SofAccumulator.sof out" relation="relation4"/>
        </entity>
        <entity name="SofCombiner2" class="org.eso.SofCombiner">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The SofCombiner takes as input a number of set of files and combines them into one set of files that contains only the files whose purposes are present in all the input tokens. With this respect empty tokens are ignored and files with universal purpose are always collected</configure></property>
<property name="port:sof in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input sofs</configure></property>
<property name="port:sof out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The combined sof</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:908:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.SofCombiner">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-90.0, 255.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="Trim Purpose" class="ptolemy.actor.lib.python.PythonScript">
            <property name="script" class="ptolemy.kernel.util.StringAttribute" value="# This is a simple actor that copies the input to the output.&#10;# You can remove the ports, add new ports, and modify the script.&#10;from org.eso.util import JSONTools&#10;#from org.eso.domain import SetOfFiles&#10;import java.lang.String&#10;import java.util.TreeSet&#10;&#10;class Main :&#10;  &quot;Trim the last purpose&quot;&#10;  def fire(self) :&#10;    in_sof = self.in_sof.get(0)&#10;    out_sof = JSONTools.fromJSON(in_sof.stringValue())&#10;    for fitsFile in out_sof.getFiles():&#10;       newPurposes = java.util.TreeSet()&#10;       purposes = fitsFile.purposes&#10;       for purpose in purposes:&#10;         purpose_java = java.lang.String(purpose)&#10;         purpose_trimmed = purpose_java.replaceFirst(&quot;[A-Za-z0-9.:_]*/&quot;, &quot;&quot;)&#10;         newPurposes.add(purpose_trimmed)&#10;       fitsFile.setPurposes(newPurposes)&#10;&#10;    self.out_sof.broadcast(StringToken(out_sof.toJSON().toString(2)))&#10;    return&#10;&#10;&#10;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Xiaojun Liu</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;&#10;This actor executes a Python script. The default script has an&#10;input port and an output port. To view or edit the script, double-click&#10;on the actor.&#10;&lt;p&gt;&#10;&#10;As an example, a simplified version of the Scale actor can be&#10;implemented by the following script:&#10;&lt;/p&gt;&#10;&lt;pre&gt;&#10;1.  class Main :&#10;2. &quot;scale&quot;&#10;3.    def fire(self) :&#10;4.      if not self.input.hasToken(0) :&#10;5.        return&#10;6.      s = self.scale.getToken()&#10;7.      t = self.input.get(0)&#10;8.      self.output.broadcast(s.multiply(t))&#10;&lt;/pre&gt;&#10;Line 1 defines a Python class Main. This name is fixed. An instance&#10;of this&#10; class is created when the actor is initialized. Line&#10;2 is a description of&#10; the purpose of the script. Lines 3-8&#10;define the fire() method. In the method body,&#10; &lt;i&gt;input&lt;/i&gt;&#10;and &lt;i&gt;output&lt;/i&gt; are ports that have been&#10; added&#10;to the actor, and &lt;i&gt;scale&lt;/i&gt; is a parameter added to&#10;the actor (these can be added in the XML that defines the&#10; actor&#10;instance in an actor library).  The Main class can provide other&#10;&#10;methods in the Executable interface&#10; as needed.&#10; &lt;p&gt;&#10;&#10;In the script, use &lt;code&gt;self.actor&lt;/code&gt; to access&#10;the actor.  For example,&#10;&#10;&lt;code&gt;self.actor.getDirector()&lt;/code&gt; returns the current&#10;director of the&#10; actor. For debugging, use&#10;&lt;code&gt;self.actor.debug(someMessage)&lt;/code&gt;. The&#10;&#10;final message sent to the debug listeners of the actor will have&#10;the string&#10; &quot;From script: &quot; inserted at the beginning.&#10;To avoid generating the debug&#10; message when there are no&#10;listeners, use:&#10;&lt;pre&gt;&#10;if self.actor.isDebugging() :&#10;  self.actor.debug(someMessage)&#10;&lt;/pre&gt;&#10;&lt;p&gt;&#10;This class relies on Jython, which is a Java implementation of&#10;Python.&#10;&lt;/p&gt;&#10;Follow the links below for more information about the Python&#10;language,&#10; licensing, downloads, etc.&#10;&lt;p&gt;&lt;a href=&quot;http://www.python.org&quot; target=&quot;_top&quot;&gt;Python&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href=&quot;http://www.jython.org&quot; target=&quot;_top&quot;&gt;Jython&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href=&quot;http://www.jython.org/docs/differences.html&quot;&gt;Differences between Jython and the C version of Python&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a&#10;href=&quot;http://www.jython.org/Project/userguide.html#the-jython-registry&quot;&gt;The&#10;Jython Registry&lt;/a&gt; - information about how to set the search&#10;path.&#10;&#10;&lt;/p&gt;&#10;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:25047:2:13">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.python.PythonScript">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:545:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
            </property>
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.TextEditorConfigureFactory">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="script">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[340.0, 245.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:545:1:urn:lsid:kepler-project.org/ns/:16482:31:16:urn:lsid:kepler-project.org/ns/:24723:5:7">
            </property>
            <port name="in_sof" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
            </port>
            <port name="out_sof" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
            </port>
        </entity>
        <relation name="relation7" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation9" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation8" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation10" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation11" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
            <vertex name="vertex1" value="{220.0, 250.0}">
            </vertex>
        </relation>
        <relation name="relation6" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
            <vertex name="vertex1" value="{455.0, 245.0}">
            </vertex>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
            <vertex name="vertex1" value="[545.0, 385.0]">
            </vertex>
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
            <vertex name="vertex1" value="[565.0, 140.0]">
            </vertex>
        </relation>
        <link port="sof in" relation="relation8"/>
        <link port="sof out" relation="relation10"/>
        <link port="SeparateByFlatType.sof_in" relation="relation5"/>
        <link port="SeparateByFlatType.DFLAT_INPUT" relation="relation9"/>
        <link port="SeparateByFlatType.ORDERPOS" relation="relation11"/>
        <link port="SeparateByFlatType.FLAT_INPUT" relation="relation7"/>
        <link port="SofCombiner.sof in" relation="relation2"/>
        <link port="SofCombiner.sof in opt" relation="relation6"/>
        <link port="SofCombiner.sof in opt" relation="relation"/>
        <link port="SofCombiner.sof out" relation="relation4"/>
        <link port="Master DFlat Creation.sof_in" relation="relation9"/>
        <link port="Master DFlat Creation.sof_out" relation="relation"/>
        <link port="Master Flat Creation.sof_in" relation="relation7"/>
        <link port="Master Flat Creation.sof_out" relation="relation2"/>
        <link port="Flat Combiner.sof_in" relation="relation4"/>
        <link port="Flat Combiner.sof_out" relation="relation10"/>
        <link port="SofCombiner2.sof in" relation="relation8"/>
        <link port="SofCombiner2.sof out" relation="relation5"/>
        <link port="Trim Purpose.in_sof" relation="relation11"/>
        <link port="Trim Purpose.out_sof" relation="relation6"/>
    </entity>
    <entity name="FitsRouter2" class="org.eso.FitsRouter">
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13643:12:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.FitsRouter">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
            </property>
            <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="rejected (port)" class="ptolemy.kernel.util.StringAttribute" value="The rejected SoF">
            </property>
            <property name="sof (port)" class="ptolemy.kernel.util.StringAttribute" value="The input SoF">
            </property>
            <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[249.25, 944.75]">
        </property>
        <property name="DARK_config" class="ptolemy.data.expr.Parameter" value="&quot;DARK_BLUE,DARK_RED&quot;">
        </property>
        <property name="PREDICT_config" class="ptolemy.data.expr.Parameter" value="&quot;ARC_LAMP_FORM_BLUE,ARC_LAMP_FORM_RED&quot;">
        </property>
        <property name="PREDICT_AUX_config" class="ptolemy.data.expr.Parameter" value="&quot;LINE_REFER_TABLE&quot;">
        </property>
        <property name="ORDERPOS_config" class="ptolemy.data.expr.Parameter" value="&quot;ORDER_FLAT_BLUE,ORDER_FLAT_RED&quot;">
        </property>
        <property name="WAVECAL_config" class="ptolemy.data.expr.Parameter" value="&quot;ARC_LAMP_BLUE,ARC_LAMP_RED,LINE_REFER_TABLE&quot;">
        </property>
        <property name="STANDARD_config" class="ptolemy.data.expr.Parameter" value="&quot;STANDARD_BLUE,STANDARD_RED&quot;">
        </property>
        <property name="STANDARD_AUX_config" class="ptolemy.data.expr.Parameter" value="&quot;FLUX_STD_TABLE,EXTCOEFF_TABLE&quot;">
        </property>
        <property name="SCIENCE_config" class="ptolemy.data.expr.Parameter" value="&quot;SCI_POINT_BLUE,SCI_POINT_RED,SCI_SLICER_BLUE,SCI_SLICER_RED,SCI_EXTND_BLUE,SCI_EXTND_RED&quot;">
        </property>
        <property name="SCIENCE_AUX_config" class="ptolemy.data.expr.Parameter" value="&quot;EXTCOEFF_TABLE,MASTER_RESPONSE_BLUE,MASTER_RESPONSE_REDL,MASTER_RESPONSE_REDU&quot;">
        </property>
        <property name="FLAT_config" class="ptolemy.data.expr.Parameter" value="&quot;FLAT_BLUE,FLAT_RED,DFLAT_BLUE,DFLAT_RED&quot;">
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
            </property>
        </property>
        <property name="FLAT_minnumber" class="ptolemy.data.expr.Parameter" value="5">
        </property>
        <property name="BIAS_config" class="ptolemy.data.expr.Parameter" value="&quot;BIAS_BLUE,BIAS_RED&quot;">
        </property>
        <property name="BIAS_minnumber" class="ptolemy.data.expr.Parameter" value="3">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org/ns/:2479:35:6:urn:lsid:kepler-project.org/ns/:5968:143:5:urn:lsid:kepler-project.org/ns/:13180:13:5">
        </property>
        <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
        </property>
        <port name="sof rejected" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="multiport"/>
            <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="DARK" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="BIAS" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="PREDICT" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="PREDICT_AUX" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="ORDERPOS" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="FLAT" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="SCIENCE" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="SCIENCE_AUX" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <port name="STANDARD" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="STANDARD_AUX" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="WAVECAL" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
    </entity>
    <entity name="Master Bias Creation" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:5968:91:27">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[310.0, 745.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1">
        </property>
        <port name="sof_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-75.0, 210.0]">
            </property>
        </port>
        <port name="sof_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[580.0, 210.0]">
            </property>
        </port>
        <entity name="uves_cal_mbias_1" class="org.eso.RecipeExecuter">
            <display name="uves_cal_mbias"/>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[225.0, 160.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
            <port name="sof out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[40.0, 190.0]">
            </property>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[395.0, 190.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="sof_in" relation="relation"/>
        <link port="sof_out" relation="relation4"/>
        <link port="uves_cal_mbias_1.sof in" relation="relation2"/>
        <link port="uves_cal_mbias_1.sof out" relation="relation3"/>
        <link port="SofSplitter.sof in" relation="relation"/>
        <link port="SofSplitter.sof out" relation="relation2"/>
        <link port="SofSplitter.#groups" relation="relation5"/>
        <link port="SofAccumulator.sof in" relation="relation3"/>
        <link port="SofAccumulator.#groups" relation="relation5"/>
        <link port="SofAccumulator.sof out" relation="relation4"/>
    </entity>
    <entity name="Order Detection" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14164:2:5">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[710.0, 810.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:5968:114:15:urn:lsid:kepler-project.org/ns/:12415:3:4:urn:lsid:kepler-project.org/ns/:12555:15:6">
        </property>
        <port name="sof_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[615.0, 265.0]">
            </property>
        </port>
        <port name="sof_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[-90.0, 265.0]">
            </property>
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
            </property>
        </port>
        <entity name="uves_cal_orderpos_1" class="org.eso.RecipeExecuter">
            <display name="uves_cal_orderpos"/>
            <property name="Recipe Failure Mode" class="ptolemy.data.expr.StringParameter" value="$RecipeFailureMode">
            </property>
            <property name="Input Files Category" class="ptolemy.data.expr.StringParameter" value="ORDER_GUESS_TAB_BLUE,ORDER_GUESS_TAB_REDL,ORDER_GUESS_TAB_REDU,ORDER_FLAT_BLUE,ORDER_FLAT_RED,MASTER_BIAS_REDL,MASTER_BIAS_BLUE,MASTER_BIAS_REDL,MASTER_BIAS_REDU">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[300.0, 205.0]">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
            <port name="sop in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="SofSplitter" class="org.eso.SofSplitter">
            <property name="_location" class="ptolemy.kernel.util.Location" value="[85.0, 240.0]">
            </property>
        </entity>
        <entity name="SofAccumulator" class="org.eso.SofAccumulator">
            <property name="_location" class="ptolemy.kernel.util.Location" value="{492.11539459228516, 240.02881622314453}">
            </property>
            <port name="sof in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0">
                </property>
            </port>
            <port name="#groups" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="sof_out" relation="relation5"/>
        <link port="sof_in" relation="relation4"/>
        <link port="uves_cal_orderpos_1.sof in" relation="relation"/>
        <link port="uves_cal_orderpos_1.sof out" relation="relation2"/>
        <link port="SofSplitter.sof in" relation="relation4"/>
        <link port="SofSplitter.sof out" relation="relation"/>
        <link port="SofSplitter.#groups" relation="relation3"/>
        <link port="SofAccumulator.sof in" relation="relation2"/>
        <link port="SofAccumulator.#groups" relation="relation3"/>
        <link port="SofAccumulator.sof out" relation="relation5"/>
    </entity>
    <entity name="Initialise Current Dataset2" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31989:28:48">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="{115.0, 945.0}">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={208, 234, 1327, 816}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[1011, 659]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0069218279703">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{507.0250688367565, 388.2349360666744}">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Yuhong Xiong">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:12776:22:11:urn:lsid:kepler-project.org/ns/:2745:94:5:urn:lsid:kepler-project.org/ns/:13757:119:12:urn:lsid:kepler-project.org/ns/:14094:9:50:urn:lsid:kepler-project.org/ns/:15314:21:358:urn:lsid:kepler-project.org/ns/:25158:32:9">
        </property>
        <property name="Rectangle" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{875.0, 75.0}">
            </property>
            <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
            </property>
            <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="width" class="ptolemy.data.expr.Parameter" value="319.0">
            </property>
            <property name="height" class="ptolemy.data.expr.Parameter" value="72.0">
            </property>
            <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
            </property>
            <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13757:120:5">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1">
            </property>
        </property>
        <property name="Rectangle2" class="ptolemy.vergil.kernel.attributes.RectangleAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{875.0, 75.0}">
            </property>
            <property name="lineWidth" class="ptolemy.data.expr.Parameter" value="5">
            </property>
            <property name="lineColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="width" class="ptolemy.data.expr.Parameter" value="319.0">
            </property>
            <property name="height" class="ptolemy.data.expr.Parameter" value="72.0">
            </property>
            <property name="centered" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="fillColor" class="ptolemy.actor.gui.ColorAttribute" value="none">
            </property>
            <property name="rounding" class="ptolemy.data.expr.Parameter" value="20">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Rectangle attribute renders a rectangle on the Workflow canvas. Single-click the rectangle to drag the resize handles and adjust the shape's size, or double-click the rectangle to customize its height, width, line width, color, and fill color.&lt;/p&gt;</configure></property>
<property name="prop:lineWidth" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line width. The value is a double that defaults to 1.0.</configure></property>
<property name="prop:height" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:dashArray" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify a dash-pattern for dashed or dotted lines. The value consists of an array of doubles that specify the length of the alternating solid and transparent segments. An empty value indicates that the line should not be dashed (the default).</configure></property>
<property name="prop:centered" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Indicate whether the shape should be centered on its origin. By default, the location is the upper-left corner.</configure></property>
<property name="prop:rounding" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount of rounding of the corners. The value is a double that defaults to 0.0, which indicates no rounding.</configure></property>
<property name="prop:width" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal extent. The value is a double that defaults to 100.0.</configure></property>
<property name="prop:lineColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The line color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:fillColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The fill color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. By default, the value is &quot;none.&quot;</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13757:120:5">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.vergil.kernel.attributes.RectangleAttribute">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1197:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DecorativeActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:434:1">
            </property>
        </property>
        <property name="DDF Director" class="ptolemy.domains.ddf.kernel.DDFDirector">
            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="maximumReceiverCapacity" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="runUntilDeadlockInOneIteration" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Gang Zhou</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;            &lt;p&gt; The dynamic dataflow (DDF) domain is a superset of the synchronous&#10;            dataflow(SDF) and Boolean dataflow(BDF) domains. In the SDF domain,&#10;            an actor consumes and produces a fixed number of tokens per firing.&#10;            This static information makes possible compile-time scheduling. In the&#10;            DDF domain, there are few constraints on the production and consumption&#10;            behavior of actors, and the schedulers make no attempt to construct a&#10;            compile-time schedule. Instead, each actor has a set of firing rules&#10;            (patterns) and can be fired if one of them is satisfied, i.e., one&#10;            particular firing pattern forms a prefix of sequences of unconsumed&#10;            tokens at input ports. The canonical actors in the DDF domain include&#10;            Select and Switch, which consume or produce tokens on different channels&#10;            based on the token received from the control port. (In practice, use&#10;            DDFSelect and DDFBooleanSelect in the DDF-specific library instead of&#10;            Select and BooleanSelect in the regular FlowControl library; however,&#10;            Switch and BooleanSwitch in the regular FlowControl library can be&#10;            used in DDF domain.)&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The dynamic scheduler implemented in this director fires all enabled&#10;            and non-deferrable actors once in a basic iteration. A deferrable&#10;            actor is one that will not help one of the downstream actors become&#10;            enabled because that downstream actor either already has enough tokens on&#10;            the channel connecting those two actors or is waiting for tokens on&#10;            another channel. If no actor fires so far, which means there is no&#10;            enabled and non-deferrable actor, then among all enabled and deferrable&#10;            actors, this director fires those which have the smallest maximum number&#10;            of tokens on their output channels which satisfy the demand of destination&#10;            actors. If still no actor fires, then there is no enabled actor. A user&#10;            can treat several such basic iterations as a single iteration by adding&#10;            a parameter with name &lt;i&gt;requiredFiringsPerIteration&lt;/i&gt; to an actor&#10;            (which is often a sink actor or an actor directly connected to output port&#10;            of the composite actor) and specifying the number of times this actor must&#10;            be fired in a single iteration. If the value of the parameter&#10;            &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; is a BooleanToken with value true,&#10;            one single iteration consists of repeating the basic iteration until&#10;            deadlock is reached (thus overriding the previous definition of one&#10;            iteration), which is the status of the model where all active&#10;            actors under the control of this director are unable to fire because&#10;            their firing rules are not satisfied. However, they may be able to fire&#10;            again during next iteration when tokens are transferred in from an outside&#10;            domain. Note &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; can be set to true&#10;            only when this director is not on the top level.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The algorithm implementing one basic iteration goes like this:&#10;            &lt;pre&gt;&#10;            E = set of enabled actors&#10;            D = set of deferrable enabled actors&#10;            &lt;/pre&gt;&#10;            One basic(default) iteration consists of:&#10;            &lt;pre&gt;&#10;            if (E\D != empty set) {&#10;            fire (E\D)&#10;            } else if (D != empty set) {&#10;            fire minimax(D)&#10;            } else {&#10;            declare deadlock&#10;            }&#10;            &lt;/pre&gt;&#10;            The function &quot;minimax(D)&quot; returns a subset of D with the smallest&#10;            maximum number of tokens on their output channels which satisfy the&#10;            demand of destination actors.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Note that any SDF model can be run with a DDF Director. However, the&#10;            notion of iteration is different. One could try to imitate the SDF&#10;            iteration in the DDF domain by controlling the number of firings in one&#10;            iteration for some actors, such as requiring a plotter to plot a fixed&#10;            number of points in each iteration.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; In the DDF domain, the firing rule of any actor is specified by the token&#10;            consumption rates of its input ports. A general DDF actor could change&#10;            the consumption rates of its input ports after each firing of this actor.&#10;            For multiports, an array token could be used to specify different rates&#10;            for different channels connected to the same multiport. Note that in SDF,&#10;            all channels connected to the same multiport have the same rate.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Based on DDFSimpleSched in Ptolemy Classic, by Edward Lee.&#10;            See E. A. Lee et al., &quot;The Almagest,&quot; documentation for Ptolemy Classic,&#10;            Vol. 1, Chapter 7, 1997.&lt;/p&gt;&#10;           &#10;        </configure></property>
<property name="prop:iterations" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify the number of times a workflow is iterated. By default, this parameter is set to &quot;0&quot;. Note that &quot;0&quot; does not mean &quot;no iterations.&quot; Rather, &quot;0&quot; means that the workflow will iterate forever. Values greater than zero specify the actual number of times the director should execute the entire workflow. </configure></property>
<property name="prop:maximumReceiverCapacity" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A Parameter representing the maximum capacity of each receiver controlled by this director. This is an integer that defaults to 0, which means the queue in each receiver is unbounded. To specify bounded queues, set this to a positive integer. </configure></property>
<property name="prop:runUntilDeadlockInOneIteration" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A parameter indicating whether one iteration consists of repeated basic iterations until deadlock. If this parameter is true, the model will be executed until deadlock in one iteration. The default value is a BooleanToken with the value false. It cannot be set to true if this director is at the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:88:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.ddf.kernel.DDFDirector">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:5:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Director">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Director">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{730.0, 85.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:director:5:1">
            </property>
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="18">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.4,0.4,0.0,1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Display current processed data set">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14094:10: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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{885.0, 95.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1:urn:lsid:kepler-project.org/ns/:13757:121:3">
            </property>
        </property>
        <port name="dataset" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{355.0, 650.0}">
            </property>
        </port>
        <port name="dataset_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{110.0, 350.0}">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="current_dataset" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{805.0, 350.0}">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <entity name="CurrentDataSet" class="org.eso.CurrentDataSet">
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:12341:47:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.CurrentDataSet">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{410.0, 330.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList">
            </property>
            <port name="in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="dataset name" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="Processing dataset ">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{467.57806, 87.69272}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="2" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:79:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{662.57806, 247.69272}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1:urn:lsid:kepler-project.org/ns/:13757:392:4">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="Display" class="ptolemy.actor.lib.gui.Display">
            <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={1164, 651, 512, 394}, maximized=false}">
            </property>
            <property name="_paneSize" class="ptolemy.actor.gui.SizeAttribute" value="[508, 346]">
            </property>
            <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="true">
            </property>
            <property name="title" class="ptolemy.data.expr.StringParameter" value="Current DataSet">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong, Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Display actor reads tokens of any type via its input multiport, and displays each token on a separate line in a text display window.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify the size of the text display window with the rowsDisplayed and columnsDisplayed parameters. Simply resizing the window onscreen does not persistently change the size when the workflow is saved, closed, and then re-opened. &lt;/p&gt;&#10;&#10;&lt;p&gt;If the input is a string token, then the actor strips the surrounding quotation marks before displaying the value.&lt;/p&gt; &#10;&#10;&lt;p&gt;Select the suppressBlankLines parameter to specify that the actor not add blank lines to the display. By default, the actor will add blank lines.&lt;/p&gt;&#10;&#10;&lt;p&gt;Note: this actor can consume large amounts of memory. It is not advisable to use it to display large output streams.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts tokens of any type.</configure></property>
<property name="prop:suppressBlankLines" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether the actor should display blank lines (the default) or suppress them.</configure></property>
<property name="prop:rowsDisplayed" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical size of the display, in rows. The value is an integer that defaults to 10.</configure></property>
<property name="prop:columnsDisplayed" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal size of the display, in columns. The value is an integer that defaults to 40.</configure></property>
<property name="prop:title" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The title of the text display window. If specified, the value will appear in the title bar of the text display window.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:83:2">
            </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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#TextualOutput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{765.0, 245.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:7:1">
            </property>
        </entity>
        <entity name="Counter" class="ptolemy.actor.lib.Counter">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Steve Neuendorffer</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Counter actor increments or decrements an internal counter, depending on its inputs. The actor outputs the counter value as an integer.&lt;/p&gt;&#10;&#10;&lt;p&gt;Each time the actor fires, it adjusts its internal counter (incrementing or decrementing the count) based on the input. Whenever a token is received from the increment input, the internal counter is incremented. Whenever a token is received from the decrement port, the internal counter is decremented. Whenever a token is received from either input port, a token is created on the output port with the integer value of the current count. At most one token will be consumed from each input during each firing. If a token is present on both input ports, then the increment and the decrement will cancel out (i.e., the count will remain unchanged), and only one output token will be produced.&lt;/p&gt;</configure></property>
<property name="port:increment" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port used to increment the counter. The port accepts tokens of any type. </configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the counter value.</configure></property>
<property name="port:decrement" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port used to decrement the counter. The port accepts tokens of any type.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:80:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Counter">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:947:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#IterativeMathOperationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{412.57806, 132.69272}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:72:1">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The Counter actor increments or decrements an internal counter, depending on its inputs. The actor outputs the counter value as an integer.&lt;/p&gt;&#10;&#10;&lt;p&gt;Each time the actor fires, it adjusts its internal counter (incrementing or decrementing the count) based on the input. Whenever a token is received from the increment input, the internal counter is incremented. Whenever a token is received from the decrement port, the internal counter is decremented. Whenever a token is received from either input port, a token is created on the output port with the integer value of the current count. At most one token will be consumed from each input during each firing. If a token is present on both input ports, then the increment and the decrement will cancel out (i.e., the count will remain unchanged), and only one output token will be produced.&lt;/p&gt;">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Steve Neuendorffer">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="increment (port)" class="ptolemy.kernel.util.StringAttribute" value="An input port used to increment the counter. The port accepts tokens of any type. ">
                </property>
                <property name="decrement (port)" class="ptolemy.kernel.util.StringAttribute" value="An input port used to decrement the counter. The port accepts tokens of any type.">
                </property>
                <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts the counter value.">
                </property>
            </property>
            <port name="decrement" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
                <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant2" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$GLOBAL_TIMESTAMP">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:13757:393:3">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{380.0, 510.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:14094:13:2">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="3" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;/&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:90:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{490.0, 535.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1:urn:lsid:kepler-project.org/ns/:13757:392:4">
            </property>
            <port name="parts" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
        </entity>
        <entity name="Directory Maker" class="org.resurgence.actor.DirectoryMaker">
            <property name="Directory name" class="ptolemy.actor.parameters.PortParameter" value="ROOT_DATA_PATH_TO_REPLACE/reflex_end_products/2013-09-26T17:08:24/UVES.2008-10-26T00:24:47.790">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The DirectoryMaker actor creates a new local directory and outputs its path.&lt;/p&gt;&#10;&#10;&lt;p&gt;The name of the new directory is specified with the directoryName parameter.&lt;/p&gt;</configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time.</configure></property>
<property name="port:path" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the new directory path.</configure></property>
<property name="prop:Directory name" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The name and path of the new directory. See FileParameter for more information about specifying paths.</configure></property>
</property>            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.DirectoryMaker">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1111:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#FileSystemActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#FileSystem">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{805.0, 625.0}">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The DirectoryMaker actor creates a new local directory and outputs its path.&lt;/p&gt;&#10;&#10;&lt;p&gt;The name of the new directory is specified with the directoryName parameter.&lt;/p&gt;">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Wibke Sudholt">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time.">
                </property>
                <property name="path (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts the new directory path.">
                </property>
                <property name="Directory name (parameter)" class="ptolemy.data.expr.StringParameter" value="The name and path of the new directory. See FileParameter for more information about specifying paths.">
                </property>
            </property>
            <property name="requiredFiringsPerIteration" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant3" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$N_SELECTED_DATASETS: ">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{422.57806, 262.69272}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="Variable Setter" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="END_PRODUCTS_SUBDIR">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:89:6">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{625.0, 445.0}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1:urn:lsid:kepler-project.org/ns/:13757:404:3">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee, Steve Neuendorffer, Jerome Blanc">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
        </entity>
        <entity name="String Constant4" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value=" out of ">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{437.57806, 197.69272}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Accumulator" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;/&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31989:93:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{625.0, 625.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="String Constant5" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$END_PRODUCTS_DIR">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31989:92:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{675.0, 535.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:14094:13:2:urn:lsid:kepler-project.org/ns/:13757:393:3">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[560.0, 330.0]">
            </vertex>
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation5" 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="[250.0, 330.0]">
            </vertex>
        </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>
        <relation name="relation11" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[565.0, 545.0]">
            </vertex>
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <link port="dataset" relation="relation7"/>
        <link port="dataset_in" relation="relation7"/>
        <link port="current_dataset" relation="relation2"/>
        <link port="CurrentDataSet.in" relation="relation7"/>
        <link port="CurrentDataSet.dataset name" relation="relation2"/>
        <link port="String Constant.output" relation="relation9"/>
        <link port="String Constant.trigger" relation="relation7"/>
        <link port="2.parts" relation="relation9"/>
        <link port="2.parts" relation="relation6"/>
        <link port="2.parts" relation="relation5"/>
        <link port="2.parts" relation="relation4"/>
        <link port="2.parts" relation="relation2"/>
        <link port="2.whole" relation="relation3"/>
        <link port="Display.input" relation="relation3"/>
        <link port="Counter.increment" relation="relation7"/>
        <link port="Counter.output" relation="relation6"/>
        <link port="String Constant2.output" relation="relation8"/>
        <link port="String Constant2.trigger" relation="relation7"/>
        <link port="3.parts" relation="relation8"/>
        <link port="3.parts" relation="relation2"/>
        <link port="3.whole" relation="relation11"/>
        <link port="Directory Maker.Directory name" relation="relation"/>
        <link port="String Constant3.output" relation="relation4"/>
        <link port="String Constant3.trigger" relation="relation7"/>
        <link port="Variable Setter.input" relation="relation11"/>
        <link port="String Constant4.output" relation="relation5"/>
        <link port="String Constant4.trigger" relation="relation7"/>
        <link port="String Accumulator.parts" relation="relation12"/>
        <link port="String Accumulator.parts" relation="relation11"/>
        <link port="String Accumulator.whole" relation="relation"/>
        <link port="String Constant5.output" relation="relation12"/>
        <link port="String Constant5.trigger" relation="relation11"/>
    </entity>
    <entity name="Data Set Selection" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:462:2">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 795.0]">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:31989:59:5">
        </property>
        <property name="DDF Director" class="ptolemy.domains.ddf.kernel.DDFDirector">
            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="maximumReceiverCapacity" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="runUntilDeadlockInOneIteration" class="ptolemy.data.expr.Parameter" value="true">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Gang Zhou</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;            &lt;p&gt; The dynamic dataflow (DDF) domain is a superset of the synchronous&#10;            dataflow(SDF) and Boolean dataflow(BDF) domains. In the SDF domain,&#10;            an actor consumes and produces a fixed number of tokens per firing.&#10;            This static information makes possible compile-time scheduling. In the&#10;            DDF domain, there are few constraints on the production and consumption&#10;            behavior of actors, and the schedulers make no attempt to construct a&#10;            compile-time schedule. Instead, each actor has a set of firing rules&#10;            (patterns) and can be fired if one of them is satisfied, i.e., one&#10;            particular firing pattern forms a prefix of sequences of unconsumed&#10;            tokens at input ports. The canonical actors in the DDF domain include&#10;            Select and Switch, which consume or produce tokens on different channels&#10;            based on the token received from the control port. (In practice, use&#10;            DDFSelect and DDFBooleanSelect in the DDF-specific library instead of&#10;            Select and BooleanSelect in the regular FlowControl library; however,&#10;            Switch and BooleanSwitch in the regular FlowControl library can be&#10;            used in DDF domain.)&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The dynamic scheduler implemented in this director fires all enabled&#10;            and non-deferrable actors once in a basic iteration. A deferrable&#10;            actor is one that will not help one of the downstream actors become&#10;            enabled because that downstream actor either already has enough tokens on&#10;            the channel connecting those two actors or is waiting for tokens on&#10;            another channel. If no actor fires so far, which means there is no&#10;            enabled and non-deferrable actor, then among all enabled and deferrable&#10;            actors, this director fires those which have the smallest maximum number&#10;            of tokens on their output channels which satisfy the demand of destination&#10;            actors. If still no actor fires, then there is no enabled actor. A user&#10;            can treat several such basic iterations as a single iteration by adding&#10;            a parameter with name &lt;i&gt;requiredFiringsPerIteration&lt;/i&gt; to an actor&#10;            (which is often a sink actor or an actor directly connected to output port&#10;            of the composite actor) and specifying the number of times this actor must&#10;            be fired in a single iteration. If the value of the parameter&#10;            &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; is a BooleanToken with value true,&#10;            one single iteration consists of repeating the basic iteration until&#10;            deadlock is reached (thus overriding the previous definition of one&#10;            iteration), which is the status of the model where all active&#10;            actors under the control of this director are unable to fire because&#10;            their firing rules are not satisfied. However, they may be able to fire&#10;            again during next iteration when tokens are transferred in from an outside&#10;            domain. Note &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; can be set to true&#10;            only when this director is not on the top level.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The algorithm implementing one basic iteration goes like this:&#10;            &lt;pre&gt;&#10;            E = set of enabled actors&#10;            D = set of deferrable enabled actors&#10;            &lt;/pre&gt;&#10;            One basic(default) iteration consists of:&#10;            &lt;pre&gt;&#10;            if (E\D != empty set) {&#10;            fire (E\D)&#10;            } else if (D != empty set) {&#10;            fire minimax(D)&#10;            } else {&#10;            declare deadlock&#10;            }&#10;            &lt;/pre&gt;&#10;            The function &quot;minimax(D)&quot; returns a subset of D with the smallest&#10;            maximum number of tokens on their output channels which satisfy the&#10;            demand of destination actors.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Note that any SDF model can be run with a DDF Director. However, the&#10;            notion of iteration is different. One could try to imitate the SDF&#10;            iteration in the DDF domain by controlling the number of firings in one&#10;            iteration for some actors, such as requiring a plotter to plot a fixed&#10;            number of points in each iteration.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; In the DDF domain, the firing rule of any actor is specified by the token&#10;            consumption rates of its input ports. A general DDF actor could change&#10;            the consumption rates of its input ports after each firing of this actor.&#10;            For multiports, an array token could be used to specify different rates&#10;            for different channels connected to the same multiport. Note that in SDF,&#10;            all channels connected to the same multiport have the same rate.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Based on DDFSimpleSched in Ptolemy Classic, by Edward Lee.&#10;            See E. A. Lee et al., &quot;The Almagest,&quot; documentation for Ptolemy Classic,&#10;            Vol. 1, Chapter 7, 1997.&lt;/p&gt;&#10;           &#10;        </configure></property>
<property name="prop:maximumReceiverCapacity" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A Parameter representing the maximum capacity of each receiver controlled by this director. This is an integer that defaults to 0, which means the queue in each receiver is unbounded. To specify bounded queues, set this to a positive integer. </configure></property>
<property name="prop:iterations" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify the number of times a workflow is iterated. By default, this parameter is set to &quot;0&quot;. Note that &quot;0&quot; does not mean &quot;no iterations.&quot; Rather, &quot;0&quot; means that the workflow will iterate forever. Values greater than zero specify the actual number of times the director should execute the entire workflow. </configure></property>
<property name="prop:runUntilDeadlockInOneIteration" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A parameter indicating whether one iteration consists of repeated basic iterations until deadlock. If this parameter is true, the model will be executed until deadlock in one iteration. The default value is a BooleanToken with the value false. It cannot be set to true if this director is at the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31617:99:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.ddf.kernel.DDFDirector">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:5:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Director">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Director">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{-10.0, 285.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:director:5:1">
            </property>
        </property>
        <port name="datasets_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{-5.0, 415.0}">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <port name="dataset_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="multiport"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{220.0, 415.0}">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <entity name="DataSetChooser" class="org.eso.DataSetChooser">
            <display name="Data Set Chooser"/>
            <property name="Selection mode" class="ptolemy.data.expr.StringParameter" value="$DataSelectionMethod">
            </property>
            <property name="FITS Viewer" class="ptolemy.data.expr.StringParameter" value="$FITS_VIEWER">
            </property>
            <property name="Mode" class="ptolemy.data.expr.StringParameter" value="Select">
            </property>
            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:461:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.DataSetChooser">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="1.0">
                </property>
                <property name="FITS Viewer (parameter)" class="ptolemy.data.expr.StringParameter" value="The application used to inspect FITS files">
                </property>
                <property name="Mode (parameter)" class="ptolemy.data.expr.StringParameter" value="&lt;p&gt;Skip: automatically select all files and don't show any window;&lt;/p&gt;&lt;p&gt;Display: select all the files and allow the user only to view them;&lt;/p&gt;&lt;p&gt;Select: standard mode.&lt;/p&gt;">
                </property>
                <property name="class (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="semanticType41 (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
                <property name="LoSOs (port)" class="ptolemy.kernel.util.StringAttribute" value="The input LoSOs">
                </property>
                <property name="sof (port)" class="ptolemy.kernel.util.StringAttribute" value="The SoF of the current LoSO">
                </property>
                <property name="sop (port)" class="ptolemy.kernel.util.StringAttribute" value="The SoP of the current LoSO">
                </property>
                <property name="entityId (parameter)" class="ptolemy.data.expr.StringParameter" value="">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{75.0, 395.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:workflow:5:1:urn:lsid:kepler-project.org/ns/:12776:6:1:urn:lsid:kepler-project.org/ns/:13961:210:1:urn:lsid:kepler-project.org/ns/:31617:78:3">
            </property>
            <port name="datasets in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
                </property>
            </port>
            <port name="dataset out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="multiport"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
                </property>
            </port>
            <port name="#selected" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="Variable Setter" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="N_SELECTED_DATASETS">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31989:67:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{75.0, 510.0}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1:urn:lsid:kepler-project.org/ns/:13757:404:3:urn:lsid:kepler-project.org/ns/:31617:89:8">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Edward Lee, Steve Neuendorffer, Jerome Blanc">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="requiredFiringsPerIteration" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <port name="input" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
            <port name="output" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation2" 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>
        <link port="datasets_in" relation="relation"/>
        <link port="dataset_out" relation="relation2"/>
        <link port="DataSetChooser.datasets in" relation="relation"/>
        <link port="DataSetChooser.dataset out" relation="relation2"/>
        <link port="DataSetChooser.#selected" relation="relation3"/>
        <link port="Variable Setter.input" relation="relation3"/>
    </entity>
    <entity name="Initialize2" class="ptolemy.actor.TypedCompositeActor">
        <display name="Initialise"/>
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31989:114:7">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[115.0, 540.0]">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={-4, 32, 1688, 1025}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[1657, 1009]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="0.6681514476615">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{740.9883333333332, 743.9433333333333}">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1">
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This subworkflow is in charge of two things:&#10;&#10; -Deleting the workflow directories if requested.&#10;&#10; -Providing the value of the raw data directory">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{520.0, 595.0}">
            </property>
        </property>
        <property name="DDF Director" class="ptolemy.domains.ddf.kernel.DDFDirector">
            <property name="iterations" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="maximumReceiverCapacity" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="runUntilDeadlockInOneIteration" class="ptolemy.data.expr.Parameter" value="true">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Gang Zhou</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;            &lt;p&gt; The dynamic dataflow (DDF) domain is a superset of the synchronous&#10;            dataflow(SDF) and Boolean dataflow(BDF) domains. In the SDF domain,&#10;            an actor consumes and produces a fixed number of tokens per firing.&#10;            This static information makes possible compile-time scheduling. In the&#10;            DDF domain, there are few constraints on the production and consumption&#10;            behavior of actors, and the schedulers make no attempt to construct a&#10;            compile-time schedule. Instead, each actor has a set of firing rules&#10;            (patterns) and can be fired if one of them is satisfied, i.e., one&#10;            particular firing pattern forms a prefix of sequences of unconsumed&#10;            tokens at input ports. The canonical actors in the DDF domain include&#10;            Select and Switch, which consume or produce tokens on different channels&#10;            based on the token received from the control port. (In practice, use&#10;            DDFSelect and DDFBooleanSelect in the DDF-specific library instead of&#10;            Select and BooleanSelect in the regular FlowControl library; however,&#10;            Switch and BooleanSwitch in the regular FlowControl library can be&#10;            used in DDF domain.)&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The dynamic scheduler implemented in this director fires all enabled&#10;            and non-deferrable actors once in a basic iteration. A deferrable&#10;            actor is one that will not help one of the downstream actors become&#10;            enabled because that downstream actor either already has enough tokens on&#10;            the channel connecting those two actors or is waiting for tokens on&#10;            another channel. If no actor fires so far, which means there is no&#10;            enabled and non-deferrable actor, then among all enabled and deferrable&#10;            actors, this director fires those which have the smallest maximum number&#10;            of tokens on their output channels which satisfy the demand of destination&#10;            actors. If still no actor fires, then there is no enabled actor. A user&#10;            can treat several such basic iterations as a single iteration by adding&#10;            a parameter with name &lt;i&gt;requiredFiringsPerIteration&lt;/i&gt; to an actor&#10;            (which is often a sink actor or an actor directly connected to output port&#10;            of the composite actor) and specifying the number of times this actor must&#10;            be fired in a single iteration. If the value of the parameter&#10;            &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; is a BooleanToken with value true,&#10;            one single iteration consists of repeating the basic iteration until&#10;            deadlock is reached (thus overriding the previous definition of one&#10;            iteration), which is the status of the model where all active&#10;            actors under the control of this director are unable to fire because&#10;            their firing rules are not satisfied. However, they may be able to fire&#10;            again during next iteration when tokens are transferred in from an outside&#10;            domain. Note &lt;i&gt;runUntilDeadlockInOneIteration&lt;/i&gt; can be set to true&#10;            only when this director is not on the top level.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; The algorithm implementing one basic iteration goes like this:&#10;            &lt;pre&gt;&#10;            E = set of enabled actors&#10;            D = set of deferrable enabled actors&#10;            &lt;/pre&gt;&#10;            One basic(default) iteration consists of:&#10;            &lt;pre&gt;&#10;            if (E\D != empty set) {&#10;            fire (E\D)&#10;            } else if (D != empty set) {&#10;            fire minimax(D)&#10;            } else {&#10;            declare deadlock&#10;            }&#10;            &lt;/pre&gt;&#10;            The function &quot;minimax(D)&quot; returns a subset of D with the smallest&#10;            maximum number of tokens on their output channels which satisfy the&#10;            demand of destination actors.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Note that any SDF model can be run with a DDF Director. However, the&#10;            notion of iteration is different. One could try to imitate the SDF&#10;            iteration in the DDF domain by controlling the number of firings in one&#10;            iteration for some actors, such as requiring a plotter to plot a fixed&#10;            number of points in each iteration.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; In the DDF domain, the firing rule of any actor is specified by the token&#10;            consumption rates of its input ports. A general DDF actor could change&#10;            the consumption rates of its input ports after each firing of this actor.&#10;            For multiports, an array token could be used to specify different rates&#10;            for different channels connected to the same multiport. Note that in SDF,&#10;            all channels connected to the same multiport have the same rate.&lt;/p&gt;&#10;           &#10;            &lt;p&gt; Based on DDFSimpleSched in Ptolemy Classic, by Edward Lee.&#10;            See E. A. Lee et al., &quot;The Almagest,&quot; documentation for Ptolemy Classic,&#10;            Vol. 1, Chapter 7, 1997.&lt;/p&gt;&#10;           &#10;        </configure></property>
<property name="prop:iterations" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify the number of times a workflow is iterated. By default, this parameter is set to &quot;0&quot;. Note that &quot;0&quot; does not mean &quot;no iterations.&quot; Rather, &quot;0&quot; means that the workflow will iterate forever. Values greater than zero specify the actual number of times the director should execute the entire workflow. </configure></property>
<property name="prop:maximumReceiverCapacity" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A Parameter representing the maximum capacity of each receiver controlled by this director. This is an integer that defaults to 0, which means the queue in each receiver is unbounded. To specify bounded queues, set this to a positive integer. </configure></property>
<property name="prop:runUntilDeadlockInOneIteration" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A parameter indicating whether one iteration consists of repeated basic iterations until deadlock. If this parameter is true, the model will be executed until deadlock in one iteration. The default value is a BooleanToken with the value false. It cannot be set to true if this director is at the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:31989:107:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.ddf.kernel.DDFDirector">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:5:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Director">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Director">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{235.0, 285.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:director:5:1">
            </property>
        </property>
        <port name="raw_data_dir" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{1170.0, 395.0}">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
        <entity name="Variable Setter" class="ptolemy.actor.lib.SetVariable">
            <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="GLOBAL_TIMESTAMP">
            </property>
            <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee, Steve Neuendorffer, Jerome Blanc</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;Set the value of a variable. The result may occur at two different times, depending on the value of the delayed parameter. &#10;If delayed is true, then the change to the value of the variable is implemented in a change request, and consequently will not take hold until the end of the current toplevel iteration. This helps ensure that users of value of the variable will see changes to the value deterministically (independent of the schedule of execution of the actors). &#10;If delayed is false, then the change to the value of the variable is performed immediately. This allows more frequent reconfiguration, and can mimic the operation of PGM's graph variables. &#10;Note that the variable name is observed during preinitialize(). If it is changed after that, the change will not take effect until the next time the model is executed. Moreover, the type of the variable is constrained in preinitialize() to be at least that of the input port for this actor. &#10;The variable can be either any attribute that implements the Settable interface. If it is in addition an instance of Variable, then the input token is used directly to set the value, and the type of the variable is constrained to be the same as the type of the input. Otherwise, then input token is converted to a string and the setExpression() method on the variable is used to set the value. &#10;The variable can occur anywhere in the hierarchy above the current level. If the variable is not found in the container, then the container of the container is checked until we reach the top level.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:15314:47:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.SetVariable">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:886:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Variable">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{530.0, 390.0}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:10:1">
            </property>
            <port name="output" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_expertMode" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
            </port>
        </entity>
        <entity name="Elements To Array" class="ptolemy.actor.lib.ElementsToArray">
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;&lt;p&gt;The ElementsToArray actor reads individual elements via its input port and outputs an array consisting of those elements.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor accepts input elements of any one type (int, double, etc.). The type must be consistent. Each time the actor fires, it reads one token from each channel of the input port and outputs a corresponding array.&lt;/p&gt;&#10;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts tokens of any one type. The type must be consistent.</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts an assembled array. The type of the array elements matches that of the input.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:32:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.ElementsToArray">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:908:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ArrayActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#DataArrayOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{1005.0, 380.0}">
            </property>
        </entity>
        <entity name="Time Stamp" class="org.sdm.spa.Timestamp">
            <property name="format" class="ptolemy.data.expr.StringParameter" value="yyyy-MM-dd'T'HH:mm:ss">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Ilkay Altintas</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The TimeStamp actor outputs the current date and time.&lt;/p&gt;&#10;&#10;&lt;p&gt;Dates and times can be formatted in a variety of ways. Select a format from the drop-down menu beside the format parameter, or enter a pattern directly into the format field. For more information about date format patterns, see http://java.sun.com/docs/books/tutorial/i18n/format/datepattern.html.&lt;/p&gt;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the current time stamp as a string.</configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time.</configure></property>
<property name="prop:format" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date format. Select a format string from the drop-down menu or type in a custom format string directly into the field. For more information about date formatting patterns, see http://java.sun.com/docs/books/tutorial/i18n/format/datepattern.html</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:370:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.sdm.spa.Timestamp">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1136:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ClockActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalInput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{380.0, 400.0}">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Ilkay Altintas">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="format (parameter)" class="ptolemy.data.expr.StringParameter" value="The date format. Select a format string from the drop-down menu or type in a custom format string directly into the field. For more information about date formatting patterns, see http://java.sun.com/docs/books/tutorial/i18n/format/datepattern.html">
                </property>
                <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts the current time stamp as a string.">
                </property>
                <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time.">
                </property>
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </entity>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="if [ &quot;x$EraseDirs&quot; = &quot;xtrue&quot; ]; then  echo &quot;Deleting files&quot;; rm -rf $BOOKKEEPING_DIR/*;  rm -rf $LOGS_DIR/*; rm -rf $TMP_PRODUCTS_DIR/* ;  else echo &quot;Will not delete files&quot;; fi">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{685.0, 715.0}">
            </property>
        </entity>
        <entity name="String Constant2" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$RAWDATA_DIR">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{845.0, 340.0}">
            </property>
        </entity>
        <entity name="DirectoryEraser" class="ptolemy.actor.lib.Exec">
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
            <property name="command" class="ptolemy.actor.parameters.PortParameter" value="sh">
            </property>
            <property name="directory" class="ptolemy.data.expr.FileParameter" value="$CWD">
            </property>
            <property name="environment" class="ptolemy.data.expr.Parameter" value="{{name = &quot;&quot;, value = &quot;&quot;}}">
            </property>
            <property name="prependPlatformDependentShellCommand" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="throwExceptionOnNonZeroReturn" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="waitForProcess" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="1">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Xiaojun Liu, Edward A. Lee, Steve Neuendorffer</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;&lt;p&gt;The External Execution actor executes a system command from a workflow. The actor accepts a command, a directory and environment in which to execute the command, and a command input string. Once the command has finished executing, the actor will output the execution results along with any errors. If no results are generated, the actor will output an empty string.&lt;/p&gt;&#10;&#10;&lt;p&gt;The External Execution actor depends on system-specific executables and is operating-system specific.&lt;/p&gt;&#10;&#10;&lt;p&gt;To mimic the effect of executing a command in a shell interpreter, set the command parameter to &quot;cmd&quot; (Windows) or &quot;sh&quot; (Windows with Cygwin or Linux), and then provide commands, as a string, via the input port. Note that each passed command must be terminated with a newline. For example, to open a workflow in vergil and run it, set command to &quot;sh&quot; and use a StringConstant actor to pass the  input port the string: &#10; &quot;vergil -run model.xml\n exit\n&quot;&lt;/p&gt;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts data generated by the executed command, output as a string after the command has finished executing. If the command generates no data on standard out, then the empty string (a string of length zero) is generated. </configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts strings to pass to the standard input of the subprocess. Note that a newline is not appended to the string. If you require a newline, add one using the AddSubtract actor. This port is an input port of type String.</configure></property>
<property name="port:error" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts any errors generated by the command execution. Errors are output as a string after the command has finished executing. If the execution generates no errors, an empty string is output. </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If connected, a token must be available on this port before actor will execute.</configure></property>
<property name="port:exitCode" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the command's exit code. A non-zero value signifies an error.</configure></property>
<property name="prop:environment" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An array of records that name an environment variable and a value:&#10; &#10;  {{name = &quot;NAME1&quot;, value = &quot;value1&quot;}...}&#10;  &#10;Where NAME1 is the name of the environment variable, and value1 is the value. &#10;For example, {{name = &quot;PTII&quot;, value = &quot;c:/ptII&quot;}} would set the value of the PTII to c:/ptII. &#10;If the parameter is set to {{name=&quot;&quot;, value = &quot;&quot;}}, then the environment from the parent process is used. If environmental variables are set with the parameter, the parent values may not be passed to the process. To view the current environment, use the &quot;env&quot; command.&#10;</configure></property>
<property name="prop:directory" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The directory in which to execute the command. The default value of this parameter $CWD, which represents the user's current working or home directory. </configure></property>
<property name="prop:throwExceptionOnNonZeroReturn" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If true, then throw an exception if the subprocess returns non-zero.</configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If a positive integer, then it is the maximum number of times to execute the actor.</configure></property>
<property name="prop:prependPlatformDependentShellCommand" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;If true, then prepend the platform dependent shell command to the&#10;parsed value of the command parameter.  By setting this argument&#10;to true, it is possible to invoke commands in a platform neutral&#10;method.&#10;&lt;p&gt;Under Windows NT or XP, the arguments &quot;cmd.exe&quot; and &quot;/C&quot; are&#10;prepended.  Under Windows 95, the arguments &quot;command.com&quot; and &quot;/C&quot;&#10;are prepended.  Under all other platforms, the arguments &quot;/bin/sh&quot;&#10;and &quot;-c&quot; are prepended. &lt;/p&gt;&#10;&lt;p&gt;The default value of this parameter is a boolean of value false,&#10;which allows the user to arbitrarily invoke /bin/sh scripts on all&#10;platforms. &lt;/p&gt;&#10;&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; This must be true if file redirection is used in &lt;i&gt;command&lt;/i&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; Under Cygwin, if true, the path environment of the subprocess is not&#10;identical to the path of the calling process. In this case the full path to the program&#10;must be specified.&lt;/p&gt;&#10;</configure></property>
<property name="prop:waitForProcess" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If true, then actor will wait until subprocess completes.</configure></property>
<property name="prop:command" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The command to be executed (e.g., echo &quot;Hello, world.&quot;). The command can be specified via either the command port or parameter.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:102:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Exec">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:976:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#ExternalExecutionEnvironmentActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#UnixCommand">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{155.0, 410.0}">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Xiaojun Liu, Edward A. Lee, Steve Neuendorffer">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="directory (parameter)" class="ptolemy.data.expr.StringParameter" value="The directory in which to execute the command. The default value of this parameter $CWD, which represents the user's current working or home directory. ">
                </property>
                <property name="environment (parameter)" class="ptolemy.data.expr.StringParameter" value="An array of records that name an environment variable and a value:&#10; &#10;  {{name = &quot;NAME1&quot;, value = &quot;value1&quot;}...}&#10;  &#10;Where NAME1 is the name of the environment variable, and value1 is the value. &#10;For example, {{name = &quot;PTII&quot;, value = &quot;c:/ptII&quot;}} would set the value of the PTII to c:/ptII. &#10;If the parameter is set to {{name=&quot;&quot;, value = &quot;&quot;}}, then the environment from the parent process is used. If environmental variables are set with the parameter, the parent values may not be passed to the process. To view the current environment, use the &quot;env&quot; command.&#10;">
                </property>
                <property name="prependPlatformDependentShellCommand (parameter)" class="ptolemy.data.expr.StringParameter" value="&#10;If true, then prepend the platform dependent shell command to the&#10;parsed value of the command parameter.  By setting this argument&#10;to true, it is possible to invoke commands in a platform neutral&#10;method.&#10;&lt;p&gt;Under Windows NT or XP, the arguments &quot;cmd.exe&quot; and &quot;/C&quot; are&#10;prepended.  Under Windows 95, the arguments &quot;command.com&quot; and &quot;/C&quot;&#10;are prepended.  Under all other platforms, the arguments &quot;/bin/sh&quot;&#10;and &quot;-c&quot; are prepended. &lt;/p&gt;&#10;&lt;p&gt;The default value of this parameter is a boolean of value false,&#10;which allows the user to arbitrarily invoke /bin/sh scripts on all&#10;platforms. &lt;/p&gt;&#10;&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; This must be true if file redirection is used in &lt;i&gt;command&lt;/i&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; Under Cygwin, if true, the path environment of the subprocess is not&#10;identical to the path of the calling process. In this case the full path to the program&#10;must be specified.&lt;/p&gt;&#10;">
                </property>
                <property name="throwExceptionOnNonZeroReturn (parameter)" class="ptolemy.data.expr.StringParameter" value="If true, then throw an exception if the subprocess returns non-zero.">
                </property>
                <property name="waitForProcess (parameter)" class="ptolemy.data.expr.StringParameter" value="If true, then actor will wait until subprocess completes.">
                </property>
                <property name="firingCountLimit (parameter)" class="ptolemy.data.expr.StringParameter" value="If a positive integer, then it is the maximum number of times to execute the actor.">
                </property>
                <property name="output (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts data generated by the executed command, output as a string after the command has finished executing. If the command generates no data on standard out, then the empty string (a string of length zero) is generated. ">
                </property>
                <property name="trigger (port)" class="ptolemy.kernel.util.StringAttribute" value="If connected, a token must be available on this port before actor will execute.">
                </property>
                <property name="error (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts any errors generated by the command execution. Errors are output as a string after the command has finished executing. If the execution generates no errors, an empty string is output. ">
                </property>
                <property name="input (port)" class="ptolemy.kernel.util.StringAttribute" value="An input port that accepts strings to pass to the standard input of the subprocess. Note that a newline is not appended to the string. If you require a newline, add one using the AddSubtract actor. This port is an input port of type String.">
                </property>
                <property name="exitCode (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts the command's exit code. A non-zero value signifies an error.">
                </property>
                <property name="command (parameter)" class="ptolemy.data.expr.StringParameter" value="The command to be executed (e.g., echo &quot;Hello, world.&quot;). The command can be specified via either the command port or parameter.">
                </property>
            </property>
            <port name="output" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="command" class="ptolemy.actor.parameters.ParameterPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="error" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="input" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
            <port name="exitCode" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant3" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$CALIB_DATA_DIR">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:14094:71:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{855.0, 475.0}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="[665.0, 385.0]">
            </vertex>
        </relation>
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation5" 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>
        </relation>
        <link port="raw_data_dir" relation="relation7"/>
        <link port="Variable Setter.input" relation="relation3"/>
        <link port="Variable Setter.output" relation="relation2"/>
        <link port="Elements To Array.input" relation="relation"/>
        <link port="Elements To Array.input" relation="relation4"/>
        <link port="Elements To Array.output" relation="relation7"/>
        <link port="Time Stamp.output" relation="relation3"/>
        <link port="Time Stamp.trigger" relation="relation6"/>
        <link port="String Constant.output" relation="relation5"/>
        <link port="String Constant2.output" relation="relation"/>
        <link port="String Constant2.trigger" relation="relation2"/>
        <link port="DirectoryEraser.output" relation="relation6"/>
        <link port="DirectoryEraser.input" relation="relation5"/>
        <link port="String Constant3.output" relation="relation4"/>
        <link port="String Constant3.trigger" relation="relation2"/>
    </entity>
    <entity name="ProvenanceExplorer" class="org.eso.ProvenanceExplorer">
        <property name="Enabled" class="ptolemy.data.expr.StringParameter" value="$ProvenanceExplorerEnabled">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="{1593.4374999999995, 1115.3124999999998}">
        </property>
        <port name="bookkeeping db" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
        <port name="start date" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
        </port>
    </entity>
    <entity name="Close DataSet" class="ptolemy.actor.TypedCompositeActor">
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.2">
        </property>
        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:401:4">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
            </property>
        </property>
        <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#Actor">
        </property>
        <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
        </property>
        <property name="semanticType22" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Workflow">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[1475.0, 1110.0]">
        </property>
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={0, 79, 1300, 810}, maximized=false}">
        </property>
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[988, 658]">
        </property>
        <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.5267529457215">
        </property>
        <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{1284.5625, 895.4900050607288}">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:449:1:urn:lsid:kepler-project.org/ns/:31989:45:2:urn:lsid:kepler-project.org/ns/:43955:74:3:urn:lsid:kepler-project.org/ns/:44497:3:4:urn:lsid:kepler-project.org/ns/:44576:50:16">
        </property>
        <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="_hideAllParameters" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="textSize" class="ptolemy.data.expr.Parameter" value="14">
            </property>
            <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
            </property>
            <property name="fontFamily" class="ptolemy.data.expr.StringParameter" value="SansSerif">
            </property>
            <property name="bold" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="italic" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This subworkflow modifies takes care of the final tasks:&#10;-Creating a README file with the list of files&#10;-Displaying a window with the finished datasets&#10;-Creating input for ProvenanceExplorer">
                <property name="_style" class="ptolemy.actor.gui.style.TextStyle">
                    <property name="height" class="ptolemy.data.expr.Parameter" value="20">
                    </property>
                    <property name="width" class="ptolemy.data.expr.Parameter" value="80">
                    </property>
                </property>
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Use the Annotation attribute to annotate a workflow. Double-click the attribute to customize the content, font size, color, and basic formatting (bold and italics).</configure></property>
<property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font face. Select a font from the drop-down menu. The default is &quot;SansSerif&quot;.</configure></property>
<property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be italics. By default, type will not be italicized.</configure></property>
<property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Select to indicate that the type should be bold. By default, type will not be bold.</configure></property>
<property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font color. Specify a string representing an array of four elements: red, green, blue, and alpha, where alpha is transparency. The default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
<property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The font size. Select an integer from the drop-down menu or specify a new size by typing it directly into the value field.  The default is 14.</configure></property>
<property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The text of the annotation.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:49: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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[280.0, 680.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:436:1">
            </property>
        </property>
        <port name="current_dataset" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{431.6612027096115, 167.69104677914112}">
            </property>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="final_files" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{66.66120270961146, 397.6910467791411}">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="bookkeeping_db" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[480.0, 575.0]">
            </property>
        </port>
        <port name="global_timestamp" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[485.0, 640.0]">
            </property>
        </port>
        <entity name="String Constant" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="README">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:15314:123:3">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{731.6612027096114, 477.6910467791411}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="Finished Datasets" class="ptolemy.actor.lib.gui.Display">
            <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={21, 849, 1327, 201}, maximized=false}">
            </property>
            <property name="_paneSize" class="ptolemy.actor.gui.SizeAttribute" value="[1323, 153]">
            </property>
            <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10">
            </property>
            <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="120">
            </property>
            <property name="suppressBlankLines" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="title" class="ptolemy.data.expr.StringParameter" value="Current Dataset">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong, Edward A. Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Display actor reads tokens of any type via its input multiport, and displays each token on a separate line in a text display window.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify the size of the text display window with the rowsDisplayed and columnsDisplayed parameters. Simply resizing the window onscreen does not persistently change the size when the workflow is saved, closed, and then re-opened. &lt;/p&gt;&#10;&#10;&lt;p&gt;If the input is a string token, then the actor strips the surrounding quotation marks before displaying the value.&lt;/p&gt; &#10;&#10;&lt;p&gt;Select the suppressBlankLines parameter to specify that the actor not add blank lines to the display. By default, the actor will add blank lines.&lt;/p&gt;&#10;&#10;&lt;p&gt;Note: this actor can consume large amounts of memory. It is not advisable to use it to display large output streams.&lt;/p&gt;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts tokens of any type.</configure></property>
<property name="prop:suppressBlankLines" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether the actor should display blank lines (the default) or suppress them.</configure></property>
<property name="prop:rowsDisplayed" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The vertical size of the display, in rows. The value is an integer that defaults to 10.</configure></property>
<property name="prop:columnsDisplayed" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The horizontal size of the display, in columns. The value is an integer that defaults to 40.</configure></property>
<property name="prop:title" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The title of the text display window. If specified, the value will appear in the title bar of the text display window.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:53: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="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#TextualOutput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{801.6612027096114, 157.69104677914112}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:7:1:urn:lsid:kepler-project.org/ns/:13643:22:2:urn:lsid:kepler-project.org/ns/:17547:3:12">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The Display actor reads tokens of any type via its input multiport, and displays each token on a separate line in a text display window.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify the size of the text display window with the rowsDisplayed and columnsDisplayed parameters. Simply resizing the window onscreen does not persistently change the size when the workflow is saved, closed, and then re-opened. &lt;/p&gt;&#10;&#10;&lt;p&gt;If the input is a string token, then the actor strips the surrounding quotation marks before displaying the value.&lt;/p&gt; &#10;&#10;&lt;p&gt;Select the suppressBlankLines parameter to specify that the actor not add blank lines to the display. By default, the actor will add blank lines.&lt;/p&gt;&#10;&#10;&lt;p&gt;Note: this actor can consume large amounts of memory. It is not advisable to use it to display large output streams.&lt;/p&gt;">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Yuhong Xiong, Edward A. Lee">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="rowsDisplayed (parameter)" class="ptolemy.data.expr.StringParameter" value="The vertical size of the display, in rows. The value is an integer that defaults to 10.">
                </property>
                <property name="columnsDisplayed (parameter)" class="ptolemy.data.expr.StringParameter" value="The horizontal size of the display, in columns. The value is an integer that defaults to 40.">
                </property>
                <property name="suppressBlankLines (parameter)" class="ptolemy.data.expr.StringParameter" value="Specify whether the actor should display blank lines (the default) or suppress them.">
                </property>
                <property name="title (parameter)" class="ptolemy.data.expr.StringParameter" value="The title of the text display window. If specified, the value will appear in the title bar of the text display window.">
                </property>
                <property name="input (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that accepts tokens of any type.">
                </property>
            </property>
        </entity>
        <entity name="String Constant2" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$END_PRODUCTS_DIR">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:15314:121:3">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{731.6612027096114, 402.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="String Constant3" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value=" Dataset has been reduced and saved in ">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:17547:19:3">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{266.6612027096115, 232.69104677914112}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:13643:21:2">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="Final directory path" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;/&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:17547:25:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{341.6612027096115, 352.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1">
            </property>
        </entity>
        <entity name="Write README" class="org.geon.FileWrite">
            <property name="fileName" class="ptolemy.actor.parameters.FilePortParameter" value="ROOT_DATA_PATH_TO_REPLACE/reflex_end_products/2013-09-26T17:08:24/README">
            </property>
            <property name="append" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="confirmOverwrite" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="alwaysFlush" class="ptolemy.data.expr.Parameter" value="false">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>No author given</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileWriter actor reads a string and writes it to a file. The actor outputs the file path of the generated file.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a destination file path with the fileName parameter. If the specified file does not exist, then the actor will create it.  If the file already exists, then the actor will ask for permission to overwrite it (unless the append parameter is selected, in which case the new content is appended to the existing content).&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor is similar to the LineWriter, except that the FileWriter outputs the generated file path, while the LineWriter actor does not. FileWriter is also similar to TextFileWriter, except that the FileWriter actor adds line breaks, while the TextFileWriter does not.&lt;/p&gt;&#10;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that receives a string to write to a file.</configure></property>
<property name="port:url" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the file name of the generated file.</configure></property>
<property name="prop:append" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether to append the input string to an existing, specified file. By default, the actor will overwrite any preexisting file.</configure></property>
<property name="prop:confirmOverwrite" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether the actor should confirm before overwriting an existing file. By default, the actor will not ask for confirmation.</configure></property>
<property name="prop:fileName" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The name of the file to which to write. See FileParameter for more information about specifying file names. </configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:43955:73:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.geon.FileWrite">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1003:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#WriterOutputActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalOutput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{766.6612027096114, 557.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:144:1:urn:lsid:kepler-project.org/ns/:15314:118:5">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;The FileWriter actor reads a string and writes it to a file. The actor outputs the file path of the generated file.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a destination file path with the fileName parameter. If the specified file does not exist, then the actor will create it.  If the file already exists, then the actor will ask for permission to overwrite it (unless the append parameter is selected, in which case the new content is appended to the existing content).&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor is similar to the LineWriter, except that the FileWriter outputs the generated file path, while the LineWriter actor does not. FileWriter is also similar to TextFileWriter, except that the FileWriter actor adds line breaks, while the TextFileWriter does not.&lt;/p&gt;&#10;">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="No author given">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="append (parameter)" class="ptolemy.data.expr.StringParameter" value="Specify whether to append the input string to an existing, specified file. By default, the actor will overwrite any preexisting file.">
                </property>
                <property name="confirmOverwrite (parameter)" class="ptolemy.data.expr.StringParameter" value="Specify whether the actor should confirm before overwriting an existing file. By default, the actor will not ask for confirmation.">
                </property>
                <property name="input (port)" class="ptolemy.kernel.util.StringAttribute" value="An input port that receives a string to write to a file.">
                </property>
                <property name="url (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts the file name of the generated file.">
                </property>
                <property name="fileName (parameter)" class="ptolemy.data.expr.StringParameter" value="The name of the file to which to write. See FileParameter for more information about specifying file names. ">
                </property>
            </property>
            <port name="fileName" class="ptolemy.actor.parameters.ParameterPort">
                <property name="input"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
                </property>
            </port>
            <port name="url" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_hide" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant4" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$END_PRODUCTS_SUBDIR">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:17547:23:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{231.66120270961147, 402.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant5" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$GLOBAL_TIMESTAMP">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:15314:122:3">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{741.6612027096114, 442.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
                </property>
            </port>
        </entity>
        <entity name="Write to stdout" class="org.geon.FileWrite">
            <property name="fileName" class="ptolemy.actor.parameters.FilePortParameter" value="/dev/stdout">
            </property>
            <property name="append" class="ptolemy.data.expr.Parameter" value="true">
            </property>
            <property name="confirmOverwrite" class="ptolemy.data.expr.Parameter" value="false">
            </property>
            <property name="alwaysFlush" class="ptolemy.data.expr.Parameter" value="true">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>No author given</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The FileWriter actor reads a string and writes it to a file. The actor outputs the file path of the generated file.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify a destination file path with the fileName parameter. If the specified file does not exist, then the actor will create it.  If the file already exists, then the actor will ask for permission to overwrite it (unless the append parameter is selected, in which case the new content is appended to the existing content).&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor is similar to the LineWriter, except that the FileWriter outputs the generated file path, while the LineWriter actor does not. FileWriter is also similar to TextFileWriter, except that the FileWriter actor adds line breaks, while the TextFileWriter does not.&lt;/p&gt;&#10;</configure></property>
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that receives a string to write to a file.</configure></property>
<property name="port:url" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the file name of the generated file.</configure></property>
<property name="prop:append" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether to append the input string to an existing, specified file. By default, the actor will overwrite any preexisting file.</configure></property>
<property name="prop:confirmOverwrite" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether the actor should confirm before overwriting an existing file. By default, the actor will not ask for confirmation.</configure></property>
<property name="prop:fileName" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The name of the file to which to write. See FileParameter for more information about specifying file names. </configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:17547:24:2">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.geon.FileWrite">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1003:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#WriterOutputActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#LocalOutput">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{846.6612027096114, 242.69104677914112}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:144:1:urn:lsid:kepler-project.org/ns/:15165:55:3">
            </property>
        </entity>
        <entity name="String Constant6" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$END_PRODUCTS_DIR">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:17547:23:5">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{236.66120270961147, 342.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="Path to README" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;/&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:43955:72:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{876.6612027096114, 427.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1:urn:lsid:kepler-project.org/ns/:15314:124:4">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="false">
            </property>
            <port name="whole" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
                </property>
            </port>
        </entity>
        <entity name="Final message" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:17547:26:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{476.6612027096115, 312.6910467791411}">
            </property>
            <property name="" class="ptolemy.vergil.basic.DocAttribute">
                <property name="description" class="ptolemy.kernel.util.StringAttribute" value="&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;">
                </property>
                <property name="author" class="ptolemy.kernel.util.StringAttribute" value="Wibke Sudholt">
                </property>
                <property name="version" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
                <property name="Substring separator (parameter)" class="ptolemy.data.expr.StringParameter" value="The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.">
                </property>
                <property name="parts (port)" class="ptolemy.kernel.util.StringAttribute" value="A multiport that accepts substrings.">
                </property>
                <property name="whole (port)" class="ptolemy.kernel.util.StringAttribute" value="An output port that broadcasts the full string.">
                </property>
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1">
            </property>
        </entity>
        <entity name="String Constant7" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value=" with files: ">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:43955:68:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{231.66120270961147, 442.6910467791411}">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:13643:21:2:urn:lsid:kepler-project.org/ns/:17547:19:3">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="README message" class="org.resurgence.actor.StringAccumulator">
            <property name="Substring separator" class="ptolemy.data.expr.Parameter" value="&quot;&quot;">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Wibke Sudholt</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;&#10;The StringAccumulator actor reads multiple strings via its input port and outputs a string containing all of the input values. The characters separating the substrings in the output string can be specified with the substringSeparator parameter.&lt;/p&gt;</configure></property>
<property name="port:whole" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the full string.</configure></property>
<property name="port:parts" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts substrings.</configure></property>
<property name="prop:Substring separator" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The characters used to separate the elements in the output string. By default, the value is &quot;&quot;.</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:43955:69:4">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.resurgence.actor.StringAccumulator">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1117:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#IterativeOperation">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="{451.6612027096115, 462.6910467791411}">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:292:1:urn:lsid:kepler-project.org/ns/:17547:25:2">
            </property>
        </entity>
        <entity name="ObjectToText" class="org.eso.ObjectToText">
            <property name="Include Header and Footer" class="ptolemy.data.expr.Parameter" value="true">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Converts Reflex JSON objects into a human-readable form</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The ObjectToString converts the JSON objects used by ESO actors (i.e. datasets, sof and sop) into a human-readable form.</configure></property>
<property name="port:text out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A nicely formatted string</configure></property>
<property name="port:json in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The input JSON object</configure></property>
<property name="prop:semanticType41" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:Include Header and Footer" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>if true the output text will contain a descriptive header and footer</configure></property>
<property name="prop:entityId" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:class" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org:actor:907:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="org.eso.ObjectToText">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
                </property>
            </property>
            <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[250.0, 500.0]">
            </property>
            <port name="json in" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
            <port name="text out" class="ptolemy.actor.TypedIOPort">
                <property name="output"/>
                <property name="_showName" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1">
                </property>
            </port>
        </entity>
        <entity name="String Constant8" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$BOOKKEEPING_DIR/bookkeeping.db">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:8:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[285.0, 575.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:17547:23:2:urn:lsid:kepler-project.org/ns/:38241:62:1">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <entity name="String Constant9" class="ptolemy.actor.lib.StringConst">
            <property name="value" class="ptolemy.data.expr.Parameter" value="$GLOBAL_TIMESTAMP">
            </property>
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
            </property>
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
            </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward Lee</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The StringConstant actor outputs a string specified via the actor's value parameter.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specifying strings with the StringConstant actor is convenient, as the actor does not require that strings be surrounded by quotes. The actor is often used to specify file paths, which can be selected using the Browse button available in the actor's parameters.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specified string values can include references to parameters within scope (i.e., parameters defined at the same level of the hierarchy or higher). &lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;&#10;</configure></property>
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a string constant specified by the value parameter.  </configure></property>
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that has no declared type (in other words, the port can accept any data type: double, int, array, etc.) If the port is connected, the actor will not fire until the trigger port receives an input token. Connecting the port is optional, but useful when scheduling the actor to perform at a certain time. </configure></property>
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The limit on the number of times the actor will fire. The default value is 'NONE', meaning there is no limit on the number of time the constant will be provided to the output port. Any integer can be provided as a value for this parameter.</configure></property>
<property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the actor. Specified strings do not require enclosing quotes. (To include a '$' sign in the string, enter '$$'.)</configure></property>
</property>            <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:44576:9:1">
            </property>
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.StringConst">
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1052:1">
                </property>
            </property>
            <property name="semanticType00" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:1:1#StringFunctionActor">
            </property>
            <property name="semanticType11" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:2:1#Constant">
            </property>
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
                </property>
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                </property>
            </property>
            <property name="_location" class="ptolemy.kernel.util.Location" value="[240.0, 640.0]">
            </property>
            <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:204:1:urn:lsid:kepler-project.org/ns/:17547:23:2:urn:lsid:kepler-project.org/ns/:38241:63:1">
            </property>
            <property name="_hideName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
            <port name="trigger" class="ptolemy.actor.TypedIOPort">
                <property name="input"/>
                <property name="multiport"/>
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                </property>
            </port>
        </entity>
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="{576.6612027096114, 497.6910467791411}">
            </vertex>
        </relation>
        <relation name="relation2" 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="relation4" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation5" 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>
        </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>
        <relation name="relation10" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="{101.66120270961146, 482.6910467791411}">
            </vertex>
        </relation>
        <relation name="relation11" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation12" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <vertex name="vertex1" value="{571.6612027096114, 327.6910467791411}">
            </vertex>
        </relation>
        <relation name="relation13" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation14" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation15" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <relation name="relation16" class="ptolemy.actor.TypedIORelation">
            <property name="width" class="ptolemy.data.expr.Parameter" value="1">
            </property>
        </relation>
        <link port="current_dataset" relation="relation7"/>
        <link port="final_files" relation="relation10"/>
        <link port="bookkeeping_db" relation="relation15"/>
        <link port="global_timestamp" relation="relation16"/>
        <link port="String Constant.output" relation="relation9"/>
        <link port="String Constant.trigger" relation="relation"/>
        <link port="Finished Datasets.input" relation="relation12"/>
        <link port="String Constant2.output" relation="relation2"/>
        <link port="String Constant2.trigger" relation="relation"/>
        <link port="String Constant3.output" relation="relation11"/>
        <link port="String Constant3.trigger" relation="relation10"/>
        <link port="Final directory path.parts" relation="relation5"/>
        <link port="Final directory path.parts" relation="relation3"/>
        <link port="Final directory path.whole" relation="relation4"/>
        <link port="Write README.input" relation="relation"/>
        <link port="Write README.fileName" relation="relation6"/>
        <link port="String Constant4.output" relation="relation3"/>
        <link port="String Constant4.trigger" relation="relation10"/>
        <link port="String Constant5.output" relation="relation8"/>
        <link port="String Constant5.trigger" relation="relation"/>
        <link port="Write to stdout.input" relation="relation12"/>
        <link port="String Constant6.output" relation="relation5"/>
        <link port="String Constant6.trigger" relation="relation10"/>
        <link port="Path to README.parts" relation="relation2"/>
        <link port="Path to README.parts" relation="relation8"/>
        <link port="Path to README.parts" relation="relation9"/>
        <link port="Path to README.whole" relation="relation6"/>
        <link port="Final message.parts" relation="relation7"/>
        <link port="Final message.parts" relation="relation11"/>
        <link port="Final message.parts" relation="relation4"/>
        <link port="Final message.whole" relation="relation12"/>
        <link port="String Constant7.output" relation="relation13"/>
        <link port="String Constant7.trigger" relation="relation10"/>
        <link port="README message.parts" relation="relation12"/>
        <link port="README message.parts" relation="relation13"/>
        <link port="README message.parts" relation="relation14"/>
        <link port="README message.whole" relation="relation"/>
        <link port="ObjectToText.json in" relation="relation10"/>
        <link port="ObjectToText.text out" relation="relation14"/>
        <link port="String Constant8.output" relation="relation15"/>
        <link port="String Constant8.trigger" relation="relation10"/>
        <link port="String Constant9.output" relation="relation16"/>
        <link port="String Constant9.trigger" relation="relation10"/>
    </entity>
    <entity name="ProductRenamer" class="ptolemy.actor.lib.python.PythonScript">
        <property name="jythonClassName" class="ptolemy.kernel.util.StringAttribute" value="Main">
        </property>
        <property name="script" class="ptolemy.kernel.util.StringAttribute" value="import os&#10;import shutil&#10;&#10;from ptolemy.data import StringToken, IntToken&#10;from ptolemy.data.expr import Parameter&#10;from org.eso.util import JSONTools&#10;from nom.tam.fits import Fits&#10;from nom.tam.fits import FitsFactory&#10;from ptolemy.kernel.util import IllegalActionException&#10;from org.eso.service import ExecutionServiceDB&#10;import org.apache.log4j&#10;from java.util import HashMap&#10;&#10;class Main :&#10;  &quot;ProductRenamer&quot;&#10;&#10;  def fire(self) :&#10;&#10;    #Get the logger&#10;    logger = org.apache.log4j.Logger.getLogger(&quot;org.eso.ProductRenamer&quot;)&#10;    #Set nom tam to read hierarch keywords&#10;    FitsFactory.setUseHierarch(True)&#10;    #Read input file names&#10;    input = self.sof_in.get(0)&#10;    string = input.stringValue()&#10;    obj = JSONTools.fromJSON(string)&#10;    if not hasattr(obj, 'getFiles') :&#10;      raise Exception('Cannot parse input as a SOF')&#10;&#10;    #Create the output, which contain the renamed files&#10;    output = obj&#10;&#10;    #Get keyword list&#10;    rename_keywords = self.RenameKeywords.getToken()&#10;    keyword_list =  rename_keywords.toString().strip('&quot;').split(',')&#10;&#10;    #Get the final product directory&#10;    finalDirectoryParam = self.FinalProductDirectory.getToken()&#10;    finalDirectory =  finalDirectoryParam.toString().strip('&quot;')&#10;&#10;    #Get the time stamp&#10;    subDir = self.SubDir.getToken().toString().strip('&quot;')&#10;&#10;    #Get the copy mode&#10;    copyMode = self.CopyMode.getToken().toString().strip('&quot;')&#10;    if copyMode != 'copy' and copyMode != 'link' :&#10;      raise IllegalActionException('Unknown copyMode value')&#10;&#10;    #Get the output exists mode&#10;    outputExistsMode = self.OutputExistsMode.getToken().toString().strip('&quot;')&#10;    if outputExistsMode != 'append_version'  and outputExistsMode != 'overwrite' and outputExistsMode != 'stop' :&#10;      raise IllegalActionException('Unknown outputExistsMode value')&#10;&#10;    #Get the bookkeeping database &#10;    bookkeeping_dir = self.BookkeepingDir.getToken().toString().strip('&quot;')&#10;    bookkeeping_db  = bookkeeping_dir + &quot;/bookkeeping.db&quot;&#10;&#10;    #Test values of input parameters, to take decissions on how to behave&#10;    if len(keyword_list) == 1 and keyword_list[0] == '' and finalDirectory == '' and subDir == '' :&#10;      #We do nothing in this case, just broadcast the input and exit&#10;      self.sof_out.broadcast(StringToken(str(output)))&#10;      return&#10;&#10;    #Loop through the files&#10;    prefixMap = dict()&#10;    aliasMap = HashMap()&#10;    for fitsFile in output.getFiles():&#10;      fileName = fitsFile.getName()&#10;      logger.debug(&quot;Original filename:  &quot; + fileName)&#10;      newPrefixName = self.getNewPrefixFilename(fileName, keyword_list, logger)&#10;      newDirName      = self.getNewDirFilename(fileName, finalDirectory, subDir)&#10;&#10;      #Create the final name&#10;      newName = os.path.join(newDirName,  newPrefixName) + &quot;.fits&quot;&#10;&#10;      #Create final directory&#10;      if not os.path.isdir(newDirName) :&#10;        os.makedirs(newDirName)&#10;&#10;      #Dealing with &quot;append_version&quot; mode&#10;      #Checking if the file already exists and create an index to avoid clash&#10;      if outputExistsMode == 'append_version' :&#10;        idx = 0&#10;        while os.path.exists(newName) :&#10;          idx += 1&#10;          newName = os.path.join(newDirName,  newPrefixName) + &quot;_&quot; + str(idx) + &quot;.fits&quot;&#10;&#10;      #Dealing with &quot;overwrite&quot; mode&#10;      if outputExistsMode == 'overwrite' :&#10;        if os.path.exists(newName) :&#10;          if copyMode == 'link' :&#10;            continue&#10;          else :&#10;            os.remove(newName)&#10;&#10;      #Dealing with &quot;stop&quot; mode&#10;      if outputExistsMode == 'stop' :&#10;        if os.path.exists(newName) :&#10;          raise IOError('File '+newName+' already exists')&#10;&#10;      # Actually copying/moving/linking the file&#10;      logger.debug(&quot;New name (in &quot; + copyMode + &quot; mode)&quot;)&#10;      logger.debug(newName)&#10;      if copyMode == 'link' :&#10;#        os.symlink(fileName, newName)  #Does not work in jython&#10;        command = 'ln -s \''+ fileName + '\'   \'' + newName + '\''&#10;        os.system(command)&#10;      else :&#10;        shutil.copy(fileName, newName)&#10;&#10;      aliasMap.put(newName, fileName)&#10;      #Changing the name at the output port&#10;      fitsFile.setName(newName)&#10;&#10;    #Storing the alias in the bookkeeping database&#10;    bookkeeping_service = ExecutionServiceDB(bookkeeping_db)&#10;    bookkeeping_service.addFinalProducts(obj.getDatasetName(), aliasMap)&#10;&#10;&#10;        #Broadcast outputs&#10;    self.sof_out.broadcast(StringToken(output.toJSON().toString(2)))&#10;&#10;&#10;  def getNewPrefixFilename(self, oldFileName, keyword_list, logger) :&#10;    newPrefixName = str()&#10;    #If there are no keywords to rename, keep the original name&#10;    if len(keyword_list) == 1 and keyword_list[0] == '' :&#10;      newPrefixName = os.path.basename(os.path.splitext(oldFileName)[0])&#10;      return newPrefixName&#10;&#10;    #Check file exists&#10;    if os.path.isfile(oldFileName) == False :&#10;      message='file %s does not exist'%oldFileName&#10;      raise Exception(message)&#10;    #Loop on the keywords&#10;    for key in keyword_list:&#10;      key = key.strip(' ')&#10;      if key != '' :&#10;        if key[0] == '\'' and  key[len(key)-1] == '\'' :&#10;          newPrefixName += key.strip('\'')&#10;        else :&#10;          #Check the extension to read&#10;          if key.find(&quot;[&quot;) != -1 :&#10;            keyname = key[0:key.find(&quot;[&quot;)]&#10;            idhdu = int(key[key.find(&quot;[&quot;) + 1: key.find(&quot;]&quot;)])&#10;          else :&#10;            keyname = key&#10;            idhdu = 0&#10;          try :&#10;            fits = Fits(oldFileName)&#10;            #Read the header&#10;            header = fits.getHDU(idhdu).getHeader()&#10;          except :&#10;            message='Cannot read extension %d from file %s'%(idhdu,oldFileName)&#10;            raise Exception(message)&#10;&#10;          #Read the keyword&#10;          if header.containsKey(keyname) :&#10;            newPrefixName += header.findCard(keyname).getValue().strip().replace(' ','_').replace('/','_')&#10;          else :&#10;            newPrefixName += '_UNKNOWN_'&#10;            logger.warn(&quot;Keyword \'&quot;+keyname+ &quot;\' not found  in FITS file &quot; + oldFileName + &quot; Using _UNKNOWN_&quot;)&#10;    return newPrefixName&#10;&#10;  def getNewDirFilename(self, oldFileName, finalDirectory, subDir):&#10;    origDirectory = os.path.dirname(oldFileName)&#10;    if finalDirectory == '' :&#10;      productDirectory = origDirectory&#10;    else :&#10;      productDirectory = finalDirectory&#10;    if subDir != '' :&#10;      productDirectory += '/' + subDir&#10;    return productDirectory&#10;    &#10;&#10;">
        </property>
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Renames recipe products based on FITS keywords</configure></property>
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>ESO</configure></property>
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>2.0</configure></property>
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure> This actor moves (or copies or links) its input sof to a final product directory based on some FITS keywords.&#10; Usually, it should be connected to the output of the recipes that produce final products. If the recipe produces more products that are not relevant to rename, an output filter can be put in the recipe.</configure></property>
<property name="port:sof_out" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The final list of files produced</configure></property>
<property name="port:sof_in" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The files to be copied/moved or linked</configure></property>
<property name="prop:RenameKeywords" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The list of keywords used to create the new name</configure></property>
<property name="prop:OutputExistsMode" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>This parameter defines the behaviour in case the output files already exists: it can be &quot;append_version&quot; (create a new file with a running index suffix), &quot;overwrite&quot; (replace the existing file), &quot;stop&quot; (stop the workflow)</configure></property>
<property name="prop:script" class="ptolemy.kernel.util.ConfigurableAttribute"><configure></configure></property>
<property name="prop:FinalProductDirectory" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The directory where the files are going to be copied/linked or renamed. It is usually set to END_PRODUCTS_DIR</configure></property>
<property name="prop:SubDir" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If it is not empty, a subdirectory will be created with this string. The value can contain backslashes (and intermediate directories will be created). It will usually be END_PROD_SUBDIR, created somewhere in the workflow</configure></property>
<property name="prop:CopyMode" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>There are several options: &quot;copy&quot;, &quot;move&quot; or &quot;link&quot;.</configure></property>
</property>        <property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:kepler-project.org/ns/:41649:460:1">
        </property>
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.python.PythonScript">
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="null">
            </property>
        </property>
        <property name="semanticType41" class="org.kepler.sms.SemanticType" value="urn:lsid:localhost:onto:4:1#ESO">
        </property>
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.TextEditorConfigureFactory">
            <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="script">
            </property>
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[1475.0, 820.0]">
        </property>
        <property name="RenameKeywords" class="ptolemy.data.expr.StringParameter" value="HIERARCH.ESO.OBS.NAME,'_',HIERARCH.ESO.PRO.CATG">
        </property>
        <property name="FinalProductDirectory" class="ptolemy.data.expr.StringParameter" value="$END_PRODUCTS_DIR">
        </property>
        <property name="SubDir" class="ptolemy.data.expr.StringParameter" value="$END_PRODUCTS_SUBDIR">
        </property>
        <property name="CopyMode" class="ptolemy.data.expr.StringParameter" value="copy">
        </property>
        <property name="OutputExistsMode" class="ptolemy.data.expr.StringParameter" value="append_version">
        </property>
        <property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList" value="urn:lsid:kepler-project.org:actor:910:1:urn:lsid:kepler-project.org/ns/:24723:4:5:urn:lsid:kepler-project.org/ns/:25047:16:2:urn:lsid:kepler-project.org/ns/:25158:50:1:urn:lsid:kepler-project.org/ns/:38241:57:8">
        </property>
        <property name="" class="ptolemy.vergil.basic.DocAttribute">
            <property name="description" class="ptolemy.kernel.util.StringAttribute" value=" This actor moves (or copies or links) its input sof to a final product directory based on some FITS keywords.&#10; Usually, it should be connected to the output of the recipes that produce final products. If the recipe produces more products that are not relevant to rename, an output filter can be put in the recipe.">
            </property>
            <property name="author" class="ptolemy.kernel.util.StringAttribute" value="ESO">
            </property>
            <property name="version" class="ptolemy.kernel.util.StringAttribute" value="2.0">
            </property>
            <property name="RenameKeywords (parameter)" class="ptolemy.data.expr.StringParameter" value="The list of keywords used to create the new name">
            </property>
            <property name="FinalProductDirectory (parameter)" class="ptolemy.data.expr.StringParameter" value="The directory where the files are going to be copied/linked or renamed. It is usually set to END_PRODUCTS_DIR">
            </property>
            <property name="SubDir (parameter)" class="ptolemy.data.expr.StringParameter" value="If it is not empty, a subdirectory will be created with this string. The value can contain backslashes (and intermediate directories will be created). It will usually be END_PROD_SUBDIR, created somewhere in the workflow">
            </property>
            <property name="CopyMode (parameter)" class="ptolemy.data.expr.StringParameter" value="There are several options: &quot;copy&quot;, &quot;move&quot; or &quot;link&quot;.">
            </property>
            <property name="OutputExistsMode (parameter)" class="ptolemy.data.expr.StringParameter" value="This parameter defines the behaviour in case the output files already exists: it can be &quot;append_version&quot; (create a new file with a running index suffix), &quot;overwrite&quot; (replace the existing file), &quot;stop&quot; (stop the workflow)">
            </property>
            <property name="script (parameter)" class="ptolemy.data.expr.StringParameter" value="">
            </property>
            <property name="sof_out (port)" class="ptolemy.kernel.util.StringAttribute" value="The final list of files produced">
            </property>
            <property name="sof_in (port)" class="ptolemy.kernel.util.StringAttribute" value="The files to be copied/moved or linked">
            </property>
        </property>
        <property name="BookkeepingDir" class="ptolemy.data.expr.StringParameter" value="$BOOKKEEPING_DIR">
        </property>
        <port name="sof_in" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1">
            </property>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="NORTH">
            </property>
        </port>
        <port name="sof_out" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="multiport"/>
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="SOUTH">
            </property>
        </port>
    </entity>
    <relation name="relation9" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[830.0, 885.0]">
        </vertex>
    </relation>
    <relation name="relation12" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation36" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[675.0, 730.0]">
        </vertex>
    </relation>
    <relation name="relation29" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[805.0, 835.0]">
        </vertex>
    </relation>
    <relation name="relation24" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation35" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[460.0, 1030.0]">
        </vertex>
    </relation>
    <relation name="relation26" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[1145.0, 775.0]">
        </vertex>
    </relation>
    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation13" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[785.0, 670.0]">
        </vertex>
    </relation>
    <relation name="relation34" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[460.0, 1090.0]">
        </vertex>
    </relation>
    <relation name="relation19" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[460.0, 1050.0]">
        </vertex>
    </relation>
    <relation name="relation18" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[460.0, 1010.0]">
        </vertex>
    </relation>
    <relation name="relation22" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[605.0, 770.0]">
        </vertex>
    </relation>
    <relation name="relation16" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[519.25, 769.75]">
        </vertex>
    </relation>
    <relation name="relation37" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[449.25, 769.75]">
        </vertex>
    </relation>
    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[585.0, 770.0]">
        </vertex>
    </relation>
    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[585.0, 925.0]">
        </vertex>
    </relation>
    <relation name="relation23" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[485.0, 945.0]">
        </vertex>
    </relation>
    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation38" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation2" 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="relation11" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
        <vertex name="vertex1" value="[495.0, 955.0]">
        </vertex>
    </relation>
    <relation name="relation10" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation32" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation17" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation20" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
        </property>
        <vertex name="vertex1" value="[460.0, 1070.0]">
        </vertex>
    </relation>
    <relation name="relation30" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation14" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation28" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation21" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation31" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation25" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <relation name="relation27" class="ptolemy.actor.TypedIORelation">
    </relation>
    <link port="SofCombiner2.sof in" relation="relation3"/>
    <link port="SofCombiner2.sof in" insertAt="2" relation="relation29"/>
    <link port="SofCombiner2.sof in" relation="relation13"/>
    <link port="SofCombiner2.sof in" relation="relation8"/>
    <link port="SofCombiner2.sof out" relation="relation17"/>
    <link port="SofCombiner2.sof out" relation="relation4"/>
    <link port="SofCombiner2.sof out" relation="relation32"/>
    <link port="SofCombiner3.sof in" relation="relation26"/>
    <link port="SofCombiner3.sof in" relation="relation4"/>
    <link port="SofCombiner3.sof in" relation="relation35"/>
    <link port="SofCombiner3.sof out" relation="relation12"/>
    <link port="Master Dark Comput.sof in" relation="relation37"/>
    <link port="Master Dark Comput.sof out" relation="relation13"/>
    <link port="Master Dark Comput.sof opt" relation="relation6"/>
    <link port="Instrument Response.sof in" relation="relation12"/>
    <link port="Instrument Response.sof out" relation="relation38"/>
    <link port="Instrument Response.sof opt" relation="relation19"/>
    <link port="Spectrum Locator.sof_out" relation="relation36"/>
    <link port="Spectrum Locator.sof_in" relation="relation23"/>
    <link port="Spectrum Locator.sof_in" relation="relation11"/>
    <link port="Spectrum Locator.sof_bias" relation="relation16"/>
    <link port="Wavelength Calibration.sof_in" relation="relation36"/>
    <link port="Wavelength Calibration.sof_in" relation="relation17"/>
    <link port="Wavelength Calibration.sof_in" relation="relation18"/>
    <link port="Wavelength Calibration.sof_out" relation="relation26"/>
    <link port="Spectrum Extraction.sof_in" relation="relation24"/>
    <link port="Spectrum Extraction.sof_out" relation="relation27"/>
    <link port="SofCombiner7.sof in" relation="relation38"/>
    <link port="SofCombiner7.sof in" relation="relation26"/>
    <link port="SofCombiner7.sof in" relation="relation32"/>
    <link port="SofCombiner7.sof in" relation="relation20"/>
    <link port="SofCombiner7.sof in" relation="relation34"/>
    <link port="SofCombiner7.sof out" relation="relation24"/>
    <link port="DataOrganizer.input data" relation="relation28"/>
    <link port="DataOrganizer.datasets out" relation="relation"/>
    <link port="Master Flat Creator.sof in" relation="relation13"/>
    <link port="Master Flat Creator.sof in" relation="relation22"/>
    <link port="Master Flat Creator.sof in" relation="relation29"/>
    <link port="Master Flat Creator.sof in" relation="relation9"/>
    <link port="Master Flat Creator.sof out" relation="relation3"/>
    <link port="FitsRouter2.in" relation="relation30"/>
    <link port="FitsRouter2.DARK" relation="relation6"/>
    <link port="FitsRouter2.BIAS" relation="relation2"/>
    <link port="FitsRouter2.PREDICT" relation="relation23"/>
    <link port="FitsRouter2.PREDICT_AUX" relation="relation11"/>
    <link port="FitsRouter2.ORDERPOS" relation="relation10"/>
    <link port="FitsRouter2.FLAT" relation="relation9"/>
    <link port="FitsRouter2.SCIENCE" relation="relation34"/>
    <link port="FitsRouter2.SCIENCE_AUX" relation="relation20"/>
    <link port="FitsRouter2.STANDARD" relation="relation19"/>
    <link port="FitsRouter2.STANDARD_AUX" relation="relation35"/>
    <link port="FitsRouter2.WAVECAL" relation="relation18"/>
    <link port="Master Bias Creation.sof_in" relation="relation2"/>
    <link port="Master Bias Creation.sof_out" relation="relation37"/>
    <link port="Order Detection.sof_out" relation="relation29"/>
    <link port="Order Detection.sof_in" relation="relation36"/>
    <link port="Order Detection.sof_in" relation="relation22"/>
    <link port="Order Detection.sof_in" relation="relation10"/>
    <link port="Initialise Current Dataset2.dataset" relation="relation30"/>
    <link port="Initialise Current Dataset2.dataset_in" relation="relation14"/>
    <link port="Initialise Current Dataset2.current_dataset" relation="relation5"/>
    <link port="Data Set Selection.datasets_in" relation="relation"/>
    <link port="Data Set Selection.dataset_out" relation="relation14"/>
    <link port="Initialize2.raw_data_dir" relation="relation28"/>
    <link port="ProvenanceExplorer.bookkeeping db" relation="relation21"/>
    <link port="ProvenanceExplorer.start date" relation="relation31"/>
    <link port="Close DataSet.current_dataset" relation="relation5"/>
    <link port="Close DataSet.final_files" relation="relation25"/>
    <link port="Close DataSet.bookkeeping_db" relation="relation21"/>
    <link port="Close DataSet.global_timestamp" relation="relation31"/>
    <link port="ProductRenamer.sof_in" relation="relation27"/>
    <link port="ProductRenamer.sof_out" relation="relation25"/>
    <link relation1="relation22" relation2="relation7"/>
    <link relation1="relation16" relation2="relation37"/>
    <link relation1="relation16" relation2="relation7"/>
    <link relation1="relation7" relation2="relation8"/>
</entity>
