Project

General

Profile

Bug #5240 » plotErrorOpensInPtolemy2.xml

Christopher Brooks, 12/12/2010 11:26 AM

 
1
<?xml version="1.0" standalone="no"?>
2
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
3
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
4
<entity name="plotErrorOpensInPtolemy2" class="ptolemy.actor.TypedCompositeActor">
5
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
6
    </property>
7
    <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4858:12">
8
    </property>
9
    <property name="PN Director" class="ptolemy.domains.pn.kernel.PNDirector">
10
        <property name="timeResolution" class="ptolemy.actor.parameters.SharedParameter" value="1E-10">
11
        </property>
12
        <property name="initialQueueCapacity" class="ptolemy.data.expr.Parameter" value="1">
13
        </property>
14
        <property name="maximumQueueCapacity" class="ptolemy.data.expr.Parameter" value="65536">
15
        </property>
16
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
17
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
18
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Mudit Goel, Edward A. Lee, Xiaowen Xin</configure></property>
19
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
20
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&#10;&lt;p&gt;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.&lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;&#10;&#10; &lt;p&gt;There are at least three ways for a PN model to terminate itself:&#10; &lt;ol&gt;&#10; &lt;li&gt;Have the model starve itself.  Typically, a boolean switch is used.&#10; See the PN OrderedMerge demo at&#10;  &lt;code&gt;ptolemy/domains/pn/demo/OrderedMerge/OrderedMerge.xml&lt;/code&gt;&lt;/li&gt;&#10;&#10; &lt;li&gt;Have the model call the Stop actor.  See the PN RemoveNilTokens demo at&#10;  &lt;code&gt;ptolemy/domains/pn/demo/RemoveNilTokens/RemoveNilTokens.xml&lt;/code&gt;&lt;/li&gt;&#10;&#10; &lt;li&gt;Set the &lt;i&gt;firingCountLimit&lt;/i&gt; actor&#10; parameter to the number of iterations desired.  Actors such as Ramp&#10; extend LimitedFiringSource and have the &lt;i&gt;firingCountLimit&lt;/i&gt; parameter.&lt;/li&gt;&#10; &lt;/ol&gt;&lt;/p&gt;&#10;</configure></property>
21
<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>
22
<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>
23
</property>        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:director:2:2">
24
        </property>
25
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.pn.kernel.PNDirector">
26
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:directorclass:2:2">
27
            </property>
28
        </property>
29
        <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 80.0]">
30
        </property>
31
    </property>
32
    <property name="N" class="ptolemy.data.expr.Parameter" value="100.0">
33
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
34
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
35
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
36
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
37
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
38
</property>        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:actor:420:1">
39
        </property>
40
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.Parameter">
41
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1184:1">
42
            </property>
43
        </property>
44
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
45
        </property>
46
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
47
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
48
            </property>
49
        </property>
50
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
51
            <configure>
52
      <svg>
53
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
54
      </svg>
55
    </configure>
56
        </property>
57
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
58
        </property>
59
        <property name="_location" class="ptolemy.kernel.util.Location" value="[105.0, 60.0]">
60
        </property>
61
    </property>
62
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={0, 0, 1036, 761}, maximized=false}">
63
    </property>
64
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[821, 654]">
65
    </property>
66
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.1027146706733">
67
    </property>
68
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{312.6340462949849, 325.5408991977313}">
69
    </property>
70
    <property name="ts" class="ptolemy.data.expr.Parameter" value=".01">
71
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
72
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
73
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
74
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
75
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
76
</property>        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:actor:420:1">
77
        </property>
78
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.Parameter">
79
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1184:1">
80
            </property>
81
        </property>
82
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
83
        </property>
84
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
85
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
86
            </property>
87
        </property>
88
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
89
            <configure>
90
      <svg>
91
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
92
      </svg>
93
    </configure>
94
        </property>
95
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
96
        </property>
97
        <property name="_location" class="ptolemy.kernel.util.Location" value="[105.0, 100.0]">
98
        </property>
99
    </property>
100
    <property name="mlen" class="ptolemy.data.expr.Parameter" value="29">
101
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
102
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
103
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
104
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
105
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
106
</property>        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:actor:420:1">
107
        </property>
108
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.data.expr.Parameter">
109
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:1184:1">
110
            </property>
111
        </property>
112
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
113
        </property>
114
        <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
115
            <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
116
            </property>
117
        </property>
118
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
119
            <configure>
120
      <svg>
