[kepler-users] nil vs. null
Corinna Gries
cgries at wisc.edu
Thu Jun 3 06:46:33 PDT 2010
Hi Derik,
No that doesn't solve my problem. But there must be something wrong
upstream in my worklflow for the expression to think s never equals nil.
If I make a really simple workflow (attached) I can get the expression
to work correctly. However, the problem is still in the RecordAssembler.
No matter what I convert the nil to (object(null), "null", "NULL") it
writes the insert statement wrong and then the DatabaseWriter throws an
SQL exception:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ptolemy.kernel.util.IllegalActionException: failed to execute the
command: INSERT INTO crystal_bog_buoy_hi_res (air_temp, daynum,
sample_time, year4, record_id) VALUES ('NULL', '234', '1020', '2009',
'236429') in .Unnamed2.Database Writer
Because:
Incorrect decimal value: 'NULL' for column 'air_temp' at row 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
So, how do I convince the RecordAssembler to not put the NULL in quotes?
thanks
Corinna
Derik Barseghian wrote:
> Hi Corinna,
> If I understand correctly, you may just want:
>
> s.equals("nil")?"NULL":s
>
> (nil as a String) in your Expression Actor. I'm guessing when you used
> the Expression Evaluator you set s = nil, which is different from s =
> "nil".
>
> Derik
>
> On Jun 2, 2010, at 4:49 PM, Corinna Gries wrote:
>
>> Hi,
>>
>> I am trying to run some simple range checks on sensor data coming
>> from a DataTurbine actor. I.e. filtering out those -99999 values and
>> replacing them with NULL. I have managed to replace them with nil and
>> that works well for graphing the data in Kepler, but I can't insert
>> the data into a database. The RecordAssembler seems to take 'nil' as
>> a string. The expression s.equals(nil)?null:s works in the expression
>> evaluator (i.e. returning object(null) when true) but returns always
>> false when I put it into an expression actor.
>>
>> What am I missing here? The workflow is attached, although it won't
>> work because I have the DT instance running on my localhost.
>>
>> thanks
>> Corinna
>> <?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="DTrule1" class="ptolemy.actor.TypedCompositeActor">
>> <property name="_createdBy"
>> class="ptolemy.kernel.attributes.VersionAttribute" value="8.0.1">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList">
>> </property>
>> <property name="entityId" class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:178:886">
>> </property>
>> <property name="duration"
>> class="ptolemy.actor.parameters.PortParameter" value="days * 24 * 60
>> * 60">
>> <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>
<p>The
>> PortParameter component specifies a persistent value, but can also
>> accept an updated/current value via an associated port. The current
>> value and the persistent value may
>> differ.</p>
<p>There are a few situations where
>> PortParameter might not behave as expected:</p>
<ol>
>>
<li>If PortParameter is used in a transparent composite
>> actor, then a token provided to a PortParameter will never be read. A
>> transparent composite actor is one without a director. Workaround:
>> Put a director in the composite actor.
>> </li>
<li>Certain actors (such as the Integrator in
>> CT) read parameter values only during initialization. During
>> initialization, a PortParameter can only have a value set via the
>> parameter (it can't have yet received a token). So if the initial
>> value of the Integrator is set to the value of the PortParameter,
>> then it will see only the parameter value, never the value provided
>> via the port. Workaround: Use a RunCompositeActor to contain the
>> model with the Integrator.
>> </li>
</ol>
</configure></property>
>> <property name="prop:portParameter"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> specified persistent value. </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:425:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.parameters.PortParameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1189: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>
>> <property name="_smallIconDescription"
>> class="ptolemy.kernel.util.SingletonConfigurableAttribute">
>> <configure>
>> <svg>
>> <text x="20" style="font-size:14; font-family:SansSerif;
>> fill:black" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[260.0, 55.0]">
>> </property>
>> </property>
>> <property name="days"
>> class="ptolemy.actor.parameters.PortParameter" value="5">
>> <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>
<p>The
>> PortParameter component specifies a persistent value, but can also
>> accept an updated/current value via an associated port. The current
>> value and the persistent value may
>> differ.</p>
<p>There are a few situations where
>> PortParameter might not behave as expected:</p>
<ol>
>>
<li>If PortParameter is used in a transparent composite
>> actor, then a token provided to a PortParameter will never be read. A
>> transparent composite actor is one without a director. Workaround:
>> Put a director in the composite actor.
>> </li>
<li>Certain actors (such as the Integrator in
>> CT) read parameter values only during initialization. During
>> initialization, a PortParameter can only have a value set via the
>> parameter (it can't have yet received a token). So if the initial
>> value of the Integrator is set to the value of the PortParameter,
>> then it will see only the parameter value, never the value provided
>> via the port. Workaround: Use a RunCompositeActor to contain the
>> model with the Integrator.
>> </li>
</ol>
</configure></property>
>> <property name="prop:portParameter"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> specified persistent value. </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:425:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.parameters.PortParameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1189: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>
>> <property name="_smallIconDescription"
>> class="ptolemy.kernel.util.SingletonConfigurableAttribute">
>> <configure>
>> <svg>
>> <text x="20" style="font-size:14; font-family:SansSerif;
>> fill:black" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[260.0, 35.0]">
>> </property>
>> </property>
>> <property name="startTime"
>> class="ptolemy.actor.parameters.PortParameter"
>> value=""2009-09-01 00:00:00"">
>> <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>
<p>The
>> PortParameter component specifies a persistent value, but can also
>> accept an updated/current value via an associated port. The current
>> value and the persistent value may
>> differ.</p>
<p>There are a few situations where
>> PortParameter might not behave as expected:</p>
<ol>
>>
<li>If PortParameter is used in a transparent composite
>> actor, then a token provided to a PortParameter will never be read. A
>> transparent composite actor is one without a director. Workaround:
>> Put a director in the composite actor.
>> </li>
<li>Certain actors (such as the Integrator in
>> CT) read parameter values only during initialization. During
>> initialization, a PortParameter can only have a value set via the
>> parameter (it can't have yet received a token). So if the initial
>> value of the Integrator is set to the value of the PortParameter,
>> then it will see only the parameter value, never the value provided
>> via the port. Workaround: Use a RunCompositeActor to contain the
>> model with the Integrator.
>> </li>
</ol>
</configure></property>
>> <property name="prop:portParameter"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> specified persistent value. </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:425:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.parameters.PortParameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1189: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>
>> <property name="_smallIconDescription"
>> class="ptolemy.kernel.util.SingletonConfigurableAttribute">
>> <configure>
>> <svg>
>> <text x="20" style="font-size:14; font-family:SansSerif;
>> fill:black" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{260.0, 15.0}">
>> </property>
>> </property>
>> <property name="sampleInterval"
>> class="ptolemy.data.expr.Parameter" value="60">
>> <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>null</configure></property>
>>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:420:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.data.expr.Parameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1184: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, 0.0, 1.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:blue" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{260, 80}">
>> </property>
>> </property>
>> <property name="maxLengthOfDataArrays"
>> class="ptolemy.data.expr.Parameter" value="(duration/sampleInterval)">
>> <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>null</configure></property>
>>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:420:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.data.expr.Parameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1184: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, 0.0, 1.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:blue" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[260.0, 100.0]">
>> </property>
>> </property>
>> <property name="_windowProperties"
>> class="ptolemy.actor.gui.WindowPropertiesAttribute"
>> value="{bounds={0, 0, 1288, 1002}, maximized=false}">
>> </property>
>> <property name="_vergilSize"
>> class="ptolemy.actor.gui.SizeAttribute" value="[971, 840]">
>> </property>
>> <property name="_vergilZoomFactor"
>> class="ptolemy.data.expr.ExpertParameter" value="1.0">
>> </property>
>> <property name="_vergilCenter"
>> class="ptolemy.data.expr.ExpertParameter" value="{640.5, 420.0}">
>> </property>
>> <property name="PN Director"
>> class="ptolemy.domains.pn.kernel.PNDirector">
>> <property name="timeResolution"
>> class="ptolemy.actor.parameters.SharedParameter" value="1E-10">
>> </property>
>> <property name="initialQueueCapacity"
>> class="ptolemy.data.expr.Parameter" value="1">
>> </property>
>> <property name="maximumQueueCapacity"
>> class="ptolemy.data.expr.Parameter" value="65536">
>> </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>Mudit
>> Goel, Edward A. Lee, Xiaowen Xin</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
<p>PN
>> Directors are natural candidates for managing workflows that require
>> parallel processing on distributed computing systems. PN workflows
>> are powerful because they have few restrictions. On the other hand,
>> they can be very inefficient.</p>
<p>The Process
>> Network (PN) Director is similar to the SDF Director in that it does
>> not have a notion of time. However, unlike the SDF Director, the PN
>> Director does not statically calculate firing schedules. Instead, a
>> PN workflow is driven by data availability: tokens are created on
>> output ports whenever input tokens are available and the outputs can
>> be calculated. Output tokens are passed to connected actors, where
>> they are held in a buffer until that next actor collects all required
>> inputs and can fire. The PN Director finishes executing a workflow
>> only when there are no new data token sources anywhere in the
>> workflow. </p>
<p>The same execution process
>> that gives the PN Director its flexibility can also lead to some
>> unexpected results: workflows may refuse to automatically terminate
>> because tokens are always generated and available to downstream
>> actors, for example. If one actor fires at a much higher rate than
>> another, a downstream actor's memory buffer may overflow, causing
>> workflow execution to fail.</p>
<p>There are at
>> least three ways for a PN model to terminate itself:
>> <ol>
<li>Have the model starve itself. Typically, a
>> boolean switch is used.
See the PN OrderedMerge demo at
>> <code>ptolemy/domains/pn/demo/OrderedMerge/OrderedMerge.xml</code></li>
>> <li>Have the model call the Stop actor. See the PN
>> RemoveNilTokens demo at
>> <code>ptolemy/domains/pn/demo/RemoveNilTokens/RemoveNilTokens.xml</code></li>
>> <li>Set the <i>firingCountLimit</i> actor
>> parameter to the number of iterations desired. Actors such as
>> Ramp
extend LimitedFiringSource and have the
>> <i>firingCountLimit</i> parameter.</li>
>> </ol></p>
</configure></property>
>> <property name="prop:initialQueueCapacity"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> initial size of the queues for each communication channel. The value
>> is an integer that defaults to 1. This is an advanced parameter that
>> can usually be left at its default value.</configure></property>
>> <property name="prop:maximumQueueCapacity"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> maximum size of the queues for each communication channel. The value
>> is an integer that defaults to 65536. To specify unbounded queues,
>> set the value to 0. This is an advanced parameter that can usually be
>> left at its default value.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:director:2:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.domains.pn.kernel.PNDirector">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:directorclass:2:1">
>> </property>
>> </property>
>> <property name="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="{125, 55}">
>> </property>
>> </property>
>> <port name="duration" class="ptolemy.actor.parameters.ParameterPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{240.0, 50.0}">
>> </property>
>> </port>
>> <port name="days" class="ptolemy.actor.parameters.ParameterPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{240.0, 30.0}">
>> </property>
>> </port>
>> <port name="startTime"
>> class="ptolemy.actor.parameters.ParameterPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{240.0, 10.0}">
>> </property>
>> </port>
>> <entity name="DataTurbine"
>> class="org.kepler.data.datasource.dataturbine.DataTurbine">
>> <property name="DataTurbine Address"
>> class="ptolemy.actor.parameters.PortParameter"
>> value=""localhost:3333"">
>> </property>
>> <property name="Sink Mode" class="ptolemy.data.expr.Parameter"
>> value="Request">
>> </property>
>> <property name="Start Time (for Request or Subscribe modes)"
>> class="ptolemy.actor.parameters.PortParameter" value="startTime">
>> </property>
>> <property name="Duration (for Request or Subscribe modes)"
>> class="ptolemy.actor.parameters.PortParameter" value="duration">
>> </property>
>> <property name="Reference (for Request or Subscribe modes)"
>> class="ptolemy.data.expr.Parameter" value="absolute">
>> </property>
>> <property name="Block Timeout (ms) (for Fetch)"
>> class="ptolemy.data.expr.Parameter" value="15000">
>> </property>
>> <property name="Output Data Type"
>> class="ptolemy.data.expr.Parameter" value="Record of 2 arrays">
>> </property>
>> <property name="Pad data gaps with nils"
>> 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>Derik
>> Barseghian</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
The
>> DataTurbine actor retrieves data from a RBNB
>> DataTurbine server and
outputs it as DoubleTokens. Sink
>> mode
Request has been tested beneath SDF,
>> Monitor and Subscribe
modes briefly in
>> PN.</configure></property>
>> <property name="prop:Sink Mode"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
>> Sink mode.
>> <br></br>
>> <ul>
<li>"Request":
>> Initiates a request for a specific time slice
>> of
>> data.</li>
>> <li>"Subscribe": Starts a continuous feed of data on
>> the specified
channels to this sink, for
>> retrieval. Each block retrieved will be
>> duration time units in length.</li>
>> <li>"Monitor": Similar to Subscribe, but allows for
>> continuous
frames of data without
>> gaps.</li>
</ul>
>> </configure></property>
>> <property name="prop:Block Timeout (ms) (for Fetch)"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> amount of time (ms) to wait for data to become
>> available. Use 0 for no delay or any negative number for an
>> infinite
delay.</configure></property>
>> <property name="prop:Output Data Type"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Format
>> of output datapoint and timestamp pairs: Record
>> of
2 Arrays, or an Array of X
>> Records.</configure></property>
>> <property name="prop:Duration (for Request or Subscribe modes)"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> duration of the request. Unit is seconds unless
>> fetchByFrame is set.</configure></property>
>> <property name="prop:Start Time (for Request or Subscribe modes)"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Start
>> time for Request mode. "yyyy-MM-dd
>> HH:mm:ss"</configure></property>
>> <property name="prop:Reference (for Request or Subscribe modes)"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>For
>> Subscribe mode: Any of "newest",
>> "oldest",
"absolute",
>> "next", or "previous".
>> <br></br>
For Request
>> mode:
<ul>
>> <li>"absolute" -- The start parameter is absolute
>> time
from midnight, Jan 1st, 1970
>> UTC.</li>
<li>"newest"
>> -- The start parameter is measured from
>> the
most recent data available in the
>> server at the time this request
is
>> received. Note that for this case, the start parameter
>> actually
represents the end of the
>> duration, and positive times proceed
>> toward oldest data.</li>
>> <li>"oldest" -- As "newest", but relative
>> to
the oldest
>> data.</li>
>> <li>"aligned" -- As "newest", but rather
>> than
per channel, this is relative to the
>> newest for all of the
>> channels.</li>
>> <li>"after" -- A combination between
>> "absolute"
and
>> "newest", this flag causes the server to return
>> the
newest data available after the
>> specified start time. Unlike
>> "newest", you do not have to request the data to
>> find
out that you already have it. Unlike
>> "absolute", a gap
may be
>> inserted in the data to provide you with the freshest
>> data.
</li>
>> <li>"modified" -- Similar to "after",
>> but
attempts to return a duration's worth
>> of data in a contiguous
block. If the
>> data is not available after the start time, it
>> will
be taken from before the start
>> time.</li>
<li>"next" -
>> gets the data that immediately follows
>> the
time range specified. This will skip
>> over gaps.</li>
>> <li>"previous" - get the data that immediately
>> preceeds
the time range specified. This
>> will skip over gaps.</li>
>> </ul>
</configure></property>
>> <property name="prop:DataTurbine Address"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The URL
>> to the DataTurbine Server</configure></property>
>> <property name="prop:Pad data gaps with nils"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Will
>> attempt to identify and pad gappy data with pairs
>> of
timestamps and nils Need at least 2 samples to
>> be able to pad.
</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:179:6">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.data.datasource.dataturbine.DataTurbine">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:550:6">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#RemoteInputActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#RemoteInput">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[95.0, 545.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:550:6">
>> </property>
>> <port name="CrystalBogBuoy/RECORD"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/airTemp"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/c3Temp"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/cdom"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/chloro"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/dataloggerBatt"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/doptoPPM"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/doptoSat"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/doptoTemp"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/phyco"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/radioBatt"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/relHum"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(1)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(10)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(2)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(3)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(4)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(5)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(6)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(7)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(8)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/tempLine(9)"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="CrystalBogBuoy/windSpd"
>> class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> </entity>
>> <entity name="Record Disassembler"
>> class="ptolemy.actor.lib.RecordDisassembler">
>> <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>
<p>The
>> RecordDisassembler actor receives a record, which it disassembles and
>> outputs via user-specified output ports. The actor reads and
>> disassembles one record each time it
>> fires.</p>
<p>A record is a composite data type
>> consisting of one or more elements. Each element is named and can
>> have a distinct type. For example, {number=1, name="dog"}
>> is a record containing two elements. The first element, named
>> "number", contains an integer value. The second element,
>> named "name", contains a string value.
>> </p>
<p>The name of each record element must
>> match the name of a user-specified output port. For example, if the
>> input record is {day="Monday", week=5, month=12}, the
>> output ports must be named "Monday", "week" and
>> "month". If the record contains more fields than the actor
>> has output ports, the extra fields are
>> ignored.</p>
</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a record, which the actor will disassemble.
>> </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:180:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.RecordDisassembler">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:924:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#RecordActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[205.0, 205.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:48:1">
>> </property>
>> <port name="timestamps" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> <port name="data" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> </port>
>> </entity>
>> <entity name="Array To Sequence"
>> class="ptolemy.domains.sdf.lib.ArrayToSequence">
>> <property name="arrayLength"
>> class="ptolemy.data.expr.Parameter" value="maxLengthOfDataArrays">
>> </property>
>> <property name="enforceArrayLength"
>> 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>unknown</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> ArrayToSequence actor outputs the individual values of an array as a
>> sequence of tokens.</p>
<p>The actor can accept
>> an array with any element type (e.g., int, double, etc.). Each time
>> the actor fires, it reads and disassembles one array and outputs a
>> sequence of values.</p>
<p>The arrayLength
>> parameter can be used to specify the length of the source array. If
>> the enforceArrayLength parameter is selected, then the actor will
>> only accept arrays of the specified length. The enforceArrayLength
>> parameter should be selected if using an SDF director. If using other
>> directors, such as DE or PN, the enforceArrayLength parameter can be
>> deselected, in which case the arrayLength parameter is
>> ignored.</p>
<p>The ArrayToSequence actor is
>> similar to the ArrayToElements actor, except that it outputs values
>> as a sequence via a single output port. The ArrayToElements actor
>> outputs individual values on multiple channels of the output port.
>> Use the ArrayAccumulator actor to convert an array into a single
>> string, where each value is separated by a specified
>> separator.</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts an array of elements of any
>> type.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a sequence of the disassembled array
>> values. </configure></property>
>> <property name="prop:enforceArrayLength"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify
>> whether or not to enforce the arrayLength parameter. By default, the
>> arrayLength is enforced, and the actor will only accept arrays of the
>> specified length.</configure></property>
>> <property name="prop:arrayLength"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The size
>> of the input array. The default is 1.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:186:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.domains.sdf.lib.ArrayToSequence">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:907:1">
>> </property>
>> </property>
>> <property name="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="[330.0, 175.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:31:1">
>> </property>
>> </entity>
>> <entity name="Array To Sequence2"
>> class="ptolemy.domains.sdf.lib.ArrayToSequence">
>> <property name="arrayLength"
>> class="ptolemy.data.expr.Parameter" value="maxLengthOfDataArrays">
>> </property>
>> <property name="enforceArrayLength"
>> 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>unknown</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> ArrayToSequence actor outputs the individual values of an array as a
>> sequence of tokens.</p>
<p>The actor can accept
>> an array with any element type (e.g., int, double, etc.). Each time
>> the actor fires, it reads and disassembles one array and outputs a
>> sequence of values.</p>
<p>The arrayLength
>> parameter can be used to specify the length of the source array. If
>> the enforceArrayLength parameter is selected, then the actor will
>> only accept arrays of the specified length. The enforceArrayLength
>> parameter should be selected if using an SDF director. If using other
>> directors, such as DE or PN, the enforceArrayLength parameter can be
>> deselected, in which case the arrayLength parameter is
>> ignored.</p>
<p>The ArrayToSequence actor is
>> similar to the ArrayToElements actor, except that it outputs values
>> as a sequence via a single output port. The ArrayToElements actor
>> outputs individual values on multiple channels of the output port.
>> Use the ArrayAccumulator actor to convert an array into a single
>> string, where each value is separated by a specified
>> separator.</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts an array of elements of any
>> type.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a sequence of the disassembled array
>> values. </configure></property>
>> <property name="prop:enforceArrayLength"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify
>> whether or not to enforce the arrayLength parameter. By default, the
>> arrayLength is enforced, and the actor will only accept arrays of the
>> specified length.</configure></property>
>> <property name="prop:arrayLength"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The size
>> of the input array. The default is 1.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:187:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.domains.sdf.lib.ArrayToSequence">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:907:1">
>> </property>
>> </property>
>> <property name="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="[325.0, 315.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:31:1">
>> </property>
>> </entity>
>> <entity name="generalRangeCheck"
>> class="ptolemy.actor.TypedCompositeActor">
>> <property name="_createdBy"
>> class="ptolemy.kernel.attributes.VersionAttribute" value="8.0.1">
>> </property>
>> <property name="entityId" class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:189:294">
>> </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><p>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 "inherit" the director from the
>> containing workflow and are called
>> non-opaque.</p>
<p>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.</p></configure></property>
>> </property> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[580.0, 305.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:449:1">
>> </property>
>> <property name="_windowProperties"
>> class="ptolemy.actor.gui.WindowPropertiesAttribute"
>> value="{bounds={16, 22, 1189, 916}, maximized=false}">
>> </property>
>> <property name="_vergilSize"
>> class="ptolemy.actor.gui.SizeAttribute" value="[872, 754]">
>> </property>
>> <property name="_vergilZoomFactor"
>> class="ptolemy.data.expr.ExpertParameter" value="1.0">
>> </property>
>> <property name="_vergilCenter"
>> class="ptolemy.data.expr.ExpertParameter" value="{436.0, 377.0}">
>> </property>
>> <property name="upperLimit"
>> class="ptolemy.data.expr.Parameter" value="50">
>> <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>null</configure></property>
>>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:420:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.data.expr.Parameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1184: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, 0.0, 1.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:blue" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{215, 35}">
>> </property>
>> </property>
>> <property name="lowerLimit"
>> class="ptolemy.data.expr.Parameter" value="10">
>> <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>null</configure></property>
>>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:420:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.data.expr.Parameter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1184: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, 0.0, 1.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:blue" y="20">-P-</text>
>> </svg>
>> </configure>
>> </property>
>> <property name="_editorFactory"
>> class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[215.0, 55.0]">
>> </property>
>> </property>
>> <port name="flagIn" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[20.0, 470.0]">
>> </property>
>> </port>
>> <port name="flagOut" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[770.0, 455.0]">
>> </property>
>> </port>
>> <port name="dataIn" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[20.0, 190.0]">
>> </property>
>> </port>
>> <port name="dataOut" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[760.0, 200.0]">
>> </property>
>> </port>
>> <entity name="belowRange"
>> class="ptolemy.actor.lib.logic.Comparator">
>> <property name="comparison"
>> class="ptolemy.kernel.util.StringAttribute" value=">">
>> </property>
>> <property name="tolerance"
>> 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>
<p>The
>> Comparator reads two values and compares them. The actor outputs a
>> Boolean value (true or false) that indicates whether the comparison
>> criteria were met or not.</p>
<p>Specify the
>> type of comparison to perform with the comparison parameter. The
>> following comparisons may be performed:</p>
<table
>> border="1">
<tr><td>Comparison</td><td>Definition</td></tr>
<tr><td>></td><td>left
>> is greater than right; the default
>> comparison.</td></tr>
<tr><td>>=</td><td>left
>> is greater than or equal to
>> right</td></tr>
<tr><td>less
>> than</td><td>left is less than
>> right</td></tr>
<tr><td>less than or
>> equal</td><td>left is less than or equal to
>> right</td></tr>
<tr><td>==</td><td>left
>> equals
>> right</td></tr>
</table>
<p>The
>> input ports are named "left" and "right" to
>> indicate which side of the comparison operator their value appears
>> on.</p>
<p>The tolerance parameter, which
>> defaults to zero, defines an error tolerance. If the tolerance is
>> greater than zero, the actor will output true when the specified
>> comparison is not exactly satisfied, but rather is almost satisfied
>> within the specified tolerance.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a Boolean value (true or false) that
>> indicates whether the comparison criteria were met or
>> not.</configure></property>
>> <property name="port:right"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double(or any data type that can be losslessly
>> converted to a double token) that will be used on the right side of
>> the comparison operator.</configure></property>
>> <property name="port:left"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double (or any data type that can be losslessly
>> converted to a double token) that will be used on the left side of
>> the comparison operator.</configure></property>
>> <property name="prop:tolerance"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> tolerance for the comparison. If the tolerance is greater than zero,
>> the actor will output true when the comparison is satisfied within
>> the specified tolerance (i.e., the comparison need not be exactly
>> satisfied). The value is a double that defaults to
>> 0.0.</configure></property>
>> <property name="prop:comparison"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> comparison to perform. The default is greater
>> than.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:64:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.logic.Comparator">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:939: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="[90.0, 295.0]">
>> </property>
>> <property name="" class="ptolemy.vergil.basic.DocAttribute">
>> <property name="description"
>> class="ptolemy.kernel.util.StringAttribute" value="
<p>The
>> Comparator reads two values and compares them. The actor outputs a
>> Boolean value (true or false) that indicates whether the comparison
>> criteria were met or not.</p>
<p>Specify the
>> type of comparison to perform with the comparison parameter. The
>> following comparisons may be performed:</p>
<table
>> border="1">
<tr><td>Comparison</td><td>Definition</td></tr>
<tr><td>></td><td>left
>> is greater than right; the default
>> comparison.</td></tr>
<tr><td>>=</td><td>left
>> is greater than or equal to
>> right</td></tr>
<tr><td>less
>> than</td><td>left is less than
>> right</td></tr>
<tr><td>less than or
>> equal</td><td>left is less than or equal to
>> right</td></tr>
<tr><td>==</td><td>left
>> equals
>> right</td></tr>
</table>
<p>The
>> input ports are named "left" and "right" to
>> indicate which side of the comparison operator their value appears
>> on.</p>
<p>The tolerance parameter, which
>> defaults to zero, defines an error tolerance. If the tolerance is
>> greater than zero, the actor will output true when the specified
>> comparison is not exactly satisfied, but rather is almost satisfied
>> within the specified tolerance.</p>">
>> </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="comparison (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="The comparison to
>> perform. The default is greater than.">
>> </property>
>> <property name="tolerance (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="The tolerance for
>> the comparison. If the tolerance is greater than zero, the actor will
>> output true when the comparison is satisfied within the specified
>> tolerance (i.e., the comparison need not be exactly satisfied). The
>> value is a double that defaults to 0.0.">
>> </property>
>> <property name="left (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An input port that
>> accepts a double (or any data type that can be losslessly converted
>> to a double token) that will be used on the left side of the
>> comparison operator.">
>> </property>
>> <property name="right (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An input port that
>> accepts a double(or any data type that can be losslessly converted to
>> a double token) that will be used on the right side of the comparison
>> operator.">
>> </property>
>> <property name="output (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An output port
>> that broadcasts a Boolean value (true or false) that indicates
>> whether the comparison criteria were met or not.">
>> </property>
>> </property>
>> </entity>
>> <entity name="Boolean To Anything"
>> class="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="falseValue"
>> class="ptolemy.data.expr.Parameter" value="0">
>> </property>
>> <property name="trueValue"
>> 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>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><p>The
>> BooleanToAnything actor converts a Boolean token (i.e., true or
>> false) into any data type and value. </p>
<p>The
>> actor reads a Boolean value and assigns a new value based on the
>> specified conversion values. The actor outputs the value of the
>> trueValue parameter if the Boolean input is true. The actor outputs
>> the value of the falseValue parameter if the Boolean input is false.
>> The type of the output matches that of the specified conversion
>> values.
</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted data. The actor will output
>> the value of the falseValue parameter if the input value is false, or
>> the value of the trueValue parameter if the input value is
>> true.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that receives a Boolean token.</configure></property>
>> <property name="prop:trueValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "true" input is read.
>> </configure></property>
>> <property name="prop:falseValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "false" input is
>> read.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:216:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:910:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[250.0, 295.0]">
>> </property>
>> <property name="" class="ptolemy.vergil.basic.DocAttribute">
>> <property name="description"
>> class="ptolemy.kernel.util.StringAttribute" value="<p>The
>> BooleanToAnything actor converts a Boolean token (i.e., true or
>> false) into any data type and value. </p>
<p>The
>> actor reads a Boolean value and assigns a new value based on the
>> specified conversion values. The actor outputs the value of the
>> trueValue parameter if the Boolean input is true. The actor outputs
>> the value of the falseValue parameter if the Boolean input is false.
>> The type of the output matches that of the specified conversion
>> values.
</p>">
>> </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="falseValue (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="The value to output
>> when a "false" input is read.">
>> </property>
>> <property name="trueValue (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="The value to output
>> when a "true" input is read. ">
>> </property>
>> <property name="input (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An input port that
>> receives a Boolean token.">
>> </property>
>> <property name="output (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An output port
>> that broadcasts the converted data. The actor will output the value
>> of the falseValue parameter if the input value is false, or the value
>> of the trueValue parameter if the input value is true.">
>> </property>
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:34:1">
>> </property>
>> </entity>
>> <entity name="lowerLimit" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="maxLengthOfDataArrays">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value="lowerLimit">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:209:6">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[55.0, 390.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <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><p>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.
If the actor has never received a value on the
>> control port, then the actor will output to the falseOutput
>> port.</p>
<p>The actor only works under certain
>> directors. It will not work under an SDF Director, but it will under
>> a PN Director, for example.</p></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="[155.0, 195.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="Select" class="ptolemy.actor.lib.Select">
>> <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><p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the selected input
>> channel.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> multiport that accepts tokens of any type.</configure></property>
>> <property name="port:control"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts integer tokens that indicate which input channel to
>> output (0, 1, 2, 3, etc). If the value is out of range (less than
>> zero, or greater than or equal to the width of the input), then the
>> actor will not fire.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:50:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Select">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:926: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="[310.0, 185.0]">
>> </property>
>> <property name="" class="ptolemy.vergil.basic.DocAttribute">
>> <property name="description"
>> class="ptolemy.kernel.util.StringAttribute" value="<p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p>">
>> </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="input (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="A multiport that
>> accepts tokens of any type.">
>> </property>
>> <property name="output (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An output port
>> that broadcasts the selected input channel.">
>> </property>
>> <property name="control (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An input port that
>> accepts integer tokens that indicate which input channel to output
>> (0, 1, 2, 3, etc). If the value is out of range (less than zero, or
>> greater than or equal to the width of the input), then the actor will
>> not fire.">
>> </property>
>> </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="Boolean Switch2"
>> 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><p>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.
If the actor has never received a value on the
>> control port, then the actor will output to the falseOutput
>> port.</p>
<p>The actor only works under certain
>> directors. It will not work under an SDF Director, but it will under
>> a PN Director, for example.</p></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="[505.0, 185.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="Select2" class="ptolemy.actor.lib.Select">
>> <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><p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> multiport that accepts tokens of any type.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the selected input
>> channel.</configure></property>
>> <property name="port:control"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts integer tokens that indicate which input channel to
>> output (0, 1, 2, 3, etc). If the value is out of range (less than
>> zero, or greater than or equal to the width of the input), then the
>> actor will not fire.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:50:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Select">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:926: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="[650.0, 180.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="aboveRange"
>> class="ptolemy.actor.lib.logic.Comparator">
>> <property name="comparison"
>> class="ptolemy.kernel.util.StringAttribute" value="<">
>> </property>
>> <property name="tolerance"
>> 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>
<p>The
>> Comparator reads two values and compares them. The actor outputs a
>> Boolean value (true or false) that indicates whether the comparison
>> criteria were met or not.</p>
<p>Specify the
>> type of comparison to perform with the comparison parameter. The
>> following comparisons may be performed:</p>
<table
>> border="1">
<tr><td>Comparison</td><td>Definition</td></tr>
<tr><td>></td><td>left
>> is greater than right; the default
>> comparison.</td></tr>
<tr><td>>=</td><td>left
>> is greater than or equal to
>> right</td></tr>
<tr><td>less
>> than</td><td>left is less than
>> right</td></tr>
<tr><td>less than or
>> equal</td><td>left is less than or equal to
>> right</td></tr>
<tr><td>==</td><td>left
>> equals
>> right</td></tr>
</table>
<p>The
>> input ports are named "left" and "right" to
>> indicate which side of the comparison operator their value appears
>> on.</p>
<p>The tolerance parameter, which
>> defaults to zero, defines an error tolerance. If the tolerance is
>> greater than zero, the actor will output true when the specified
>> comparison is not exactly satisfied, but rather is almost satisfied
>> within the specified tolerance.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a Boolean value (true or false) that
>> indicates whether the comparison criteria were met or
>> not.</configure></property>
>> <property name="port:right"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double(or any data type that can be losslessly
>> converted to a double token) that will be used on the right side of
>> the comparison operator.</configure></property>
>> <property name="port:left"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double (or any data type that can be losslessly
>> converted to a double token) that will be used on the left side of
>> the comparison operator.</configure></property>
>> <property name="prop:tolerance"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> tolerance for the comparison. If the tolerance is greater than zero,
>> the actor will output true when the comparison is satisfied within
>> the specified tolerance (i.e., the comparison need not be exactly
>> satisfied). The value is a double that defaults to
>> 0.0.</configure></property>
>> <property name="prop:comparison"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> comparison to perform. The default is greater
>> than.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:235:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.logic.Comparator">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:939: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="[430.0, 295.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:64:1">
>> </property>
>> </entity>
>> <entity name="Boolean To Anything2"
>> class="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="falseValue"
>> class="ptolemy.data.expr.Parameter" value="0">
>> </property>
>> <property name="trueValue"
>> 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>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><p>The
>> BooleanToAnything actor converts a Boolean token (i.e., true or
>> false) into any data type and value. </p>
<p>The
>> actor reads a Boolean value and assigns a new value based on the
>> specified conversion values. The actor outputs the value of the
>> trueValue parameter if the Boolean input is true. The actor outputs
>> the value of the falseValue parameter if the Boolean input is false.
>> The type of the output matches that of the specified conversion
>> values.
</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that receives a Boolean token.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted data. The actor will output
>> the value of the falseValue parameter if the input value is false, or
>> the value of the trueValue parameter if the input value is
>> true.</configure></property>
>> <property name="prop:trueValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "true" input is read.
>> </configure></property>
>> <property name="prop:falseValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "false" input is
>> read.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:34:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:910:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[575.0, 295.0]">
>> </property>
>> </entity>
>> <entity name="outsideRangeValue2"
>> class="ptolemy.actor.lib.Const">
>> <display name="outsideRangeValue"/>
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value="nil">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:233:6">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[590.0, 150.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="upperLimit" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value="upperLimit">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:234:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[420.0, 385.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="Select3" class="ptolemy.actor.lib.Select">
>> <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><p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> multiport that accepts tokens of any type.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the selected input
>> channel.</configure></property>
>> <property name="port:control"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts integer tokens that indicate which input channel to
>> output (0, 1, 2, 3, etc). If the value is out of range (less than
>> zero, or greater than or equal to the width of the input), then the
>> actor will not fire.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:266:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Select">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:926: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="[235.0, 455.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:50:1">
>> </property>
>> <port name="control" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_cardinal"
>> class="ptolemy.kernel.util.StringAttribute" value="NORTH">
>> </property>
>> </port>
>> </entity>
>> <entity name="outsideRangeFlag" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value=""C"">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:267:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[165.0, 440.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="outsideRangeFlag2" class="ptolemy.actor.lib.Const">
>> <display name="outsideRangeFlag"/>
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value=""C"">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:267:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[550.0, 430.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="Select4" class="ptolemy.actor.lib.Select">
>> <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><p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the selected input
>> channel.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> multiport that accepts tokens of any type.</configure></property>
>> <property name="port:control"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts integer tokens that indicate which input channel to
>> output (0, 1, 2, 3, etc). If the value is out of range (less than
>> zero, or greater than or equal to the width of the input), then the
>> actor will not fire.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:266:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Select">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:926: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="[645.0, 455.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:50:1">
>> </property>
>> <port name="control" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_cardinal"
>> class="ptolemy.kernel.util.StringAttribute" value="NORTH">
>> </property>
>> </port>
>> </entity>
>> <entity name="outsideRangeValue" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value="nil">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:233:6">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[265.0, 175.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <relation name="relation4" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[205.0, 300.0]">
>> </vertex>
>> </relation>
>> <relation name="relation6" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation8" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="1">
>> </property>
>> <vertex name="vertex1" value="[395.0, 200.0]">
>> </vertex>
>> </relation>
>> <relation name="relation9" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[535.0, 285.0]">
>> </vertex>
>> </relation>
>> <relation name="relation13"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation10"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation11"
>> 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="[85.0, 215.0]">
>> </vertex>
>> </relation>
>> <relation name="relation7" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[345.0, 310.0]">
>> </vertex>
>> </relation>
>> <relation name="relation2" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation15"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation12"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation16"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation17"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation18"
>> class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[690.0, 305.0]">
>> </vertex>
>> </relation>
>> <relation name="relation" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation5" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation3" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <link port="flagIn" relation="relation15"/>
>> <link port="flagOut" relation="relation"/>
>> <link port="dataIn" relation="relation14"/>
>> <link port="dataOut" relation="relation12"/>
>> <link port="belowRange.left" relation="relation14"/>
>> <link port="belowRange.right" relation="relation6"/>
>> <link port="belowRange.output" relation="relation4"/>
>> <link port="Boolean To Anything.input" relation="relation4"/>
>> <link port="Boolean To Anything.output" relation="relation7"/>
>> <link port="lowerLimit.output" relation="relation6"/>
>> <link port="Boolean Switch.input" relation="relation14"/>
>> <link port="Boolean Switch.control" relation="relation4"/>
>> <link port="Boolean Switch.trueOutput" relation="relation3"/>
>> <link port="Select.input" relation="relation5"/>
>> <link port="Select.input" relation="relation3"/>
>> <link port="Select.output" relation="relation8"/>
>> <link port="Select.control" relation="relation7"/>
>> <link port="Boolean Switch2.input" relation="relation8"/>
>> <link port="Boolean Switch2.control" relation="relation9"/>
>> <link port="Boolean Switch2.trueOutput" relation="relation11"/>
>> <link port="Select2.input" relation="relation10"/>
>> <link port="Select2.input" relation="relation11"/>
>> <link port="Select2.output" relation="relation12"/>
>> <link port="Select2.control" relation="relation18"/>
>> <link port="aboveRange.left" relation="relation8"/>
>> <link port="aboveRange.right" relation="relation13"/>
>> <link port="aboveRange.output" relation="relation9"/>
>> <link port="Boolean To Anything2.input" relation="relation9"/>
>> <link port="Boolean To Anything2.output" relation="relation18"/>
>> <link port="outsideRangeValue2.output" relation="relation10"/>
>> <link port="upperLimit.output" relation="relation13"/>
>> <link port="Select3.input" relation="relation2"/>
>> <link port="Select3.input" relation="relation15"/>
>> <link port="Select3.output" relation="relation17"/>
>> <link port="Select3.control" relation="relation7"/>
>> <link port="outsideRangeFlag.output" relation="relation2"/>
>> <link port="outsideRangeFlag2.output" relation="relation16"/>
>> <link port="Select4.input" relation="relation16"/>
>> <link port="Select4.input" relation="relation17"/>
>> <link port="Select4.output" relation="relation"/>
>> <link port="Select4.control" relation="relation18"/>
>> <link port="outsideRangeValue.output" relation="relation5"/>
>> </entity>
>> <entity name="monthSpecificRangeCheck"
>> class="ptolemy.actor.TypedCompositeActor">
>> <property name="_createdBy"
>> class="ptolemy.kernel.attributes.VersionAttribute" value="8.0.1">
>> </property>
>> <property name="entityId" class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:238:144">
>> </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><p>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 "inherit" the director from the
>> containing workflow and are called
>> non-opaque.</p>
<p>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.</p></configure></property>
>> </property> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[475.0, 260.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:449:1">
>> </property>
>> <property name="_windowProperties"
>> class="ptolemy.actor.gui.WindowPropertiesAttribute"
>> value="{bounds={0, 0, 1288, 1002}, maximized=false}">
>> </property>
>> <property name="_vergilSize"
>> class="ptolemy.actor.gui.SizeAttribute" value="[971, 840]">
>> </property>
>> <property name="_vergilZoomFactor"
>> class="ptolemy.data.expr.ExpertParameter" value="1.0">
>> </property>
>> <property name="_vergilCenter"
>> class="ptolemy.data.expr.ExpertParameter" value="{485.5, 420.0}">
>> </property>
>> <port name="month" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[20.0, 185.0]">
>> </property>
>> </port>
>> <port name="data" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[20.0, 460.0]">
>> </property>
>> </port>
>> <port name="flagOut" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[875.0, 515.0]">
>> </property>
>> </port>
>> <entity name="Lookup Table"
>> class="ptolemy.actor.lib.LookupTable">
>> <property name="table" class="ptolemy.data.expr.Parameter"
>> value="{0, -37.4, -40.19, -33.16, -18.4, -7.67, -2.132, 2.302, 2.431,
>> -5.869, -10.96, -25.26, -33.23}">
>> </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 and Christopher Hylands</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
<p>The
>> LookupTable actor reads an array of elements and "looks up"
>> an element specified by a given index number. The specified element
>> is output.</p>
<p>The first element in the array
>> has an index of 0 (the second 1, and so on). The index must be an
>> integer. If the index is out of range, the actor will output nothing.
>> </p>
<p>The LookupTable actor is similar to the
>> ArrayElement actor in function; however, the two actors specify
>> arrays and index numbers in different ways. The LookupTable actor
>> specifies an array with its table parameter and receives an index
>> number via its input port. The ArrayElement actor receives an array
>> via its input port and an index number via a
>> parameter.</p>
</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts an array index number. The index must be an
>> integer. If the index is out of range, the actor will output nothing.
>> The first element in the array has an index of 0 (the second 1, and
>> so on).</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the array element identified by the index
>> number.</configure></property>
>> <property name="prop:table"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> array from which a value is "looked up" and output. The
>> default value is {0, 1}. </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:255:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.LookupTable">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:952:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#TableActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[170.0, 280.0]">
>> </property>
>> <property name="" class="ptolemy.vergil.basic.DocAttribute">
>> <property name="description"
>> class="ptolemy.kernel.util.StringAttribute" value="
<p>The
>> LookupTable actor reads an array of elements and "looks up"
>> an element specified by a given index number. The specified element
>> is output.</p>
<p>The first element in the array
>> has an index of 0 (the second 1, and so on). The index must be an
>> integer. If the index is out of range, the actor will output nothing.
>> </p>
<p>The LookupTable actor is similar to the
>> ArrayElement actor in function; however, the two actors specify
>> arrays and index numbers in different ways. The LookupTable actor
>> specifies an array with its table parameter and receives an index
>> number via its input port. The ArrayElement actor receives an array
>> via its input port and an index number via a
>> parameter.</p>
">
>> </property>
>> <property name="author"
>> class="ptolemy.kernel.util.StringAttribute" value="Paul Whitaker and
>> Christopher Hylands">
>> </property>
>> <property name="version"
>> class="ptolemy.kernel.util.StringAttribute" value="null">
>> </property>
>> <property name="table (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="The array from which
>> a value is "looked up" and output. The default value is {0,
>> 1}. ">
>> </property>
>> <property name="input (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An input port that
>> accepts an array index number. The index must be an integer. If the
>> index is out of range, the actor will output nothing. The first
>> element in the array has an index of 0 (the second 1, and so on).">
>> </property>
>> <property name="output (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An output port
>> that broadcasts the array element identified by the index number.">
>> </property>
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:77:1">
>> </property>
>> </entity>
>> <entity name="Comparator"
>> class="ptolemy.actor.lib.logic.Comparator">
>> <property name="comparison"
>> class="ptolemy.kernel.util.StringAttribute" value=">">
>> </property>
>> <property name="tolerance"
>> 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>
<p>The
>> Comparator reads two values and compares them. The actor outputs a
>> Boolean value (true or false) that indicates whether the comparison
>> criteria were met or not.</p>
<p>Specify the
>> type of comparison to perform with the comparison parameter. The
>> following comparisons may be performed:</p>
<table
>> border="1">
<tr><td>Comparison</td><td>Definition</td></tr>
<tr><td>></td><td>left
>> is greater than right; the default
>> comparison.</td></tr>
<tr><td>>=</td><td>left
>> is greater than or equal to
>> right</td></tr>
<tr><td>less
>> than</td><td>left is less than
>> right</td></tr>
<tr><td>less than or
>> equal</td><td>left is less than or equal to
>> right</td></tr>
<tr><td>==</td><td>left
>> equals
>> right</td></tr>
</table>
<p>The
>> input ports are named "left" and "right" to
>> indicate which side of the comparison operator their value appears
>> on.</p>
<p>The tolerance parameter, which
>> defaults to zero, defines an error tolerance. If the tolerance is
>> greater than zero, the actor will output true when the specified
>> comparison is not exactly satisfied, but rather is almost satisfied
>> within the specified tolerance.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a Boolean value (true or false) that
>> indicates whether the comparison criteria were met or
>> not.</configure></property>
>> <property name="port:right"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double(or any data type that can be losslessly
>> converted to a double token) that will be used on the right side of
>> the comparison operator.</configure></property>
>> <property name="port:left"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double (or any data type that can be losslessly
>> converted to a double token) that will be used on the left side of
>> the comparison operator.</configure></property>
>> <property name="prop:tolerance"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> tolerance for the comparison. If the tolerance is greater than zero,
>> the actor will output true when the comparison is satisfied within
>> the specified tolerance (i.e., the comparison need not be exactly
>> satisfied). The value is a double that defaults to
>> 0.0.</configure></property>
>> <property name="prop:comparison"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> comparison to perform. The default is greater
>> than.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:257:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.logic.Comparator">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:939: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="[175.0, 350.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:64:1">
>> </property>
>> </entity>
>> <entity name="Boolean To Anything"
>> class="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="falseValue"
>> class="ptolemy.data.expr.Parameter" value="0">
>> </property>
>> <property name="trueValue"
>> 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>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><p>The
>> BooleanToAnything actor converts a Boolean token (i.e., true or
>> false) into any data type and value. </p>
<p>The
>> actor reads a Boolean value and assigns a new value based on the
>> specified conversion values. The actor outputs the value of the
>> trueValue parameter if the Boolean input is true. The actor outputs
>> the value of the falseValue parameter if the Boolean input is false.
>> The type of the output matches that of the specified conversion
>> values.
</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that receives a Boolean token.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted data. The actor will output
>> the value of the falseValue parameter if the input value is false, or
>> the value of the trueValue parameter if the input value is
>> true.</configure></property>
>> <property name="prop:trueValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "true" input is read.
>> </configure></property>
>> <property name="prop:falseValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "false" input is
>> read.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:34:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:910:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[280.0, 410.0]">
>> </property>
>> </entity>
>> <entity name="Select" class="ptolemy.actor.lib.Select">
>> <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><p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> multiport that accepts tokens of any type.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the selected input
>> channel.</configure></property>
>> <property name="port:control"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts integer tokens that indicate which input channel to
>> output (0, 1, 2, 3, etc). If the value is out of range (less than
>> zero, or greater than or equal to the width of the input), then the
>> actor will not fire.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:260:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Select">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:926: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="[320.0, 500.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:50:1">
>> </property>
>> <port name="control" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_cardinal"
>> class="ptolemy.kernel.util.StringAttribute" value="NORTH">
>> </property>
>> </port>
>> </entity>
>> <entity name="trueFlag" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value=""H"">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:261:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[255.0, 540.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="falseFlag" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value="nil">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:262:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[255.0, 490.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="Lookup Table2"
>> class="ptolemy.actor.lib.LookupTable">
>> <property name="table" class="ptolemy.data.expr.Parameter"
>> value="{0, 8.61, 14.83, 28, 28.3, 30.23, 34.95, 35.41, 36.48, 33.55,
>> 27.23, 21.33, 14.91}">
>> </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 and Christopher Hylands</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
<p>The
>> LookupTable actor reads an array of elements and "looks up"
>> an element specified by a given index number. The specified element
>> is output.</p>
<p>The first element in the array
>> has an index of 0 (the second 1, and so on). The index must be an
>> integer. If the index is out of range, the actor will output nothing.
>> </p>
<p>The LookupTable actor is similar to the
>> ArrayElement actor in function; however, the two actors specify
>> arrays and index numbers in different ways. The LookupTable actor
>> specifies an array with its table parameter and receives an index
>> number via its input port. The ArrayElement actor receives an array
>> via its input port and an index number via a
>> parameter.</p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the array element identified by the index
>> number.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts an array index number. The index must be an
>> integer. If the index is out of range, the actor will output nothing.
>> The first element in the array has an index of 0 (the second 1, and
>> so on).</configure></property>
>> <property name="prop:table"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> array from which a value is "looked up" and output. The
>> default value is {0, 1}. </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:263:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.LookupTable">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:952:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#TableActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[465.0, 275.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:77:1">
>> </property>
>> </entity>
>> <entity name="Comparator2"
>> class="ptolemy.actor.lib.logic.Comparator">
>> <property name="comparison"
>> class="ptolemy.kernel.util.StringAttribute" value="<">
>> </property>
>> <property name="tolerance"
>> 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>
<p>The
>> Comparator reads two values and compares them. The actor outputs a
>> Boolean value (true or false) that indicates whether the comparison
>> criteria were met or not.</p>
<p>Specify the
>> type of comparison to perform with the comparison parameter. The
>> following comparisons may be performed:</p>
<table
>> border="1">
<tr><td>Comparison</td><td>Definition</td></tr>
<tr><td>></td><td>left
>> is greater than right; the default
>> comparison.</td></tr>
<tr><td>>=</td><td>left
>> is greater than or equal to
>> right</td></tr>
<tr><td>less
>> than</td><td>left is less than
>> right</td></tr>
<tr><td>less than or
>> equal</td><td>left is less than or equal to
>> right</td></tr>
<tr><td>==</td><td>left
>> equals
>> right</td></tr>
</table>
<p>The
>> input ports are named "left" and "right" to
>> indicate which side of the comparison operator their value appears
>> on.</p>
<p>The tolerance parameter, which
>> defaults to zero, defines an error tolerance. If the tolerance is
>> greater than zero, the actor will output true when the specified
>> comparison is not exactly satisfied, but rather is almost satisfied
>> within the specified tolerance.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a Boolean value (true or false) that
>> indicates whether the comparison criteria were met or
>> not.</configure></property>
>> <property name="port:right"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double(or any data type that can be losslessly
>> converted to a double token) that will be used on the right side of
>> the comparison operator.</configure></property>
>> <property name="port:left"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a double (or any data type that can be losslessly
>> converted to a double token) that will be used on the left side of
>> the comparison operator.</configure></property>
>> <property name="prop:tolerance"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> tolerance for the comparison. If the tolerance is greater than zero,
>> the actor will output true when the comparison is satisfied within
>> the specified tolerance (i.e., the comparison need not be exactly
>> satisfied). The value is a double that defaults to
>> 0.0.</configure></property>
>> <property name="prop:comparison"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> comparison to perform. The default is greater
>> than.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:268:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.logic.Comparator">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:939: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="[470.0, 350.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:64:1">
>> </property>
>> </entity>
>> <entity name="Boolean To Anything2"
>> class="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="falseValue"
>> class="ptolemy.data.expr.Parameter" value="0">
>> </property>
>> <property name="trueValue"
>> 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>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><p>The
>> BooleanToAnything actor converts a Boolean token (i.e., true or
>> false) into any data type and value. </p>
<p>The
>> actor reads a Boolean value and assigns a new value based on the
>> specified conversion values. The actor outputs the value of the
>> trueValue parameter if the Boolean input is true. The actor outputs
>> the value of the falseValue parameter if the Boolean input is false.
>> The type of the output matches that of the specified conversion
>> values.
</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that receives a Boolean token.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted data. The actor will output
>> the value of the falseValue parameter if the input value is false, or
>> the value of the trueValue parameter if the input value is
>> true.</configure></property>
>> <property name="prop:trueValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "true" input is read.
>> </configure></property>
>> <property name="prop:falseValue"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> value to output when a "false" input is
>> read.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:34:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.conversions.BooleanToAnything">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:910:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{510, 425}">
>> </property>
>> </entity>
>> <entity name="Select2" class="ptolemy.actor.lib.Select">
>> <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><p>The
>> Select actor "selects" and outputs a token from among its
>> input tokens. The actor accepts one or more values of any type via
>> its input multiport and selects the value on the channel specified
>> via the control port. The value of the selected channel is output
>> each time the actor iterates.</p>
<p>Each time
>> the actor iterates, it checks to see if a token is available on its
>> control port. If so, the actor reads the value and uses it to
>> determine which of its input channels to output next. If an input
>> token is available on the specified channel, then that token is read
>> and sent to the output.
If the actor has never received a value
>> on the control port, then the actor will read and output channel zero
>> of the input port. If the value of the most recently received token
>> on the control port is out of range (less than zero, or greater than
>> or equal to the width of the input), then the actor will not fire
>> (although it will continue to consume tokens on the control port).
>> </p>
<p>The actor never discards input tokens.
>> Note that in DE workflows, where this actor is commonly used, every
>> time the actor receives a new "select" channel via the
>> control port, the actor will output (at the next firing) all
>> previously unread input tokens on the specified channel in the order
>> in which they arrived.</p></configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> multiport that accepts tokens of any type.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the selected input
>> channel.</configure></property>
>> <property name="port:control"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts integer tokens that indicate which input channel to
>> output (0, 1, 2, 3, etc). If the value is out of range (less than
>> zero, or greater than or equal to the width of the input), then the
>> actor will not fire.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:264:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Select">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:926: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="{530, 510}">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:50:1">
>> </property>
>> <port name="control" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_cardinal"
>> class="ptolemy.kernel.util.StringAttribute" value="NORTH">
>> </property>
>> </port>
>> </entity>
>> <entity name="trueFlag2" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value=""H"">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:261:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[480.0, 565.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <relation name="relation9" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation10"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation11"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation13"
>> class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="{100.0, 405.0}">
>> </vertex>
>> </relation>
>> <relation name="relation14"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation15"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation16"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation17"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation4" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation7" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation6" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation8" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation2" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[165.0, 230.0]">
>> </vertex>
>> </relation>
>> <link port="month" relation="relation2"/>
>> <link port="data" relation="relation13"/>
>> <link port="flagOut" relation="relation17"/>
>> <link port="Lookup Table.input" relation="relation2"/>
>> <link port="Lookup Table.output" relation="relation7"/>
>> <link port="Comparator.left" relation="relation7"/>
>> <link port="Comparator.right" relation="relation13"/>
>> <link port="Comparator.output" relation="relation8"/>
>> <link port="Boolean To Anything.input" relation="relation8"/>
>> <link port="Boolean To Anything.output" relation="relation9"/>
>> <link port="Select.input" relation="relation10"/>
>> <link port="Select.input" relation="relation11"/>
>> <link port="Select.output" relation="relation14"/>
>> <link port="Select.control" relation="relation9"/>
>> <link port="trueFlag.output" relation="relation11"/>
>> <link port="falseFlag.output" relation="relation10"/>
>> <link port="Lookup Table2.input" relation="relation2"/>
>> <link port="Lookup Table2.output" relation="relation4"/>
>> <link port="Comparator2.left" relation="relation4"/>
>> <link port="Comparator2.right" relation="relation13"/>
>> <link port="Comparator2.output" relation="relation6"/>
>> <link port="Boolean To Anything2.input" relation="relation6"/>
>> <link port="Boolean To Anything2.output" relation="relation15"/>
>> <link port="Select2.input" relation="relation14"/>
>> <link port="Select2.input" relation="relation16"/>
>> <link port="Select2.output" relation="relation17"/>
>> <link port="Select2.control" relation="relation15"/>
>> <link port="trueFlag2.output" relation="relation16"/>
>> </entity>
>> <entity name="Record Assembler"
>> class="ptolemy.actor.lib.RecordAssembler">
>> <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>
<p>The
>> RecordAssembler actor receives tokens of various types on
>> user-defined input ports and assembles those tokens into a record,
>> which it outputs. The actor reads and converts one token from each
>> port every time it fires.</p>
<p>A record is a
>> composite data type consisting of one or more elements. Each element
>> is named and can have a distinct type. For example, {number=1,
>> name="dog"} is a record containing two elements. The first
>> element, named "number", contains an integer value. The
>> second element, named "name", contains a string value.
>> </p>
<p>The name of each record element
>> generated by the actor is the name of the input port from which the
>> value was received. An actor customized to use three input ports
>> named "day", "week", "month" could
>> output the following record {day="Monday", week=5,
>> month=12}.</p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the generated records.
>> </configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:273:14">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.RecordAssembler">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:923:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#RecordActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStructureOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[715.0, 225.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:47:1">
>> </property>
>> <port name="sampledate" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="general">
>> </property>
>> </port>
>> <port name="year4" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="int">
>> </property>
>> </port>
>> <port name="station_id" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="int">
>> </property>
>> </port>
>> <port name="month" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="int">
>> </property>
>> </port>
>> <port name="daynum" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="int">
>> </property>
>> </port>
>> <port name="sample_time" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="int">
>> </property>
>> </port>
>> <port name="air_temp" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="general">
>> </property>
>> </port>
>> <port name="flag_air_temp" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_type" class="ptolemy.actor.TypeAttribute"
>> value="string">
>> </property>
>> </port>
>> </entity>
>> <entity name="disassembleDate"
>> class="ptolemy.actor.TypedCompositeActor">
>> <property name="_createdBy"
>> class="ptolemy.kernel.attributes.VersionAttribute" value="8.0.1">
>> </property>
>> <property name="entityId" class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:274:51">
>> </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><p>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 "inherit" the director from the
>> containing workflow and are called
>> non-opaque.</p>
<p>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.</p></configure></property>
>> </property> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[435.0, 135.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:449:1">
>> </property>
>> <property name="_windowProperties"
>> class="ptolemy.actor.gui.WindowPropertiesAttribute"
>> value="{bounds={0, 0, 1288, 1002}, maximized=false}">
>> </property>
>> <property name="_vergilSize"
>> class="ptolemy.actor.gui.SizeAttribute" value="[971, 840]">
>> </property>
>> <property name="_vergilZoomFactor"
>> class="ptolemy.data.expr.ExpertParameter" value="1.0">
>> </property>
>> <property name="_vergilCenter"
>> class="ptolemy.data.expr.ExpertParameter" value="{485.5, 420.0}">
>> </property>
>> <port name="timestamps" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{20.0, 200.0}">
>> </property>
>> </port>
>> <port name="year" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[675.0, 170.0]">
>> </property>
>> </port>
>> <port name="month" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[675.0, 230.0]">
>> </property>
>> </port>
>> <port name="daynum" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[675.0, 285.0]">
>> </property>
>> </port>
>> <port name="sample_time" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[680.0, 350.0]">
>> </property>
>> </port>
>> <port name="sample_date" class="ptolemy.actor.TypedIOPort">
>> <property name="output"/>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[685.0, 410.0]">
>> </property>
>> </port>
>> <entity name="DateToString" class="org.kepler.date.DateToString">
>> <property name="format"
>> class="ptolemy.actor.parameters.PortParameter" value="yyyy">
>> </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>Daniel
>> Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
Convert
>> a date token to a string using a specific format. See
>> java.text.SimpleDateFormat for formatting syntax.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> formatted string of the date and time.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date
>> and time.</configure></property>
>> <property name="prop:format"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> format of the string. See java.text.SimpleDateFormat for formatting
>> syntax.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:253:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.date.DateToString">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:543:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Time">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[390.0, 135.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:543:1">
>> </property>
>> </entity>
>> <entity name="SecondsToMilliseconds"
>> class="ptolemy.actor.lib.Expression">
>> <property name="expression"
>> class="ptolemy.kernel.util.StringAttribute" value="x*1000">
>> <property name="_hide"
>> class="ptolemy.data.expr.Parameter" value="true">
>> </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>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><p>The
>> Expression actor evaluates a specified expression (e.g., an addition
>> or multiplication operation), which may reference the values of
>> user-specified input ports, the current time, or the actor's
>> iteration count. The actor outputs the value of the evaluated
>> expression. </p>
<p>Expressions are specified in
>> the Ptolemy expression language via the expression parameter. For
>> more information about the expression language, see
>> http://ptolemy.eecs.berkeley.edu/papers/05/ptIIdesign1-intro/ptIIdesign1-intro.pdf.
>> </p>
<p>By default, the expression parameter is
>> empty, and attempting to execute the actor without first specifying
>> an expression generates an error. Expressions can refer to the values
>> of inputs by the port name; to the current time by the identifier
>> "time"; and to the current iteration count by the
>> identifier "iteration." </p>
<p>Input
>> ports are created by the user and correspond to variables used in the
>> specified expression. Currently, the Expression actor does not
>> support input multiports. The actor requires all of its inputs to be
>> present. If inputs are not all present, then the actor will generate
>> an error. </p>
<p>Note: the Expression actor can
>> be used instead of many of the arithmetic actors, such as
>> AddSubtract, MultiplyDivide, and TrigFunction. However, those actors
>> will be usually be more efficient, and sometimes more convenient to
>> use.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the value of the evaluated expression.
>> The actor automatically determines the type based on the type of the
>> input.</configure></property>
>> <property name="prop:expression"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> expression to evaluate. Expressions are specified in the Ptolemy
>> expression language. For more information about the expression
>> language, see
>> http://ptolemy.eecs.berkeley.edu/papers/05/ptIIdesign1-intro/ptIIdesign1-intro.pdf.
>> By default, the parameter is empty, and attempting to execute the
>> actor without first specifying an expression generates an error.
>> Expressions can refer to the values of inputs by the port name; to
>> the current time by the identifier "time"; and to the
>> current iteration count by the identifier
>> "iteration."</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:244:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Expression">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:950:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#MathOperationActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
>> </property>
>> <property name="_icon"
>> class="ptolemy.vergil.icon.BoxedValueIcon">
>> <property name="attributeName"
>> class="ptolemy.kernel.util.StringAttribute" value="expression">
>> </property>
>> <property name="displayWidth"
>> class="ptolemy.data.expr.Parameter" value="60">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[105.0, 65.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:75:1">
>> </property>
>> <port name="x" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> </port>
>> </entity>
>> <entity name="CreateDate" class="org.kepler.date.CreateDate">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="format"
>> class="ptolemy.actor.parameters.PortParameter" value="milliseconds
>> since epoch">
>> </property>
>> <property name="input"
>> class="ptolemy.actor.parameters.PortParameter" value="">
>> </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>Daniel
>> Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
Create
>> a date token. If a date string is not given on
>> <i>input</i>,
the current date and time is
>> used.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date
>> and time token.</configure></property>
>> <property name="port:trigger"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If
>> connected, the actor will not run until a token is
>> available.</configure></property>
>> <property name="prop:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A string
>> date and time. If not used, the current date and time is
>> used.</configure></property>
>> <property name="prop:firingCountLimit"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>If a
>> positive integer, then the number of iterations before the actor
>> indicates to the scheduler that it is finished by returning false in
>> its postfire() method.</configure></property>
>> <property name="prop:format"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> format of the input date and time. See java.text.SimpleDateFormat
>> for the syntax.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:245:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.date.CreateDate">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:541:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Time">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[225.0, 50.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:541:1">
>> </property>
>> <property name="" class="ptolemy.vergil.basic.DocAttribute">
>> <property name="description"
>> class="ptolemy.kernel.util.StringAttribute" value="
Create a date
>> token. If a date string is not given on <i>input</i>,
>>
the current date and time is used.">
>> </property>
>> <property name="author"
>> class="ptolemy.kernel.util.StringAttribute" value="Daniel Crawl">
>> </property>
>> <property name="version"
>> class="ptolemy.kernel.util.StringAttribute" value="null">
>> </property>
>> <property name="firingCountLimit (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="If a positive
>> integer, then the number of iterations before the actor indicates to
>> the scheduler that it is finished by returning false in its
>> postfire() method.">
>> </property>
>> <property name="output (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="The date and time
>> token.">
>> </property>
>> <property name="trigger (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="If connected, the
>> actor will not run until a token is available.">
>> </property>
>> <property name="input (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="A string date and
>> time. If not used, the current date and time is used.">
>> </property>
>> <property name="format (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="The format of the
>> input date and time. See java.text.SimpleDateFormat for the syntax.">
>> </property>
>> </property>
>> </entity>
>> <entity name="String To Int"
>> class="org.resurgence.actor.StringToInt">
>> <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><p>The
>> StringToInt actor reads a string, converts it to an integer, and
>> outputs the result. </p>
<p>The actor creates
>> the integer by placing one byte (i.e., one character) of the string
>> into the least significant byte of an integer. Typically, this byte
>> is the ASCII code of the
>> character.</p>
</configure></property>
>> <property name="port:string"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a string.</configure></property>
>> <property name="port:integer"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted string as an
>> integer.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:294:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.resurgence.actor.StringToInt">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1119:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStringOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[540.0, 135.0]">
>> </property>
>> </entity>
>> <entity name="DateToString2"
>> class="org.kepler.date.DateToString">
>> <property name="format"
>> class="ptolemy.actor.parameters.PortParameter" value="M">
>> </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>Daniel
>> Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
Convert
>> a date token to a string using a specific format. See
>> java.text.SimpleDateFormat for formatting syntax.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date
>> and time.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> formatted string of the date and time.</configure></property>
>> <property name="prop:format"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> format of the string. See java.text.SimpleDateFormat for formatting
>> syntax.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:253:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.date.DateToString">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:543:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Time">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[390.0, 205.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:543:1">
>> </property>
>> </entity>
>> <entity name="DateToString3"
>> class="org.kepler.date.DateToString">
>> <property name="format"
>> class="ptolemy.actor.parameters.PortParameter" value="D">
>> </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>Daniel
>> Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
Convert
>> a date token to a string using a specific format. See
>> java.text.SimpleDateFormat for formatting syntax.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date
>> and time.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> formatted string of the date and time.</configure></property>
>> <property name="prop:format"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> format of the string. See java.text.SimpleDateFormat for formatting
>> syntax.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:253:3">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.date.DateToString">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:543:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Time">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[390.0, 270.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:543:1">
>> </property>
>> </entity>
>> <entity name="DateToString4"
>> class="org.kepler.date.DateToString">
>> <property name="format"
>> class="ptolemy.actor.parameters.PortParameter" value="HHmm">
>> </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>Daniel
>> Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
Convert
>> a date token to a string using a specific format. See
>> java.text.SimpleDateFormat for formatting syntax.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date
>> and time.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> formatted string of the date and time.</configure></property>
>> <property name="prop:format"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> format of the string. See java.text.SimpleDateFormat for formatting
>> syntax.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:253:4">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.date.DateToString">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:543:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Time">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[390.0, 340.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:543:1">
>> </property>
>> </entity>
>> <entity name="String To Int2"
>> class="org.resurgence.actor.StringToInt">
>> <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><p>The
>> StringToInt actor reads a string, converts it to an integer, and
>> outputs the result. </p>
<p>The actor creates
>> the integer by placing one byte (i.e., one character) of the string
>> into the least significant byte of an integer. Typically, this byte
>> is the ASCII code of the
>> character.</p>
</configure></property>
>> <property name="port:integer"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted string as an
>> integer.</configure></property>
>> <property name="port:string"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a string.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:294:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.resurgence.actor.StringToInt">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1119:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStringOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[540.0, 205.0]">
>> </property>
>> </entity>
>> <entity name="String To Int3"
>> class="org.resurgence.actor.StringToInt">
>> <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><p>The
>> StringToInt actor reads a string, converts it to an integer, and
>> outputs the result. </p>
<p>The actor creates
>> the integer by placing one byte (i.e., one character) of the string
>> into the least significant byte of an integer. Typically, this byte
>> is the ASCII code of the
>> character.</p>
</configure></property>
>> <property name="port:integer"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted string as an
>> integer.</configure></property>
>> <property name="port:string"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a string.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:294:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.resurgence.actor.StringToInt">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1119:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStringOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[545.0, 270.0]">
>> </property>
>> </entity>
>> <entity name="String To Int4"
>> class="org.resurgence.actor.StringToInt">
>> <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><p>The
>> StringToInt actor reads a string, converts it to an integer, and
>> outputs the result. </p>
<p>The actor creates
>> the integer by placing one byte (i.e., one character) of the string
>> into the least significant byte of an integer. Typically, this byte
>> is the ASCII code of the
>> character.</p>
</configure></property>
>> <property name="port:integer"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the converted string as an
>> integer.</configure></property>
>> <property name="port:string"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a string.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org:actor:294:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.resurgence.actor.StringToInt">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1119:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConversionActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DataStringOperation">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[545.0, 340.0]">
>> </property>
>> </entity>
>> <entity name="DateToString5"
>> class="org.kepler.date.DateToString">
>> <property name="format"
>> class="ptolemy.actor.parameters.PortParameter" value="yyyy-MM-dd
>> 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>Daniel
>> Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>
Convert
>> a date token to a string using a specific format. See
>> java.text.SimpleDateFormat for formatting syntax.</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A
>> formatted string of the date and time.</configure></property>
>> <property name="port:input"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The date
>> and time.</configure></property>
>> <property name="prop:format"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> format of the string. See java.text.SimpleDateFormat for formatting
>> syntax.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:253:20">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.kepler.date.DateToString">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:543:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Time">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{390.0, 410.0}">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:543:1">
>> </property>
>> </entity>
>> <relation name="relation" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation2" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation4" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="{310.0, 95.0}">
>> </vertex>
>> </relation>
>> <relation name="relation3" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation5" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation6" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation7" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation8" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation9" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation10"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation11"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation12"
>> class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <link port="timestamps" relation="relation"/>
>> <link port="year" relation="relation5"/>
>> <link port="month" relation="relation7"/>
>> <link port="daynum" relation="relation9"/>
>> <link port="sample_time" relation="relation11"/>
>> <link port="sample_date" relation="relation12"/>
>> <link port="DateToString.input" relation="relation4"/>
>> <link port="DateToString.output" relation="relation3"/>
>> <link port="SecondsToMilliseconds.output" relation="relation2"/>
>> <link port="SecondsToMilliseconds.x" relation="relation"/>
>> <link port="CreateDate.output" relation="relation4"/>
>> <link port="CreateDate.input" relation="relation2"/>
>> <link port="String To Int.string" relation="relation3"/>
>> <link port="String To Int.integer" relation="relation5"/>
>> <link port="DateToString2.input" relation="relation4"/>
>> <link port="DateToString2.output" relation="relation6"/>
>> <link port="DateToString3.input" relation="relation4"/>
>> <link port="DateToString3.output" relation="relation8"/>
>> <link port="DateToString4.input" relation="relation4"/>
>> <link port="DateToString4.output" relation="relation10"/>
>> <link port="String To Int2.string" relation="relation6"/>
>> <link port="String To Int2.integer" relation="relation7"/>
>> <link port="String To Int3.string" relation="relation8"/>
>> <link port="String To Int3.integer" relation="relation9"/>
>> <link port="String To Int4.string" relation="relation10"/>
>> <link port="String To Int4.integer" relation="relation11"/>
>> <link port="DateToString5.input" relation="relation4"/>
>> <link port="DateToString5.output" relation="relation12"/>
>> </entity>
>> <entity name="Constant" class="ptolemy.actor.lib.Const">
>> <property name="firingCountLimit"
>> class="ptolemy.data.expr.Parameter" value="NONE">
>> </property>
>> <property name="NONE" class="ptolemy.data.expr.Parameter"
>> value="0">
>> </property>
>> <property name="value" class="ptolemy.data.expr.Parameter"
>> value="2702">
>> </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>null</configure></property>
>>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> Constant actor outputs a constant, which is specified by the value
>> parameter. By default, the actor outputs the integer
>> 1.</p>
<p>The actor can be used to output other
>> types of values, e.g., a string (such as "Hello") or a
>> double (such as 1.2). The actor'
s output type matches the type
>> of the specified value.</p>
<p>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.
>> </p>
</configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the specified constant. By default, the
>> output is 1.</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 Constant actor. By default, the value is the
>> integer token 1. The value can be set to another type, e.g., a string
>> (such as "Hello") or a double (such as 1.2). The output
>> type matches the type of the value specified
>> here.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:276:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Const">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:877:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#ConstantActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#Constant">
>> </property>
>> <property name="kar"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:kar:57:1">
>> </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="40">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{655, 225}">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:1:1">
>> </property>
>> </entity>
>> <entity name="Open Database Connection"
>> class="org.geon.OpenDBConnection">
>> <property name="databaseFormat"
>> class="ptolemy.data.expr.StringParameter" value="MySQL">
>> <display name="database format"/>
>> </property>
>> <property name="databaseURL"
>> class="ptolemy.data.expr.StringParameter"
>> value="jdbc:mysql://localhost:3306/dbmaker">
>> </property>
>> <property name="username"
>> class="ptolemy.data.expr.StringParameter" value="">
>> </property>
>> <property name="password"
>> class="ptolemy.data.expr.StringParameter" value="">
>> </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>efrat
>> jaeger</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> OpenDatabaseConnection actor opens a database connection using the
>> specified database format and URL, username, and password. Once a
>> database connection has been established, the actor outputs a
>> reference to the connection. Actors downstream in the workflow can
>> use this reference to access the
>> database.</p></configure></property>
>> <property name="port:dbcon"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts a reference to the established database
>> connection. Other actors can use this reference to interact with the
>> database.</configure></property>
>> <property name="prop:password"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Database
>> password.</configure></property>
>> <property name="prop:databaseFormat"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The type
>> of database to access (e.g. Oracle, MySQL, etc)</configure></property>
>> <property name="prop:databaseURL"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The
>> location of the database (e.g.
>> jdbc:db2://compute1.sdsc.geongrid.org:50000/testpgap)</configure></property>
>>
>> <property name="prop:username"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Database
>> user name.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:277:8">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.geon.OpenDBConnection">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:1013:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#DatabaseExternalInputActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DatabaseInputFunction">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[710.0, 100.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:155:1">
>> </property>
>> </entity>
>> <entity name="Database Writer" class="org.sdm.spa.DatabaseWriter">
>> <property name="table"
>> class="ptolemy.actor.parameters.PortParameter"
>> value="crystal_bog_buoy_hi_res">
>> </property>
>> <property name="autoIncColumnName"
>> class="ptolemy.actor.parameters.PortParameter" value="record_id">
>> </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>Yang
>> Zhao, Daniel Crawl</configure></property>
>> <property name="version"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
>>
>> <property name="userLevelDocumentation"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure><p>The
>> DatabaseWriter actor performs database updates against an open
>> database and outputs the number of rows
>> inserted.</p>
<p>Use the OpenDatabaseConnection
>> actor to establish a database connection and generate a reference to
>> that connection. The reference is passed to the DatabaseWriter actor
>> via the dbcon port.</p>
<p>An update is passed
>> to the actor via the update port or
>> parameter.</p>
</configure></property>
>> <property name="port:result"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts how many rows were sucessfully
>> updated.</configure></property>
>> <property name="port:dbcon"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> port that accepts a reference to an established database connection.
>> The OpenDatabaseConnection actor can be used to generate this
>> reference.</configure></property>
>> <property name="prop:query"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input
>> update string. Updates can be specified via the query port or query
>> parameter.</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:278:2">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="org.sdm.spa.DatabaseWriter">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:998:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#DatabaseExternalInputActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#DatabaseInputFunction">
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="{850, 170}">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:518:1">
>> </property>
>> <property name="" class="ptolemy.vergil.basic.DocAttribute">
>> <property name="description"
>> class="ptolemy.kernel.util.StringAttribute" value="<p>The
>> DatabaseWriter actor performs database updates against an open
>> database and outputs the number of rows
>> inserted.</p>
<p>Use the OpenDatabaseConnection
>> actor to establish a database connection and generate a reference to
>> that connection. The reference is passed to the DatabaseWriter actor
>> via the dbcon port.</p>
<p>An update is passed
>> to the actor via the update port or parameter.</p>
">
>> </property>
>> <property name="author"
>> class="ptolemy.kernel.util.StringAttribute" value="Yang Zhao, Daniel
>> Crawl">
>> </property>
>> <property name="version"
>> class="ptolemy.kernel.util.StringAttribute" value="null">
>> </property>
>> <property name="dbcon (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An input port that
>> accepts a reference to an established database connection. The
>> OpenDatabaseConnection actor can be used to generate this reference.">
>> </property>
>> <property name="result (port)"
>> class="ptolemy.kernel.util.StringAttribute" value="An output port
>> that broadcasts how many rows were sucessfully updated.">
>> </property>
>> <property name="query (parameter)"
>> class="ptolemy.data.expr.StringParameter" value="An input update
>> string. Updates can be specified via the query port or query
>> parameter.">
>> </property>
>> </property>
>> <port name="dbcon" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> <property name="tokenConsumptionRate"
>> class="ptolemy.data.expr.Parameter" value="1">
>> </property>
>> </port>
>> </entity>
>> <entity name="Display2" class="ptolemy.actor.lib.gui.Display">
>> <property name="_windowProperties"
>> class="ptolemy.actor.gui.WindowPropertiesAttribute"
>> value="{bounds={119, 150, 1008, 708}, maximized=false}">
>> </property>
>> <property name="_paneSize"
>> class="ptolemy.actor.gui.SizeAttribute" value="[1000, 653]">
>> </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="false">
>> </property>
>> <property name="title"
>> class="ptolemy.data.expr.StringParameter" value="">
>> </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><p>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.</p>
<p>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. </p>
<p>If the input is a string
>> token, then the actor strips the surrounding quotation marks before
>> displaying the value.</p>
<p>Select the
>> suppressBlankLines parameter to specify that the actor not add blank
>> lines to the display. By default, the actor will add blank
>> lines.</p>
<p>Note: this actor can consume large
>> amounts of memory. It is not advisable to use it to display large
>> output streams.</p></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:actor:7:1">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.gui.Display">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:883:1">
>> </property>
>> </property>
>> <property name="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="[905.0, 285.0]">
>> </property>
>> </entity>
>> <entity name="Expression" class="ptolemy.actor.lib.Expression">
>> <property name="expression"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="s.equals(nil)?"NULL":s">
>> <property name="_hide" class="ptolemy.data.expr.Parameter"
>> value="true">
>> </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>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><p>The
>> Expression actor evaluates a specified expression (e.g., an addition
>> or multiplication operation), which may reference the values of
>> user-specified input ports, the current time, or the actor's
>> iteration count. The actor outputs the value of the evaluated
>> expression. </p>
<p>Expressions are specified in
>> the Ptolemy expression language via the expression parameter. For
>> more information about the expression language, see
>> http://ptolemy.eecs.berkeley.edu/papers/05/ptIIdesign1-intro/ptIIdesign1-intro.pdf.
>> </p>
<p>By default, the expression parameter is
>> empty, and attempting to execute the actor without first specifying
>> an expression generates an error. Expressions can refer to the values
>> of inputs by the port name; to the current time by the identifier
>> "time"; and to the current iteration count by the
>> identifier "iteration." </p>
<p>Input
>> ports are created by the user and correspond to variables used in the
>> specified expression. Currently, the Expression actor does not
>> support input multiports. The actor requires all of its inputs to be
>> present. If inputs are not all present, then the actor will generate
>> an error. </p>
<p>Note: the Expression actor can
>> be used instead of many of the arithmetic actors, such as
>> AddSubtract, MultiplyDivide, and TrigFunction. However, those actors
>> will be usually be more efficient, and sometimes more convenient to
>> use.</p></configure></property>
>> <property name="port:output"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> output port that broadcasts the value of the evaluated expression.
>> The actor automatically determines the type based on the type of the
>> input.</configure></property>
>> <property name="prop:expression"
>> class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An
>> expression to evaluate. Expressions are specified in the Ptolemy
>> expression language. For more information about the expression
>> language, see
>> http://ptolemy.eecs.berkeley.edu/papers/05/ptIIdesign1-intro/ptIIdesign1-intro.pdf.
>> By default, the parameter is empty, and attempting to execute the
>> actor without first specifying an expression generates an error.
>> Expressions can refer to the values of inputs by the port name; to
>> the current time by the identifier "time"; and to the
>> current iteration count by the identifier
>> "iteration."</configure></property>
>> </property> <property name="entityId"
>> class="org.kepler.moml.NamedObjId"
>> value="urn:lsid:kepler-project.org/ns/:1266:283:7">
>> </property>
>> <property name="class"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="ptolemy.actor.lib.Expression">
>> <property name="id"
>> class="ptolemy.kernel.util.StringAttribute"
>> value="urn:lsid:kepler-project.org:class:950:1">
>> </property>
>> </property>
>> <property name="semanticType00"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:1:1#MathOperationActor">
>> </property>
>> <property name="semanticType11"
>> class="org.kepler.sms.SemanticType"
>> value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
>> </property>
>> <property name="_icon"
>> class="ptolemy.vergil.icon.BoxedValueIcon">
>> <property name="attributeName"
>> class="ptolemy.kernel.util.StringAttribute" value="expression">
>> </property>
>> <property name="displayWidth"
>> class="ptolemy.data.expr.Parameter" value="60">
>> </property>
>> </property>
>> <property name="_location"
>> class="ptolemy.kernel.util.Location" value="[750.0, 355.0]">
>> </property>
>> <property name="derivedFrom"
>> class="org.kepler.moml.NamedObjIdReferralList"
>> value="urn:lsid:kepler-project.org:actor:75:1">
>> </property>
>> <port name="s" class="ptolemy.actor.TypedIOPort">
>> <property name="input"/>
>> </port>
>> </entity>
>> <relation name="relation2" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation5" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation4" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[460.0, 330.0]">
>> </vertex>
>> </relation>
>> <relation name="relation3" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation7" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation6" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation12" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[530.0, 205.0]">
>> </vertex>
>> </relation>
>> <relation name="relation11" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation13" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation14" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation10" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation15" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation16" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation17" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation8" class="ptolemy.actor.TypedIORelation">
>> </relation>
>> <relation name="relation9" class="ptolemy.actor.TypedIORelation">
>> <property name="width" class="ptolemy.data.expr.Parameter"
>> value="-1">
>> </property>
>> <vertex name="vertex1" value="[820.0, 310.0]">
>> </vertex>
>> </relation>
>> <link port="DataTurbine.CrystalBogBuoy/airTemp" relation="relation"/>
>> <link port="Record Disassembler.input" relation="relation"/>
>> <link port="Record Disassembler.timestamps" relation="relation2"/>
>> <link port="Record Disassembler.data" relation="relation5"/>
>> <link port="Array To Sequence.input" relation="relation2"/>
>> <link port="Array To Sequence.output" relation="relation10"/>
>> <link port="Array To Sequence2.input" relation="relation5"/>
>> <link port="Array To Sequence2.output" relation="relation4"/>
>> <link port="generalRangeCheck.flagIn" relation="relation3"/>
>> <link port="generalRangeCheck.flagOut" relation="relation7"/>
>> <link port="generalRangeCheck.dataIn" relation="relation4"/>
>> <link port="generalRangeCheck.dataOut" relation="relation8"/>
>> <link port="monthSpecificRangeCheck.month" relation="relation12"/>
>> <link port="monthSpecificRangeCheck.data" relation="relation4"/>
>> <link port="monthSpecificRangeCheck.flagOut" relation="relation3"/>
>> <link port="Record Assembler.output" relation="relation17"/>
>> <link port="Record Assembler.sampledate" relation="relation15"/>
>> <link port="Record Assembler.year4" relation="relation6"/>
>> <link port="Record Assembler.station_id" relation="relation14"/>
>> <link port="Record Assembler.month" relation="relation12"/>
>> <link port="Record Assembler.daynum" relation="relation11"/>
>> <link port="Record Assembler.sample_time" relation="relation13"/>
>> <link port="Record Assembler.air_temp" relation="relation9"/>
>> <link port="Record Assembler.flag_air_temp" relation="relation7"/>
>> <link port="disassembleDate.timestamps" relation="relation10"/>
>> <link port="disassembleDate.year" relation="relation6"/>
>> <link port="disassembleDate.month" relation="relation12"/>
>> <link port="disassembleDate.daynum" relation="relation11"/>
>> <link port="disassembleDate.sample_time" relation="relation13"/>
>> <link port="disassembleDate.sample_date" relation="relation15"/>
>> <link port="Constant.output" relation="relation14"/>
>> <link port="Open Database Connection.dbcon" relation="relation16"/>
>> <link port="Database Writer.dbcon" relation="relation16"/>
>> <link port="Database Writer.input" relation="relation17"/>
>> <link port="Display2.input" relation="relation9"/>
>> <link port="Expression.output" relation="relation9"/>
>> <link port="Expression.s" relation="relation8"/>
>> </entity>
>> _______________________________________________
>> Kepler-users mailing list
>> Kepler-users at kepler-project.org
>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Unnamed2.xml
Type: text/xml
Size: 53309 bytes
Desc: not available
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-users/attachments/20100603/c832c0d1/attachment.xml>
More information about the Kepler-users
mailing list