thanks Christopher, that makes the expression work after the selector - and makes sense, of course.
Corinna Christopher Brooks wrote: > Hi Corinna, > By definition nil tokens are not equal to anything > Try using > s.isNil()?"NULL":s > > > http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/expressionsa9.htm > > > says > --start-- > 3.8 Nil Tokens > Null or missing tokens are common in analytical systems like R and SAS > where they are used to handle sparsely populated data sources. In > database parlance, missing tokens are sometimes called null tokens. > Since null is a Java keyword, we use the term "nil". Nil tokens are > useful for analyzing real world data such as temperature where the > value was not measured during every interval. In principle, an as yet > unimplemented function such as average() method could properly handle > nil tokens - when the average() method sees a nil token, it should be > ignored. Note that this can lead to uncertainty. For example, if > average() is expecting 30 values and 29 of them are nil, then the > average will not be very accurate. > > If an operation such as add(), divide(), modulo(), multiply(), one(), > subtract(), zero() or their corresponding "reverse" operations > includes a nil token, then the output is nil. If one of the arguments > for isCloseTo() or isEqualTo() is nil, then the method returns false. > Methods that return a nil token return a nil token with a specific > type so that type safety is preserved. The following tokens have NIL > values defined: ArrayToken, BooleanToken, ComplexToken, DoubleToken, > FloatToken IntToken, LongToken, ShortToken, StringToken, Token, > UnsignedByteToken. There is no nil token for the various matrix tokens > because the underlying matrices are java native type matrices that do > not support nil. > The expression language defines a constant named nil that refers to > the Token.NIL field. The cast() expression language function can be > used to generate references to the NIL fields of the other classes. > For example, "cast(int, nil)" will return a reference to the > IntToken.NIL field. > > --end-- > > _Christopher > > On 6/3/10 7:08 AM, Corinna Gries wrote: >> Derik, >> >> attached is another really simple workflow that isolates the problem >> with the expression. As soon as I put the selector between the nil >> constant and the expression, the expression doesn't recognize nil as nil >> anymore. And it doesn't work with or without quotes around nil. >> >> any suggestions? >> thanks for your help >> 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 >>> >> >> >> _______________________________________________ >> Kepler-users mailing list >> Kepler-users at kepler-project.org >> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users >