121
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
122
      </svg>
123
    </configure>
124
        </property>
125
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
126
        </property>
127
        <property name="_location" class="ptolemy.kernel.util.Location" value="[105.0, 80.0]">
128
        </property>
129
    </property>
130
    <entity name="a" class="ptolemy.actor.TypedCompositeActor">
131
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
132
        </property>
133
        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4325:130">
134
        </property>
135
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
136
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
137
            </property>
138
        </property>
139
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
140
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
141
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
142
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
143
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
144
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[0.0, 185.0]">
145
        </property>
146
        <port name="z" class="ptolemy.actor.TypedIOPort">
147
            <property name="output"/>
148
            <property name="_location" class="ptolemy.kernel.util.Location" value="[470.625, 218.75]">
149
            </property>
150
        </port>
151
        <entity name="Ramp" class="ptolemy.actor.lib.Ramp">
152
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="mlen">
153
            </property>
154
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
155
            </property>
156
            <property name="init" class="ptolemy.data.expr.Parameter" value="0">
157
            </property>
158
            <property name="step" class="ptolemy.actor.parameters.PortParameter" value="1">
159
            </property>
160
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
161
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
162
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong, Edward A. Lee</configure></property>
163
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
164
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Ramp actor is the equivalent of the &quot;for loop&quot; in many traditional computer languages. Its parameters include an intial value, the amount the value is incremented each time the actor fires (the 'step'), and the upper limit of the value (the firingCountLimit). The actor outputs an integer each time it is fired. &lt;/p&gt;&#10;&#10;&lt;p&gt;The actor's output can be used as a counter (increasing or decreasing), or as a parameter used in an incremented workflow. For example, the output of a Ramp actor can be input to an Expression actor to create file names that are unique for each iteration (e.g., 'file1', 'file2', etc.) The Ramp actor is also particularly useful with PN directed workflows where there is no way to set the number of iterations as a Director parameter. &lt;/p&gt;&#10;&#10;&lt;p&gt;The first time the actor fires, it outputs the value of its init parameter. The increment value, specified with either the step port or parameter, will only be added on the following iteration. To add an increment to the first iteration, use the Accumulator actor.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor accepts values of any type that support addition.&lt;/p&gt;</configure></property>
165
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts the incremented value.</configure></property>
166
<property name="port:trigger" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port 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>
167
<property name="port:step" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts the amount by which the output is incremented on each iteration. The port accepts a value of any type that supports addition. The value is an integer and defaults to 1.</configure></property>
168
<property name="prop:firingCountLimit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of iterations that transpire before the actor indicates that it is finished. If firingCountLimit is set to zero, the actor has no limit imposed.</configure></property>
169
<property name="prop:step" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The amount by which the output is incremented on each iteration. The port accepts a value of any type that supports addition. The default is the integer 1.</configure></property>
170
<property name="prop:init" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The value produced by the Ramp on its first iteration. The default value is the integer 0.</configure></property>
171
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4308:151">
172
            </property>
173
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Ramp">
174
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:881:1">
175
                </property>
176
            </property>
177
            <property name="_location" class="ptolemy.kernel.util.Location" value="{25.0, 65.0}">
178
            </property>
179
        </entity>
180
        <entity name="Array To Sequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
181
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="1">
182
            </property>
183
            <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="false">
184
            </property>
185
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
186
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
187
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>unknown</configure></property>
188
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
189
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The ArrayToSequence actor  outputs the individual values of an array as a sequence of tokens.&lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;</configure></property>
190
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a sequence of the disassembled array values. </configure></property>
191
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts an array of elements of any type.</configure></property>
192
<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>
193
<property name="prop:arrayLength" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The size of the input array. The default is 1.</configure></property>
194
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4322:1">
195
            </property>
196
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.sdf.lib.ArrayToSequence">
197
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:907:1">
198
                </property>
199
            </property>
200
            <property name="_location" class="ptolemy.kernel.util.Location" value="{215.0, 195.0}">
201
            </property>
202
        </entity>
203
        <entity name="Constant" class="ptolemy.actor.lib.Const">
204
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="NONE">
205
            </property>
206
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
207
            </property>
208
            <property name="value" class="ptolemy.data.expr.Parameter" value="concatenate([.1:.1:1.51].toArray(), [1.4:-.1:.09].toArray())">
209
            </property>
