Yes, it looks as if the code is designed so that process domains (PN, CSP) can only be used within process domains. I'm not sure to what extent this is a limitation of the process domains vs. a semantic problem. What would PN mean within DE? Since PN has no well-defined notion of a "firing", how would you assign time stamps to the outputs of a PN actor? By default in DE, the time stamps of the outputs of an actor match those of the inputs that triggered the firing. There is no such notion in PN.

I think that until there are clear answers to the semantics questions,
there is not much point in trying to make the software support the combination.
On the other hand, trying to make the software support these combinations
is likely to yield deeper insights into the semantics questions.
I would encourage you (or anyone else) to do this... It would be an
excellent research topic.

Edward


At 09:33 AM 12/15/2004 +0000, Ivan Jeukens wrote:

  Hi all,

I think there is a problem with the process domains, in particular, csp and pn. I'm working
on a specification that mix CT, DE, CSP and SR. When CSP is used inside a DE topology,
exceptions are thrown (something related to the addBranches method of the BranchController class).
I have attached a simple specification that reproduces the bug.


     Ivan


<?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="decspbug" class="ptolemy.actor.TypedCompositeActor">
<property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="4.0.1">
</property>
<property name="DE Director" class="ptolemy.domains.de.kernel.DEDirector">
<property name="_location" class="ptolemy.kernel.util.Location" value="[100.0, 60.0]">
</property>
</property>
<property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={76, 83, 983, 603}, maximized=false}">
</property>
<property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[763, 497]">
</property>
<property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0">
</property>
<property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{381.5, 248.5}">
</property>
<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="[115.0, 295.0]">
</property>
</entity>
<entity name="CompositeActor" class="ptolemy.actor.TypedCompositeActor">
<property name="_location" class="ptolemy.kernel.util.Location" value="[280.0, 295.0]">
</property>
<property name="PN Director" class="ptolemy.domains.pn.kernel.PNDirector">
<property name="_location" class="ptolemy.kernel.util.Location" value="{45, 70}">
</property>
</property>
<port name="port" class="ptolemy.actor.TypedIOPort">
<property name="input"/>
<property name="_location" class="ptolemy.kernel.util.Location" value="{20.0, 200.0}">
</property>
</port>
<port name="port2" class="ptolemy.actor.TypedIOPort">
<property name="output"/>
<property name="_location" class="ptolemy.kernel.util.Location" value="{580.0, 200.0}">
</property>
</port>
<entity name="Scale" class="ptolemy.actor.lib.Scale">
<property name="factor" class="ptolemy.data.expr.Parameter" value="2">
</property>
<property name="_icon" class="ptolemy.vergil.icon.AttributeValueIcon">
<property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="factor">
</property>
</property>
<property name="_location" class="ptolemy.kernel.util.Location" value="[265.0, 200.0]">
</property>
</entity>
<relation name="relation" class="ptolemy.actor.TypedIORelation">
</relation>
<relation name="relation2" class="ptolemy.actor.TypedIORelation">
</relation>
<link port="port" relation="relation"/>
<link port="port2" relation="relation2"/>
<link port="Scale.input" relation="relation"/>
<link port="Scale.output" relation="relation2"/>
</entity>
<entity name="SequencePlotter" class="ptolemy.actor.lib.gui.SequencePlotter">
<property name="_location" class="ptolemy.kernel.util.Location" value="{470, 290}">
</property>
<configure>
<?plotml <!DOCTYPE plot PUBLIC "-//UC Berkeley//DTD PlotML 1//EN"
"http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd";>
<plot>
<title>SequencePlotter</title>
<xRange min="1.7976931348623157E308" max="-1.7976931348623157E308"/>
<yRange min="1.7976931348623157E308" max="-1.7976931348623157E308"/>
</plot>?>
</configure>
</entity>
<relation name="relation" class="ptolemy.actor.TypedIORelation">
</relation>
<relation name="relation2" class="ptolemy.actor.TypedIORelation">
</relation>
<link port="Ramp.output" relation="relation2"/>
<link port="CompositeActor.port" relation="relation2"/>
<link port="CompositeActor.port2" relation="relation"/>
<link port="SequencePlotter.input" relation="relation"/>
</entity>

------------ Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2718 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal


---------------------------------------------------------------------------- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]

Reply via email to