[kepler-dev] Problem with excess documentation being included in xml files?
Dan Higgins
higgins at nceas.ucsb.edu
Wed Mar 12 22:50:13 PDT 2008
Christopher,
I think this is only a Kepler 'feature'. I raised the issue of
including the documentation in every workflow when that change was made
in Kepler, but no one seemed to be concerned at the time. I agree that
the result will be huge xml files.
Dan
Christopher Brooks wrote:
> I just glanced through the demo Dan checked in and if you look at the
> XML, it seems like it is copying the contents of the parent class
> documentation into the xml file. Is this right?
>
> It seems wrong because the xml files will be huge and will be out of
> date if the parent class changes.
>
> I'm not sure if it is a Kepler-only problem or a Ptolemy problem.
>
> _Christopher
>
> --------
>
> higgins 08/03/12 20:22:47
>
> Added: demos/Python PythonFileLineCounter.xml
> Log:
> Example of a PythonScript actor that opens a text file and then counts th
> e number of lines in the file. This example just illustrates how to access t
> he file system using Python. Many script based actions are thus possible usi
> ng Python/Jython that otherwise would require Java programmng.
>
> Revision Changes Path
> 1.1 kepler/demos/Python/PythonFileLineCounter.xml
>
> Index: PythonFileLineCounter.xml
> ===================================================================
> <?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="PythonFileLineCount" class="ptolemy.actor.TypedCompositeAct
> or">
> <property name="_createdBy" class="ptolemy.kernel.attributes.VersionA
> ttribute" value="7.0.beta">
> </property>
> <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDi
> rector">
> <property name="iterations" class="ptolemy.data.expr.Parameter" v
> alue="1">
> </property>
> <property name="vectorizationFactor" class="ptolemy.data.expr.Par
> ameter" value="1">
> </property>
> <property name="allowDisconnectedGraphs" class="ptolemy.data.expr
> .Parameter" value="false">
> </property>
> <property name="allowRateChanges" class="ptolemy.data.expr.Parame
> ter" value="false">
> </property>
> <property name="constrainBufferSizes" class="ptolemy.data.expr.Pa
> rameter" value="true">
> </property>
> <property name="period" class="ptolemy.data.expr.Parameter" value
> ="0.0">
> </property>
> <property name="synchronizeToRealTime" class="ptolemy.data.expr.P
> arameter" value="false">
> </property>
> <property name="timeResolution" class="ptolemy.moml.SharedParamet
> er" value="1E-10">
> </property>
> <property name="Scheduler" class="ptolemy.domains.sdf.kernel.SDFS
> cheduler">
> <property name="constrainBufferSizes" class="ptolemy.data.exp
> r.Parameter" value="constrainBufferSizes">
> </property>
> </property>
> <property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDo
> cumentationAttribute">
> <property name="description" class="ptolemy.kernel.util.ConfigurableAttri
> bute"><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.Config
> urableAttribute"><configure>
> <p>The SDF Director is often used to oversee fairly simple, sequential wo
> rkflows in which the director can determine the order of actor invocation fr
> om the workflow. Types of workflows that would run well under an SDF Directo
> r include processing and reformatting tabular data, converting one data type
> to another, and reading and plotting a series of data points. A workflow in
> which an image is read, processed (rotated, scaled, clipped, filtered, etc.
> ), and then displayed, is also an example of a sequential workflow that requ
> ires a director simply to ensure that each actor fires in the proper order (
> i.e., that each actor executes only after it receives its required inputs).<
> /p>
>
> <p>The SDF Director is very efficient and will not tax system resources w
> ith overhead. However, this efficiency requires that certain conditions be m
> et, namely that the data consumption and production rate of each actor in an
> SDF workflow be constant and declared. If an actor reads one piece of data
> and calculates and outputs a single result, it must always read and output a
> single token of data. This data rate cannot change during workflow executio
> n and, in general, workflows that require dynamic scheduling and/or flow con
> trol cannot use this director. Additionally, the SDF Director has no underst
> anding of passing time (at least by default), and actors that depend on a no
> tion of time may not work as expected. For example, a TimedPlotter actor wil
> l plot all values at time zero when used in SDF. </p>
>
> <p>By default, the SDF Director requires that all actors in its workflow
> be connected. Otherwise, the director cannot account for concurrency between
> disconnected workflow parts. Usually, a PN Director should be used for work
> flows that contain disconnected actors; however, the SDF Director's allowDis
> connectedGraphs parameter may also be set to true. The SDF Director will the
> n schedule each disconnected "island" independently. The director cannot inf
> er the sequential relationship between disconnected actors (i.e., nothing fo
> rces the director to finish executing all actors on one island before firing
> actors on another). However, the order of execution within each island shou
> ld be correct. Usually, disconnected graphs in an SDF model indicate an erro
> r.</p>
>
> <p>Because SDF Directors schedule actors to fire only after they receive
> their inputs, workflows that require loops (feeding an actor's output back i
> nto its input port for further processing) can cause "deadlock" errors. The
> deadlock errors occur because the actor depends on its own output value as a
> n initial input. To fix this problem, use a SampleDelay actor to generate an
> d inject an initial input value into the workflow.</p>
>
> <p>The SDF Director determines the order in which actors execute and how
> many times each actor needs to be fired to complete a single iteration of th
> e workflow. This schedule is calculated BEFORE the director begins to iterat
> e the workflow. Because the SDF Director calculates a schedule in advance, i
> t is quite efficient. However, SDF workflows must be static. In other words,
> the same number of tokens must be consumed/produced at every iteration of t
> he workflow. Workflows that require dynamic control structures, such as a Bo
> oleanSwitch actor that sends output on one of two ports depending on the val
> ue of a 'control', cannot be used with an SDF Director because the number of
> tokens on each output can change for each execution.</p>
>
> <p>Unless otherwise specified, the SDF Director assumes that each actor c
> onsumes and produces exactly one token per channel on each firing. Actors th
> at do not follow the one-token-per-channel firing convention (e.g., Repeat o
> r Ramp) must declare the number of tokens they produce or consume via the ap
> propriate parameters. </p>
>
> <p>The number of times a workflow is iterated is controlled by the direct
> or's iterations parameter. By default, this parameter is set to "0". Note th
> at "0" does not mean "no iterations." Rather, "0" means that the workflow wi
> ll iterate forever. Values greater than zero specify the actual number of ti
> mes the director should execute the entire workflow. A value of 1, meaning t
> hat the director will run the workflow once, is often the best setting when
> building an SDF workflow. </p>
>
> <p>The amount of data processed by an SDF workflow is a function of both
> the number of times the workflow iterates and the value of the director's ve
> ctorizationFactor parameter. The vectorizationFactor is used to increase the
> efficiency of a workflow by increasing the number of times actors fire each
> time the workflow iterates. If the parameter is set to a positive integer (
> other than 1), the director will fire each actor the specified number of tim
> es more than normal. The default is 1, indicating that no vectorization shou
> ld be performed. Keep in mind that changing the vectorizationFactor paramete
> r changes the meaning of a nested SDF workflow and may cause deadlock in a w
> orkflow that uses it. </p>
>
> <p>The SDF Director has several advanced parameters that are generally on
> ly relevant when an SDF workflow contains composite components. In most case
> s the period, timeResolution, synchronizeToRealTime, allowRateChanges, timeR
> esolution, and constrainBufferSizes parameters can be left at their default
> values.</p>
>
> <p>For more information about the SDF Director, see the Ptolemy documenta
> tion (http://ptolemy.eecs.berkeley.edu/papers/05/ptIIdesign3-domains/ptIIdes
> ign3-domains.pdf).</p>
>
> </configure></property>
> <property name="prop:allowDisconnectedGraphs" class="ptolemy.kernel.util.
> ConfigurableAttribute"><configure>Specify whether to allow disconnected acto
> rs in the workflow (by default, all actors are required to be connected). If
> disconnected actors are permitted, the SDF Director will schedule each disc
> onnected 'island' independently. Nothing "forces" the director to finish exe
> cuting all actors on one island before firing actors on another. However, th
> e order of execution within each island should be correct. Usually, disconne
> cted graphs in an SDF workflow indicate an error.</configure></property>
> <property name="prop:allowRateChanges" class="ptolemy.kernel.util.Configu
> rableAttribute"><configure>Specify whether dynamic rate changes are permitte
> d or not. By default, rate changes are not permitted, and the director will
> perform a check to disallow such workflows. If the parameter is selected, th
> en workflows that require rate parameters to be modified during execution ar
> e valid, and the SDF Director will dynamically compute a new schedule at run
> time. This is an advanced parameter that can usually be left at its default
> value.</configure></property>
> <property name="prop:timeResolution" class="ptolemy.kernel.util.Configura
> bleAttribute"><configure>The time precision used by this director. All time
> values are rounded to the nearest multiple of this number. The value is a do
> uble that defaults to "1E-10" (which is 10-10). This is an advanced paramete
> r that can usually be left at its default value.</configure></property>
> <property name="prop:constrainBufferSizes" class="ptolemy.kernel.util.Con
> figurableAttribute"><configure>Specify whether buffer sizes are fixed. By de
> fault, buffers are fixed, and attempts to write to the buffer that cause the
> buffer to exceed its scheduled size result in an error. This is an advanced
> parameter that can usually be left at its default value.</configure></prope
> rty>
> <property name="prop:iterations" class="ptolemy.kernel.util.ConfigurableA
> ttribute"><configure>Specify the number of times a workflow is iterated. By
> default, this parameter is set to "0". Note that "0" does not mean "no itera
> tions." Rather, "0" means that the workflow will iterate forever. Values gre
> ater than zero specify the actual number of times the director should execut
> e the entire workflow. A value of 1, meaning that the director will run the
> workflow once, is often the best setting when building an SDF workflow. </co
> nfigure></property>
> <property name="prop:vectorizationFactor" class="ptolemy.kernel.util.Conf
> igurableAttribute"><configure>The vectorizationFactor is used to increase th
> e efficiency of a workflow by increasing the number of times actors fire eac
> h time the workflow iterates. If the parameter is set to a positive integer
> (other than 1), the director will fire each actor the specified number of ti
> mes more than normal. The default is 1, indicating that no vectorization sho
> uld be performed. Keep in mind that changing the vectorizationFactor paramet
> er changes the meaning of a nested SDF workflow and may cause deadlock in a
> workflow that uses it. </configure></property>
> <property name="prop:synchronizeToRealTime" class="ptolemy.kernel.util.Co
> nfigurableAttribute"><configure>Specify whether the execution should synchro
> nize to real time or not. By default, the director does not synchronize to r
> eal time. If synchronize is selected, the director will only process the wor
> kflow when elapsed real time matches the product of the period parameter and
> the iteration count. Note: if the period parameter has a value of 0.0 (the
> default), then selecting this parameter has no effect. This is an advanced p
> arameter that can usually be left at its default value.</configure></propert
> y>
> <property name="prop:period" class="ptolemy.kernel.util.ConfigurableAttri
> bute"><configure>The time period of each iteration. The value is a double th
> at defaults to 0.0, which means that the director does not increment workflo
> w time. If the value greater than 0.0, the actor will increment workflow tim
> e each time it fires. This is an advanced parameter that can usually be left
> at its default value. </configure></property>
> </property> <property name="entityId" class="org.kepler.moml.Named
> ObjId" value="urn:lsid:kepler-project.org:director:1:1">
> </property>
> <property name="class" class="ptolemy.kernel.util.StringAttribute
> " value="ptolemy.domains.sdf.kernel.SDFDirector">
> <property name="id" class="ptolemy.kernel.util.StringAttribut
> e" value="urn:lsid:kepler-project.org:directorclass:1:1">
> </property>
> </property>
> <property name="semanticType00" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:1:1#Director">
> </property>
> <property name="semanticType11" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:2:1#Director">
> </property>
> <property name="_location" class="ptolemy.kernel.util.Location" v
> alue="{45, 35}">
> </property>
> </property>
> <property name="_windowProperties" class="ptolemy.actor.gui.WindowPro
> pertiesAttribute" value="{bounds={278, 49, 883, 802}, maximized=false}">
> </property>
> <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute"
> value="[600, 681]">
> </property>
> <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertPar
> ameter" value="1.0">
> </property>
> <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParamet
> er" value="{300.0, 340.5}">
> </property>
> <property name="Annotation" class="ptolemy.vergil.kernel.attributes.T
> extAttribute">
> <property name="_hideName" class="ptolemy.data.expr.SingletonPara
> meter" value="true">
> </property>
> <property name="_hideAllParameters" class="ptolemy.data.expr.Para
> meter" value="true">
> </property>
> <property name="textSize" class="ptolemy.data.expr.Parameter" val
> ue="14">
> </property>
> <property name="textColor" class="ptolemy.actor.gui.ColorAttribut
> e" value="{0.0, 0.0, 1.0, 1.0}">
> </property>
> <property name="fontFamily" class="ptolemy.data.expr.StringParame
> ter" value="SansSerif">
> </property>
> <property name="bold" class="ptolemy.data.expr.Parameter" value="
> false">
> </property>
> <property name="italic" class="ptolemy.data.expr.Parameter" value
> ="false">
> </property>
> <property name="text" class="ptolemy.kernel.util.StringAttribute"
> value="This is an example of how the PythonScript actor can be used to exam
> ine a file. In this case a file is simply opened and the number of line
> in the text file are counted and displayed. In this case the entire file
> is read into memory, which may cause a proble for very large text file
> s. Dan Higgins March, 2008">
> <property name="_style" class="ptolemy.actor.gui.style.TextSt
> yle">
> <property name="height" class="ptolemy.data.expr.Paramete
> r" value="20">
> </property>
> <property name="width" class="ptolemy.data.expr.Parameter
> " value="80">
> </property>
> </property>
> </property>
> <property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDo
> cumentationAttribute">
> <property name="description" class="ptolemy.kernel.util.ConfigurableAttri
> bute"><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.Config
> urableAttribute"><configure>Use the Annotation attribute to annotate a workf
> low. Double-click the attribute to customize the content, font size, color,
> and basic formatting (bold and italics).</configure></property>
> <property name="prop:fontFamily" class="ptolemy.kernel.util.ConfigurableA
> ttribute"><configure>The font face. Select a font from the drop-down menu. T
> he default is "SansSerif".</configure></property>
> <property name="prop:italic" class="ptolemy.kernel.util.ConfigurableAttri
> bute"><configure>Select to indicate that the type should be italics. By defa
> ult, type will not be italicized.</configure></property>
> <property name="prop:bold" class="ptolemy.kernel.util.ConfigurableAttribu
> te"><configure>Select to indicate that the type should be bold. By default,
> type will not be bold.</configure></property>
> <property name="prop:textColor" class="ptolemy.kernel.util.ConfigurableAt
> tribute"><configure>The font color. Specify a string representing an array o
> f four elements: red, green, blue, and alpha, where alpha is transparency. T
> he default is an opaque black, {0.0, 0.0, 0.0, 1.0}</configure></property>
> <property name="prop:textSize" class="ptolemy.kernel.util.ConfigurableAtt
> ribute"><configure>The font size. Select an integer from the drop-down menu
> or specify a new size by typing it directly into the value field. The defau
> lt is 14.</configure></property>
> <property name="prop:text" class="ptolemy.kernel.util.ConfigurableAttribu
> te"><configure>The text of the annotation.</configure></property>
> </property> <property name="entityId" class="org.kepler.moml.Named
> ObjId" value="urn:lsid:kepler-project.org:actor:436:1">
> </property>
> <property name="class" class="ptolemy.kernel.util.StringAttribute
> " value="ptolemy.vergil.kernel.attributes.TextAttribute">
> <property name="id" class="ptolemy.kernel.util.StringAttribut
> e" value="urn:lsid:kepler-project.org:class:1199:1">
> </property>
> </property>
> <property name="semanticType00" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:1:1#DocumentationActor">
> </property>
> <property name="semanticType11" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:2:1#WorkflowDocumentation">
> </property>
> <property name="_location" class="ptolemy.kernel.util.Location" v
> alue="[35.0, 240.0]">
> </property>
> </property>
> <entity name="PythonScript" class="ptolemy.actor.lib.python.PythonScr
> ipt">
> <property name="script" class="ptolemy.kernel.util.StringAttribut
> e" value="import os from ptolemy.data import IntToken class Main :&#
> 10; "Number of lines" def fire(self) : if not self.
> input.hasToken(0) : return t = self.input.get(0) f
> s = t.toString() # Note the fs includes quotes at both ends that mus
> t be removed ! print 'File: '+fs[1:len(fs)-1] # will print to the te
> rminal if open file = open(fs[1:len(fs)-1],'r') lines = file
> .readlines(); cnt = len(lines) cwd = os.getcwd() # not use
> d except in the next line; irrelevent to the workflow print 'current
> working directory: ' + cwd # will print to the terminal if open st
> = IntToken(cnt) self.output.broadcast(st) ">
> </property>
> <property name="entityId" class="org.kepler.moml.NamedObjId" valu
> e="urn:lsid:localhost:entity:1:1">
> </property>
> <property name="class" class="ptolemy.kernel.util.StringAttribute
> " value="ptolemy.actor.lib.python.PythonScript">
> <property name="id" class="ptolemy.kernel.util.StringAttribut
> e" value="null">
> </property>
> </property>
> <property name="semanticType0" class="org.kepler.sms.SemanticType
> " value="urn:lsid:localhost:onto:2:1#GeneralPurpose">
> </property>
> <property name="_editorFactory" class="ptolemy.vergil.toolbox.Tex
> tEditorConfigureFactory">
> <property name="attributeName" class="ptolemy.kernel.util.Str
> ingAttribute" value="script">
> </property>
> </property>
> <property name="_location" class="ptolemy.kernel.util.Location" v
> alue="{320.0, 145.0}">
> </property>
> <port name="input" class="ptolemy.actor.TypedIOPort">
> <property name="input"/>
> </port>
> <port name="output" class="ptolemy.actor.TypedIOPort">
> <property name="output"/>
> </port>
> </entity>
> <entity name="Constant" class="ptolemy.actor.lib.Const">
> <property name="firingCountLimit" class="ptolemy.data.expr.Parame
> ter" value="NONE">
> </property>
> <property name="NONE" class="ptolemy.data.expr.Parameter" value="
> 0">
> </property>
> <property name="value" class="ptolemy.data.expr.Parameter" value=
> "property("KEPLER")+"/build.xml"">
> </property>
> <property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDo
> cumentationAttribute">
> <property name="description" class="ptolemy.kernel.util.ConfigurableAttri
> bute"><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.Config
> urableAttribute"><configure><p>The Constant actor outputs a constant, which
> is specified by the value parameter. By default, the actor outputs the integ
> er 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 ofte
> n 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.ConfigurableAttri
> bute"><configure>An output port that broadcasts the specified constant. By d
> efault, the output is 1.</configure></property>
> <property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttr
> ibute"><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 con
> nected, the actor will not fire until the trigger port receives an input tok
> en. 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.Configu
> rableAttribute"><configure>The limit on the number of times the actor will f
> ire. 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 p
> rovided as a value for this parameter.</configure></property>
> <property name="prop:value" class="ptolemy.kernel.util.ConfigurableAttrib
> ute"><configure>The value produced by the Constant actor. By default, the va
> lue is the integer token 1. The value can be set to another type, e.g., a st
> ring (such as "Hello") or a double (such as 1.2). The output type matches t
> he type of the value specified here.</configure></property>
> </property> <property name="entityId" class="org.kepler.moml.Named
> ObjId" value="urn:lsid:kepler-project.org:actor:1:1">
> </property>
> <property name="class" class="ptolemy.kernel.util.StringAttribute
> " value="ptolemy.actor.lib.Const">
> <property name="id" class="ptolemy.kernel.util.StringAttribut
> e" value="urn:lsid:kepler-project.org:class:877:1">
> </property>
> </property>
> <property name="semanticType00" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:1:1#ConstantActor">
> </property>
> <property name="semanticType11" class="org.kepler.sms.SemanticTyp
> e" 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.Str
> ingAttribute" value="value">
> </property>
> <property name="displayWidth" class="ptolemy.data.expr.Parame
> ter" value="40">
> </property>
> </property>
> <property name="_location" class="ptolemy.kernel.util.Location" v
> alue="[155.0, 140.0]">
> </property>
> </entity>
> <entity name="Display" class="ptolemy.actor.lib.gui.Display">
> <property name="_windowProperties" class="ptolemy.actor.gui.Windo
> wPropertiesAttribute" value="{bounds={772, 542, 484, 208}, maximized=false}"
> >
> </property>
> <property name="_paneSize" class="ptolemy.actor.gui.SizeAttribute
> " value="[484, 164]">
> </property>
> <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter
> " value="10">
> </property>
> <property name="columnsDisplayed" class="ptolemy.data.expr.Parame
> ter" value="40">
> </property>
> <property name="suppressBlankLines" class="ptolemy.data.expr.Para
> meter" value="false">
> </property>
> <property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDo
> cumentationAttribute">
> <property name="description" class="ptolemy.kernel.util.ConfigurableAttri
> bute"><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.Config
> urableAttribute"><configure><p>The Display actor reads tokens of any type vi
> a 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 p
> ersistently 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 advisa
> ble to use it to display large output streams.</p></configure></property>
> <property name="port:input" class="ptolemy.kernel.util.ConfigurableAttrib
> ute"><configure>A multiport that accepts tokens of any type.</configure></pr
> operty>
> <property name="prop:suppressBlankLines" class="ptolemy.kernel.util.Confi
> gurableAttribute"><configure>Specify whether the actor should display blank
> lines (the default) or suppress them.</configure></property>
> <property name="prop:rowsDisplayed" class="ptolemy.kernel.util.Configurab
> leAttribute"><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.Configu
> rableAttribute"><configure>The horizontal size of the display, in columns. T
> he value is an integer that defaults to 40.</configure></property>
> <property name="prop:title" class="ptolemy.kernel.util.ConfigurableAttrib
> ute"><configure>The title of the text display window. If specified, the valu
> e will appear in the title bar of the text display window.</configure></prop
> erty>
> </property> <property name="entityId" class="org.kepler.moml.Named
> ObjId" 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.StringAttribut
> e" value="urn:lsid:kepler-project.org:class:883:1">
> </property>
> </property>
> <property name="semanticType00" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:1:1#TextualOutputActor">
> </property>
> <property name="semanticType11" class="org.kepler.sms.SemanticTyp
> e" value="urn:lsid:localhost:onto:2:1#TextualOutput">
> </property>
> <property name="_location" class="ptolemy.kernel.util.Location" v
> alue="[435.0, 180.0]">
> </property>
> </entity>
> <relation name="relation" class="ptolemy.actor.TypedIORelation">
> <property name="width" class="ptolemy.data.expr.Parameter" value=
> "1">
> </property>
> </relation>
> <relation name="relation2" class="ptolemy.actor.TypedIORelation">
> <property name="width" class="ptolemy.data.expr.Parameter" value=
> "1">
> </property>
> </relation>
> <link port="PythonScript.input" relation="relation"/>
> <link port="PythonScript.output" relation="relation2"/>
> <link port="Constant.output" relation="relation"/>
> <link port="Display.input" relation="relation2"/>
> </entity>
>
>
>
> _______________________________________________
> Kepler-cvs mailing list
> Kepler-cvs at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-cvs
> --------
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
>
More information about the Kepler-dev
mailing list