210
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
211
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
212
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
213
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
214
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Constant actor outputs a constant, which is specified by the value parameter. By default, the actor outputs the integer 1.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor can be used to output other types of values, e.g., a string (such as &quot;Hello&quot;) or a double (such as 1.2). The actor'&#10;s output type matches the type of the specified value.&lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;</configure></property>
215
<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>
216
<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>
217
<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>
218
<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 &quot;Hello&quot;) or a double (such as 1.2). The  output type matches the type of the value specified here.</configure></property>
219
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4306:36">
220
            </property>
221
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Const">
222
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:877:1">
223
                </property>
224
            </property>
225
            <property name="kar" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:kar:57:1">
226
            </property>
227
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
228
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
229
                </property>
230
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
231
                </property>
232
            </property>
233
            <property name="_location" class="ptolemy.kernel.util.Location" value="{280.0, 85.0}">
234
            </property>
235
        </entity>
236
        <entity name="Expression" class="ptolemy.actor.lib.Expression">
237
            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="dep(i) * sin([1:1:N+.5]/N*PI)">
238
                <property name="_hide" class="ptolemy.data.expr.Parameter" value="true">
239
                </property>
240
            </property>
241
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
242
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
243
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Xiaojun Liu, Edward A. Lee, Steve Neuendorffer</configure></property>
244
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
245
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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 &quot;time&quot;; and to the current iteration count by the identifier &quot;iteration.&quot; &lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;</configure></property>
246
<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>
247
<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 &quot;time&quot;; and to the current iteration count by the identifier &quot;iteration.&quot;</configure></property>
248
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4307:74">
249
            </property>
250
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Expression">
251
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:950:1">
252
                </property>
253
            </property>
254
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
255
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
256
                </property>
257
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
258
                </property>
259
            </property>
260
            <property name="_location" class="ptolemy.kernel.util.Location" value="{365.0, 140.0}">
261
            </property>
262
            <port name="dep" class="ptolemy.actor.TypedIOPort">
263
                <property name="input"/>
264
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
265
                </property>
266
            </port>
267
            <port name="i" class="ptolemy.actor.TypedIOPort">
268
                <property name="input"/>
269
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
270
                </property>
271
            </port>
272
        </entity>
273
        <entity name="Expression2" class="ptolemy.actor.lib.Expression">
274
            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="in.toArray()">
275
                <property name="_hide" class="ptolemy.data.expr.Parameter" value="true">
276
                </property>
277
            </property>
278
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
279
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
280
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Xiaojun Liu, Edward A. Lee, Steve Neuendorffer</configure></property>
281
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
282
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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 &quot;time&quot;; and to the current iteration count by the identifier &quot;iteration.&quot; &lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;</configure></property>
283
<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>
284
<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 &quot;time&quot;; and to the current iteration count by the identifier &quot;iteration.&quot;</configure></property>
285
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4307:6">
286
            </property>
287
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Expression">
288
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:950:1">
289
                </property>
290
            </property>
291
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
292
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
293
                </property>
294
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
295
                </property>
296
            </property>
297
            <property name="_location" class="ptolemy.kernel.util.Location" value="{115.0, 215.0}">
298
            </property>
299
            <port name="in" class="ptolemy.actor.TypedIOPort">
300
                <property name="input"/>
301
                <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="false">
302
                </property>
303
            </port>
304
        </entity>
305
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
306
        </relation>
307
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
308
        </relation>
309
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
310
            <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
311
            </property>
312
            <vertex name="vertex1" value="[120.0, 105.0]">
313
            </vertex>
314
        </relation>
315
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
316
        </relation>
317
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
318
        </relation>
319
        <link port="z" relation="relation5"/>
320
        <link port="Ramp.output" relation="relation3"/>
321
        <link port="Array To Sequence.input" relation="relation4"/>
322
        <link port="Array To Sequence.output" relation="relation5"/>
323
        <link port="Constant.output" relation="relation2"/>
324
        <link port="Constant.trigger" relation="relation3"/>
325
        <link port="Expression.output" relation="relation"/>
326
        <link port="Expression.dep" relation="relation2"/>
327
        <link port="Expression.i" relation="relation3"/>
328
        <link port="Expression2.output" relation="relation4"/>
329
        <link port="Expression2.in" relation="relation"/>
330
    </entity>
331
    <entity name="bplot" class="ptolemy.actor.lib.gui.SequencePlotter">
332
        <property name="fillOnWrapup" class="ptolemy.data.expr.Parameter" value="true">
333
        </property>
334
        <property name="automaticRescale" class="ptolemy.data.expr.Parameter" value="false">
