Hi folks,

 

I ran into a head scratcher with SetVariable; upon looking into its innards,

it seems that it will create the attribute named in its “variableName” member

in it’s container’s scope if it doesn’t find it there.

 

In the enclosed model, I was fiddling with trying to figure out whether state

refinements in a ModalModel could access parameters within the _Controller

of the FSM (yep, going in circles with a couple things, but more is sinking in!)

When a set on a parameter in SetVariable with the same name as a parameter

in the _Controller (say, “q”) did “nothing” but didn’t complain either, I tried to make

a new “q” within the state refinement to see if the SetVariable would bind to it.

Upon trying this I got a duplicate identifier exception within the scope of the refine-

ment.

 

However, no “q” shows up in the XML that I can find (even after a save). I went to

apply the answer from last week on to how to make an invisible parameter visible

when I ran into this.

 

Chuck Lutz

Lockheed Martin

Systems of Systems - Modeling and Operations Analysis

BMC4I Modeling and Simulation

Moorestown, NJ

(856)638-7234 (office)

[EMAIL PROTECTED]

 

“Everyone spoke of an information overload, but what there

was in fact was a non-information overload.”

– Richard Saul Wurman

 

<?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="FSMVarAccess" class="ptolemy.actor.TypedCompositeActor">
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="5.0.1">
    </property>
    <property name="DE Director" class="ptolemy.domains.de.kernel.DEDirector">
        <property name="stopTime" class="ptolemy.data.expr.Parameter" value="10">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[65.0, 35.0]">
        </property>
    </property>
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={3, 2, 815, 356}, maximized=false}">
    </property>
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[600, 247]">
    </property>
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0">
    </property>
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{300.0, 123.5}">
    </property>
    <entity name="ModalModel" class="ptolemy.domains.fsm.modal.ModalModel">
        <property name="_tableauFactory" class="ptolemy.vergil.fsm.modal.ModalTableauFactory">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[295.0, 100.0]">
        </property>
        <port name="in" class="ptolemy.domains.fsm.modal.ModalPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="out1" class="ptolemy.domains.fsm.modal.ModalPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="out2" class="ptolemy.domains.fsm.modal.ModalPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <entity name="_Controller" class="ptolemy.domains.fsm.modal.ModalController">
            <property name="initialStateName" class="ptolemy.kernel.util.StringAttribute" value="state">
            </property>
            <property name="annotation" class="ptolemy.kernel.util.Attribute">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">Create a state machine here (and ports, if needed) and
