[kepler-dev] Problem with excess documentation being included in xml files?

Christopher Brooks cxh at eecs.berkeley.edu
Wed Mar 12 21:20:27 PDT 2008


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&#10;file. In this case a file is simply opened and the number of line 
   in the text&#10;file are counted and displayed. In this case the entire file
    is read into &#10;memory, which may cause a proble for very large text file
   s.&#10;&#10;Dan Higgins&#10;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&#10;from ptolemy.data import IntToken&#10;class Main :&#
   10;  &quot;Number of lines&quot;&#10;  def fire(self) :&#10;    if not self.
   input.hasToken(0) :&#10;      return&#10;    t = self.input.get(0)&#10;    f
   s = t.toString()&#10;    # Note the fs includes quotes at both ends that mus
   t be removed !&#10;    print 'File: '+fs[1:len(fs)-1] # will print to the te
   rminal if open&#10;    file = open(fs[1:len(fs)-1],'r')&#10;    lines = file
   .readlines();&#10;    cnt = len(lines) &#10;    cwd = os.getcwd()  # not use
   d except in the next line; irrelevent to the workflow&#10;    print 'current
    working directory: ' + cwd  # will print to the terminal if open&#10;    st
    = IntToken(cnt)&#10;    self.output.broadcast(st)&#10;">
              </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(&quot;KEPLER&quot;)+&quot;/build.xml&quot;">
              </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
--------


More information about the Kepler-dev mailing list