335
        </property>
336
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={443, 432, 459, 274}, maximized=false}">
337
        </property>
338
        <property name="_plotSize" class="ptolemy.actor.gui.SizeAttribute" value="[451, 226]">
339
        </property>
340
        <property name="startingDataset" class="ptolemy.data.expr.Parameter" value="0">
341
        </property>
342
        <property name="xInit" class="ptolemy.data.expr.Parameter" value="0.0">
343
        </property>
344
        <property name="xUnit" class="ptolemy.data.expr.Parameter" value="ts">
345
        </property>
346
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
347
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
348
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee, Bart Kienhuis</configure></property>
349
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
350
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The SequencePlotter plots received data and displays the graph. The actor reads one or more sequences of doubles via its input multiport and plots each received sequence as a separate data set. By default, the actor updates the display each time it iterates.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify the scale and starting position of the x-axis with the xUnit and xInit parameters. By default, the x-axis begins at 0 and the increment between samples is 1. &lt;/p&gt;&#10;&#10;&lt;p&gt;Note: updating the display can be costly in terms of system resources. Specify the number of actor iterations that should pass between display updates with the iterationsPerUpdate parameter. For example, if iterationsPerUpdate = 2, then every second time the actor fires, it will update the display (i.e., the actor will update its display on the first firing, the third, the fifth, etc.) The actor will consume its inputs on every firing, regardless of the value of the iterationsPerUpdate parameter.&lt;/p&gt;</configure></property>
351
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts one or more sequences of doubles.</configure></property>
352
<property name="prop:xInit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The start point of the X-axis.</configure></property>
353
<property name="prop:fillOnWrapup" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether or not to rescale the plot so that all data is visible. By default, the actor scales the plot to fill the display area.</configure></property>
354
<property name="prop:startingDataset" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The starting dataset number to which data is plotted. The value must be a non-negative integer. The default is 0.</configure></property>
355
<property name="prop:legend" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Annotations that will be displayed with the graph. Specify a comma-separated list of values that correspond to the input data sets (e.g., rainfall, temperature, elevation).</configure></property>
356
<property name="prop:iterationsPerUpdate" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of actor iterations that should pass between display updates. The value must be a non-negative integer. The default value is 1.</configure></property>
357
<property name="prop:xUnit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The increment along the X-axis.</configure></property>
358
</property>        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4323:4">
359
        </property>
360
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.gui.SequencePlotter">
361
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:894:1">
362
            </property>
363
        </property>
364
        <property name="_location" class="ptolemy.kernel.util.Location" value="[135.0, 300.0]">
365
        </property>
366
        <configure>
367
<?plotml <!DOCTYPE plot PUBLIC "-//UC Berkeley//DTD PlotML 1//EN"
368
"http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd">
369
<plot>
370
<title>b plot</title>
371
<xRange min="0.0" max="1.500000000000001"/>
372
<yRange min="9.549999999999999" max="10.0"/>
373
</plot>?>
374
        </configure>
375
    </entity>
376
    <entity name="b" class="ptolemy.actor.TypedCompositeActor">
377
        <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="8.1.devel">
378
        </property>
379
        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4427:4">
380
        </property>
381
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.TypedCompositeActor">
382
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:449:1">
383
            </property>
384
        </property>
385
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
386
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
387
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Yuhong Xiong</configure></property>
388
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
389
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;A Composite actor is an aggregation of actors. It may have a local director that is responsible for executing the contained actors. A Composite actor with a local director is called an opaque actor. Composite actors do not require a local director. Composite actors with no local director &quot;inherit&quot; the director from the containing workflow and are called non-opaque.&lt;/p&gt;&#10;&#10;&lt;p&gt;To create a composite actor, drag and drop the Composite actor onto the Workflow canvas. Right-click the actor and select Open Actor from the drop-down menu. A new Kepler application window will open for designing the composite.&lt;/p&gt;</configure></property>
390
</property>        <property name="_location" class="ptolemy.kernel.util.Location" value="[0.0, 295.0]">
391
        </property>
392
        <port name="out" class="ptolemy.actor.TypedIOPort">
393
            <property name="output"/>
394
            <property name="_location" class="ptolemy.kernel.util.Location" value="[500.0, 165.0]">
395
            </property>
396
        </port>
397
        <entity name="Expression" class="ptolemy.actor.lib.Expression">
398
            <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="-0.2*in^2+10">