create refinements for the states.  Create transitions
by holding the control key and dragging from one state
to another. Then delete this annotation.</text>
</svg></configure>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[-5.0, -5.0]">
                </property>
                <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
                </property>
            </property>
            <property name="_library" class="ptolemy.moml.LibraryAttribute">
                <configure>
        <entity name="state library" class="ptolemy.kernel.CompositeEntity"><input source="ptolemy/configs/basicUtilities.xml"></input><entity name="state" class="ptolemy.domains.fsm.kernel.State"><property name="_centerName" class="ptolemy.kernel.util.Attribute"></property><property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory"></property></entity></entity>
      </configure>
            </property>
            <property name="q" class="ptolemy.data.expr.Parameter" value="20">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                    <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                    </property>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 85.0]">
                </property>
            </property>
            <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
                <property name="textSize" class="ptolemy.data.expr.Parameter" value="10">
                </property>
                <property name="text" class="ptolemy.kernel.util.StringAttribute" value="There seems to be no way to set these from within&#10;state refinements, but we can set them in the set&#10;actions and access them in the guards.">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[80.0, 75.0]">
                </property>
            </property>
            <property name="z" class="ptolemy.data.expr.Parameter" value="3.14">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                    <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                    </property>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 100.0]">
                </property>
            </property>
            <property name="trig" class="ptolemy.data.expr.Parameter" value="0">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                    <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                    </property>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 115.0]">
                </property>
            </property>
            <port name="in" class="ptolemy.domains.fsm.modal.RefinementPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[30.0, 175.0]">
                </property>
            </port>
            <port name="out1" class="ptolemy.domains.fsm.modal.RefinementPort">
                <property name="input"/>
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[310.0, 150.0]">
                </property>
            </port>
            <port name="out2" class="ptolemy.domains.fsm.modal.RefinementPort">
                <property name="input"/>
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[310.0, 200.0]">
                </property>
            </port>
            <entity name="state" class="ptolemy.domains.fsm.kernel.State">
                <property name="refinementName" class="ptolemy.kernel.util.StringAttribute" value="state">
                </property>
                <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[90.0, 180.0]">
                </property>
            </entity>
            <entity name="state2" class="ptolemy.domains.fsm.kernel.State">
                <property name="_controllerFactory" class="ptolemy.vergil.fsm.modal.HierarchicalStateControllerFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[250.0, 180.0]">
                </property>
            </entity>
            <relation name="relation" class="ptolemy.domains.fsm.kernel.Transition">
                <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="true">
                </property>
                <property name="outputActions" class="ptolemy.domains.fsm.kernel.OutputActionsAttribute" value="out1 = q">
                </property>
                <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="q = q + 1">
                </property>
                <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                </property>
                <property name="gamma" class="ptolemy.data.expr.Parameter" value="0.06752878469505395">
                </property>
                <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="nondeterministic" class="ptolemy.data.expr.Parameter" value="false">
                </property>
            </relation>
            <relation name="relation2" class="ptolemy.domains.fsm.kernel.Transition">
                <property name="guardExpression" class="ptolemy.kernel.util.StringAttribute" value="trig &gt; 0">
                </property>
                <property name="setActions" class="ptolemy.domains.fsm.kernel.CommitActionsAttribute" value="trig = trig - 1">
                </property>
                <property name="exitAngle" class="ptolemy.data.expr.Parameter" value="0.6283185307179586">
                </property>
                <property name="gamma" class="ptolemy.data.expr.Parameter" value="-3.0740638688947386">
                </property>
                <property name="reset" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="preemptive" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="nondeterministic" class="ptolemy.data.expr.Parameter" value="true">
                </property>
            </relation>
            <link port="state.incomingPort" relation="relation2"/>
            <link port="state.outgoingPort" relation="relation"/>
            <link port="state2.incomingPort" relation="relation"/>
            <link port="state2.outgoingPort" relation="relation2"/>
        </entity>
        <entity name="state" class="ptolemy.domains.fsm.modal.Refinement">
            <property name="DE Director" class="ptolemy.domains.de.kernel.DEDirector">
                <property name="_location" class="ptolemy.kernel.util.Location" value="[60.0, 30.0]">
                </property>
            </property>
            <property name="g" class="ptolemy.data.expr.Parameter" value="10">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                    <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                    </property>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[25.0, 175.0]">
                </property>
            </property>
            <property name="Parameter" class="ptolemy.data.expr.Parameter">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                    <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                    </property>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 260.0]">
                </property>
            </property>
            <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
                <property name="textSize" class="ptolemy.data.expr.Parameter" value="10">
                </property>
                <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Can't be renamed to &quot;p&quot; or &quot;q&quot;; we&#10;get name duplication errors...">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[90.0, 250.0]">
                </property>
            </property>
            <property name="z" class="ptolemy.data.expr.Parameter" value="12.34">
                <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.ValueIcon">
                    <property name="_color" class="ptolemy.actor.gui.ColorAttribute" value="{0.0, 0.0, 1.0, 1.0}">
                    </property>
                </property>
                <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
                    <configure>
      <svg>
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-P-</text>
      </svg>
    </configure>
                </property>
                <property name="_editorFactory" class="ptolemy.vergil.toolbox.VisibleParameterEditorFactory">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[20.0, 235.0]">
                </property>
            </property>
            <property name="Annotation2" class="ptolemy.vergil.kernel.attributes.TextAttribute">
                <property name="textSize" class="ptolemy.data.expr.Parameter" value="10">
                </property>
                <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This attempt to access q in the FSM's&#10;_Controller via the resolution operator&#10;doesn't work, but Expression doesn't&#10;complain:">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[170.0, 100.0]">
                </property>
            </property>
            <property name="Annotation3" class="ptolemy.vergil.kernel.attributes.TextAttribute">
                <property name="textSize" class="ptolemy.data.expr.Parameter" value="10">
                </property>
                <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Delayed...">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[110.0, 55.0]">
                </property>
            </property>
            <property name="Annotation4" class="ptolemy.vergil.kernel.attributes.TextAttribute">
                <property name="textSize" class="ptolemy.data.expr.Parameter" value="10">
                </property>
                <property name="text" class="ptolemy.kernel.util.StringAttribute" value="...not delayed, but&#10;seems to act like it.">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[270.0, 235.0]">
                </property>
            </property>
            <port name="in" class="ptolemy.domains.fsm.modal.RefinementPort">
                <property name="input"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[35.0, 95.0]">
                </property>
            </port>
            <port name="out1" class="ptolemy.domains.fsm.modal.RefinementPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[335.0, 75.0]">
                </property>
            </port>
            <port name="out2" class="ptolemy.domains.fsm.modal.RefinementPort">
                <property name="output"/>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[345.0, 185.0]">
                </property>
            </port>
            <entity name="SetVariable" class="ptolemy.actor.lib.SetVariable">
                <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="g">
                </property>
                <property name="delayed" class="ptolemy.data.expr.Parameter" value="true">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="variableName">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[125.0, 95.0]">
                </property>
            </entity>
            <entity name="Expression" class="ptolemy.actor.lib.Expression">
                <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="_Controller::q + 5">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[230.0, 185.0]">
                </property>
                <port name="trigger" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="InState" class="ptolemy.actor.lib.gui.Display">
                <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={590, 754, 337, 239}, maximized=false}">
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[125.0, 145.0]">
                </property>
            </entity>
            <entity name="Expression2" class="ptolemy.actor.lib.Expression">
                <property name="expression" class="ptolemy.kernel.util.StringAttribute" value="trigger * 1.234">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="expression">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="60">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[220.0, 225.0]">
                </property>
                <port name="trigger" class="ptolemy.actor.TypedIOPort">
                    <property name="input"/>
                    <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
                    </property>
                </port>
            </entity>
            <entity name="SetVariable2" class="ptolemy.actor.lib.SetVariable">
                <property name="variableName" class="ptolemy.kernel.util.StringAttribute" value="z">
                </property>
                <property name="delayed" class="ptolemy.data.expr.Parameter" value="false">
                </property>
                <property name="_icon" class="ptolemy.vergil.icon.BoxedValueIcon">
                    <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="variableName">
                    </property>
                    <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="40">
                    </property>
                </property>
                <property name="_location" class="ptolemy.kernel.util.Location" value="[300.0, 225.0]">
                </property>
            </entity>
            <relation name="relation3" class="ptolemy.actor.TypedIORelation">
                <vertex name="vertex1" value="[85.0, 185.0]">
                </vertex>
            </relation>
            <relation name="relation" class="ptolemy.actor.TypedIORelation">
            </relation>
            <relation name="relation2" class="ptolemy.actor.TypedIORelation">
            </relation>
            <link port="in" relation="relation3"/>
            <link port="out2" relation="relation"/>
            <link port="SetVariable.input" relation="relation3"/>
            <link port="Expression.output" relation="relation"/>
            <link port="Expression.trigger" relation="relation3"/>
            <link port="InState.input" relation="relation3"/>
            <link port="Expression2.output" relation="relation2"/>
            <link port="Expression2.trigger" relation="relation3"/>
            <link port="SetVariable2.input" relation="relation2"/>
        </entity>
        <relation name="inRelation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="out1Relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <relation name="out2Relation" class="ptolemy.actor.TypedIORelation">
        </relation>
        <link port="in" relation="inRelation"/>
        <link port="out1" relation="out1Relation"/>
        <link port="out2" relation="out2Relation"/>
        <link port="_Controller.in" relation="inRelation"/>
        <link port="_Controller.out1" relation="out1Relation"/>
        <link port="_Controller.out2" relation="out2Relation"/>
        <link port="state.in" relation="inRelation"/>
        <link port="state.out1" relation="out1Relation"/>
        <link port="state.out2" relation="out2Relation"/>
    </entity>
    <entity name="Clock" class="ptolemy.actor.lib.Clock">
        <doc>Create a set of pulses</doc>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[45.0, 100.0]">
        </property>
    </entity>
    <entity name="Ramp" class="ptolemy.actor.lib.Ramp">
        <doc>Create a sequence of tokens with increasing value</doc>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[155.0, 100.0]">
        </property>
        <port name="output" class="ptolemy.actor.TypedIOPort">
            <property name="output"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="trigger" class="ptolemy.actor.TypedIOPort">
            <property name="input"/>
            <property name="multiport"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
        <port name="step" class="ptolemy.actor.parameters.ParameterPort">
            <property name="input"/>
            <property name="_showName" class="ptolemy.data.expr.SingletonParameter" value="true">
            </property>
        </port>
    </entity>
    <entity name="Out1" class="ptolemy.actor.lib.gui.Display">
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={824, 4, 292, 175}, maximized=false}">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[420.0, 65.0]">
        </property>
    </entity>
    <entity name="RampOut" class="ptolemy.actor.lib.gui.Display">
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={289, 333, 292, 263}, maximized=false}">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[265.0, 170.0]">
        </property>
    </entity>
    <entity name="Out2" class="ptolemy.actor.lib.gui.Display">
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={826, 181, 292, 186}, maximized=false}">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[420.0, 120.0]">
        </property>
    </entity>
    <relation name="relation" class="ptolemy.actor.TypedIORelation">
    </relation>
    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
    </relation>
    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
        <vertex name="vertex1" value="[235.0, 100.0]">
        </vertex>
    </relation>
    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
    </relation>
    <link port="ModalModel.in" relation="relation4"/>
    <link port="ModalModel.out1" relation="relation3"/>
    <link port="ModalModel.out2" relation="relation2"/>
    <link port="Clock.output" relation="relation"/>
    <link port="Ramp.output" relation="relation4"/>
    <link port="Ramp.trigger" relation="relation"/>
    <link port="Out1.input" relation="relation3"/>
    <link port="RampOut.input" relation="relation4"/>
    <link port="Out2.input" relation="relation2"/>
</entity>

Reply via email to