knowledge-database (beta)

Current group: comp.soft-sys.ptolemy

Re: Possible process domain bug

Re: Possible process domain bug  
Edward A. Lee
 Re: Possible process domain bug  
Ivan Jeukens
From:Edward A. Lee
Subject:Re: Possible process domain bug
Date:Wed, 15 Dec 2004 22:57:08 -0800

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
>
>
>
>> "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
>
> > class="ptolemy.kernel.attributes.VersionAttribute" value="4.0.1">
>

> > class="ptolemy.domains.de.kernel.DEDirector">
> > value="[100.0, 60.0]">
>

>

> > class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={76,
> 83, 983, 603}, maximized=false}">
>

> > value="[763, 497]">
>

> > class="ptolemy.data.expr.ExpertParameter" value="1.0">
>

> > class="ptolemy.data.expr.ExpertParameter" value="{381.5, 248.5}">
>

>
> Create a sequence of tokens with increasing value
> > value="[115.0, 295.0]">
>

>

>
> > value="[280.0, 295.0]">
>

> > class="ptolemy.domains.pn.kernel.PNDirector">
> > class="ptolemy.kernel.util.Location" value="{45, 70}">
>

>

>
>
> > class="ptolemy.kernel.util.Location" value="{20.0, 200.0}">
>

>

>
>
> > class="ptolemy.kernel.util.Location" value="{580.0, 200.0}">
>

>

>
> > value="2">
>

> > class="ptolemy.vergil.icon.AttributeValueIcon">
> > class="ptolemy.kernel.util.StringAttribute" value="factor">
>

>

> > class="ptolemy.kernel.util.Location" value="[265.0, 200.0]">
>

>

>
>

>
>

>
>
>
>
>

> > class="ptolemy.actor.lib.gui.SequencePlotter">
> > value="{470, 290}">
>

>
>>"http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd">
>
>SequencePlotter
>
>
>
?>
>

>

>
>

>
>

>
>
>
>
>


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


----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list. Please send administrative
mail for this list to: ptolemy-hackers-request@ptolemy.eecs.berkeley.edu
From:Ivan Jeukens
Subject:Re: Possible process domain bug
Date:Thu, 16 Dec 2004 09:20:03 +0000

Hi Prof. Lee, all,

>
> 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.


Yes, I agree with you, not all combinations are meaningful. As a
matter of fact,
I was combining CSP inside a SR topology. That does not seem right
because of the synchronous
hypothesis. But, I was testing a tool for checking the validity of
specifications against certain MoCs,
and in principle, that combination (SR + CSP) was ok (the specification
isn't timed, is monotonic, etc).

As for DE + CSP I think it might be useful, since DE is primary a
simulation model, as is
CT. Therefore, these two models are pretty good for capturing the
environment of a system. In my
particular case, I'm also interested in embedded software, so CSP an PN
should be put in the mix.

Indeed, trying to view a "process composite actor" as a
"activation based atomic actor" is tricky.
The "fire until deadlock" policy for the process composite seems the way
to go. If no actor inside
the composite manipulates the time value, i.e the composite is zero
delay, then the timestamps of produced
events could be of current time of firing. Now for generating embedded
software, I think it does not make
much sense the notion of timestamp of an event, since the real time is
not a controllable feature. Maybe the only
acceptable method of a process that manipulates time is a timed delay (
fireAt() ) . In a
DE + process this can be interpreted as the generation of a pure event
that will trigger a
future activation of the process based composite. Anyway, issues of
deadlocks, livelocks and
determinacy should be studied carefully.


Regards,
Ivan


P.S.: By April/May of 2005 I should get my PhD, and be a free man. So,
if anyone out there
is interested in a 6 year experienced Ptolemy II guy to develop MoC
science, just let me know ... :-)


----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list. Please send administrative
mail for this list to: ptolemy-hackers-request@ptolemy.eecs.berkeley.edu
   

Copyright © 2006 knowledge-database   -   All rights reserved