399
                <property name="_hide" class="ptolemy.data.expr.Parameter" value="true">
400
                </property>
401
            </property>
402
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
403
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
404
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Xiaojun Liu, Edward A. Lee, Steve Neuendorffer</configure></property>
405
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
406
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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 &quot;time&quot;; and to the current iteration count by the identifier &quot;iteration.&quot; &lt;/p&gt;&#10;&#10;&lt;p&gt;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. &lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;</configure></property>
407
<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>
408
<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 &quot;time&quot;; and to the current iteration count by the identifier &quot;iteration.&quot;</configure></property>
409
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4424:7">
410
            </property>
411
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Expression">
412
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:950:1">
413
                </property>
414
            </property>
415
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
416
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
417
                </property>
418
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
419
                </property>
420
            </property>
421
            <property name="_location" class="ptolemy.kernel.util.Location" value="[370.0, 165.0]">
422
            </property>
423
            <port name="in" class="ptolemy.actor.TypedIOPort">
424
                <property name="input"/>
425
            </port>
426
        </entity>
427
        <entity name="Constant" class="ptolemy.actor.lib.Const">
428
            <property name="firingCountLimit" class="ptolemy.data.expr.Parameter" value="1">
429
            </property>
430
            <property name="NONE" class="ptolemy.data.expr.Parameter" value="0">
431
            </property>
432
            <property name="value" class="ptolemy.data.expr.Parameter" value="[0:ts:1.5].toArray()">
433
            </property>
434
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
435
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
436
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
437
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
438
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The Constant actor outputs a constant, which is specified by the value parameter. By default, the actor outputs the integer 1.&lt;/p&gt;&#10;&#10;&lt;p&gt;The actor can be used to output other types of values, e.g., a string (such as &quot;Hello&quot;) or a double (such as 1.2). The actor'&#10;s output type matches the type of the specified value.&lt;/p&gt;&#10;&#10;&lt;p&gt;NOTE: If using a PN Director, the 'firingCountLimit' parameter is often set to a finite integer (e.g. '1') so that the workflow will terminate. &lt;/p&gt;&#10;</configure></property>
439
<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>
440
<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>
441
<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>
442
<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 &quot;Hello&quot;) or a double (such as 1.2). The  output type matches the type of the value specified here.</configure></property>
443
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4425:2">
444
            </property>
445
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.Const">
446
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:877:1">
447
                </property>
448
            </property>
449
            <property name="kar" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:kar:57:1">
450
            </property>
451
            <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
452
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="value">
453
                </property>
454
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
455
                </property>
456
            </property>
457
            <property name="_location" class="ptolemy.kernel.util.Location" value="[85.0, 165.0]">
458
            </property>
459
        </entity>
460
        <entity name="Array To Sequence" class="ptolemy.domains.sdf.lib.ArrayToSequence">
461
            <property name="arrayLength" class="ptolemy.data.expr.Parameter" value="1">
462
            </property>
463
            <property name="enforceArrayLength" class="ptolemy.data.expr.Parameter" value="false">
464
            </property>
465
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
466
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
467
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>unknown</configure></property>
468
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
469
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The ArrayToSequence actor  outputs the individual values of an array as a sequence of tokens.&lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;&#10;&#10;&lt;p&gt;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.&lt;/p&gt;</configure></property>
470
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An input port that accepts an array of elements of any type.</configure></property>
471
<property name="port:output" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>An output port that broadcasts a sequence of the disassembled array values. </configure></property>
472
<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>
473
<property name="prop:arrayLength" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The size of the input array. The default is 1.</configure></property>
474
</property>            <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4426:1">
475
            </property>
476
            <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.domains.sdf.lib.ArrayToSequence">
477
                <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:907:1">
478
                </property>
479
            </property>
480
            <property name="_location" class="ptolemy.kernel.util.Location" value="[185.0, 145.0]">
481
            </property>
482
        </entity>
483
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
484
        </relation>
485
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
486
        </relation>
487
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
488
        </relation>
489
        <link port="out" relation="relation3"/>
490
        <link port="Expression.output" relation="relation3"/>
491
        <link port="Expression.in" relation="relation"/>
492
        <link port="Constant.output" relation="relation2"/>
493
        <link port="Array To Sequence.input" relation="relation2"/>
494
        <link port="Array To Sequence.output" relation="relation"/>
495
    </entity>
496
    <entity name="a plot" class="ptolemy.actor.lib.gui.SequencePlotter">
497
        <property name="fillOnWrapup" class="ptolemy.data.expr.Parameter" value="true">
498
        </property>
499
        <property name="automaticRescale" class="ptolemy.data.expr.Parameter" value="false">
500
        </property>
501
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={516, 175, 508, 348}, maximized=false}">
502
        </property>
503
        <property name="_plotSize" class="ptolemy.actor.gui.SizeAttribute" value="[500, 300]">
504
        </property>
505
        <property name="startingDataset" class="ptolemy.data.expr.Parameter" value="0">
506
        </property>
507
        <property name="xInit" class="ptolemy.data.expr.Parameter" value="0.0">
508
        </property>
509
        <property name="xUnit" class="ptolemy.data.expr.Parameter" value="ts">
510
        </property>
511
<property name="KeplerDocumentation" class="ptolemy.vergil.basic.KeplerDocumentationAttribute">
512
<property name="description" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
513
<property name="author" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Edward A. Lee, Bart Kienhuis</configure></property>
514
<property name="version" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>null</configure></property>
515
<property name="userLevelDocumentation" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>&lt;p&gt;The SequencePlotter plots received data and displays the graph. The actor reads one or more sequences of doubles via its input multiport and plots each received sequence as a separate data set. By default, the actor updates the display each time it iterates.&lt;/p&gt;&#10;&#10;&lt;p&gt;Specify the scale and starting position of the x-axis with the xUnit and xInit parameters. By default, the x-axis begins at 0 and the increment between samples is 1. &lt;/p&gt;&#10;&#10;&lt;p&gt;Note: updating the display can be costly in terms of system resources. Specify the number of actor iterations that should pass between display updates with the iterationsPerUpdate parameter. For example, if iterationsPerUpdate = 2, then every second time the actor fires, it will update the display (i.e., the actor will update its display on the first firing, the third, the fifth, etc.) The actor will consume its inputs on every firing, regardless of the value of the iterationsPerUpdate parameter.&lt;/p&gt;</configure></property>
516
<property name="port:input" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>A multiport that accepts one or more sequences of doubles.</configure></property>
517
<property name="prop:xInit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The start point of the X-axis.</configure></property>
518
<property name="prop:fillOnWrapup" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Specify whether or not to rescale the plot so that all data is visible. By default, the actor scales the plot to fill the display area.</configure></property>
519
<property name="prop:legend" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>Annotations that will be displayed with the graph. Specify a comma-separated list of values that correspond to the input data sets (e.g., rainfall, temperature, elevation).</configure></property>
520
<property name="prop:startingDataset" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The starting dataset number to which data is plotted. The value must be a non-negative integer. The default is 0.</configure></property>
521
<property name="prop:iterationsPerUpdate" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The number of actor iterations that should pass between display updates. The value must be a non-negative integer. The default value is 1.</configure></property>
522
<property name="prop:xUnit" class="ptolemy.kernel.util.ConfigurableAttribute"><configure>The increment along the X-axis.</configure></property>
523
</property>        <property name="entityId" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org/ns/:2290:4728:1">
524
        </property>
525
        <property name="class" class="ptolemy.kernel.util.StringAttribute" value="ptolemy.actor.lib.gui.SequencePlotter">
526
            <property name="id" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:kepler-project.org:class:894:1">
527
            </property>
528
        </property>
529
        <property name="_location" class="ptolemy.kernel.util.Location" value="[140.0, 190.0]">
530
        </property>
531
        <configure>
532
<?plotml <!DOCTYPE plot PUBLIC "-//UC Berkeley//DTD PlotML 1//EN"
533
"http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd">
534
<plot>
535
<title>a plot</title>
536
<xRange min="0.0" max="28.990000000001732"/>
537
<yRange min="1.224646799147351E-17" max="1.5000000000000002"/>
538
</plot>?>
539
        </configure>
540
    </entity>
541
    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
542
        <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
543
        </property>
544
        <vertex name="vertex1" value="[100.0, 320.0]">
545
        </vertex>
546
    </relation>
547
    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
548
        <property name="width" class="ptolemy.data.expr.Parameter" value="-1">
549
        </property>
550
        <vertex name="vertex1" value="[100.0, 210.0]">
551
        </vertex>
552
    </relation>
553
    <link port="a.z" relation="relation2"/>
554
    <link port="bplot.input" relation="relation3"/>
555
    <link port="b.out" relation="relation3"/>
556
    <link port="a plot.input" relation="relation2"/>
557
</entity>
(2-2/2)