[kepler-dev] PN + DDF
Norbert Podhorszki
pnorbert at cs.ucdavis.edu
Thu Aug 24 16:02:55 PDT 2006
Hi Gang,
It is fine for me with the current settings now.
I started to use DDF in Kepler because my workflows are heavily
control-flow "uglified" with loops and conditions. Others still use SDF
and PN (and there is one guy showing interest in CT).
That is, I am not using DDF because of its special capabilities, only that
because it can be used for looping and branching.
Concerning your response: how can I "manually set the rates at the
boundaries" anyway?
Best regards
Norbert
On Thu, 24 Aug 2006, Gang Zhou wrote:
>
>
> Yes, you need to set the parameter "runUntilDeadlockInOneIteration"
> to be true so that the DDF submodel sends out one token in each
> iteration. If it is not set, then one submodel iteration is one "basic
> iteration" (see the comment at the beginning of DDFDirector.java
> for its definition) which may or may not invoke BooleanSwitch
> actor. Another way to achieve the same effect is to add a parameter
> named "requiredFiringsPerIteration" with value 1 to BooleanSwitch
> actor so that in each submodel iteration, BooleanSwitch actor is
> assured to fire once.
>
> One may ask why not simply defining one iteration according to what
> people would normally understand, like in this case. Well, that is
> because DDF MoC is turing-complete and it is impossible to do
> that in general. Therefore parameters like
> "runUntilDeadlockInOneIteration" or "requiredFiringsPerIteration"
> are used to help people to decide what they want in one iteration.
>
> About the issue of DDFBooleanSelect and BooleanSelect, sigh :(,
> Edward once pointed out the potential confusion they will cause.
> The short answer is you have to use DDFBooleanSelect in DDF
> model. The long story is we have BooleanSelect first. But it does
> not work in DDF. So I wrote a new actor to be used in DDF. Both
> actors have the same behavoir in PN, but they have different
> behavior in DE. Once I tried to write one actor that combines both
> behavior, but I couldn't get it to work. Then I realized they are
> two distinct actors and each has its own behavior. Since
> BooleanSelect has taken the name, I just don't know how to name
> the new actor (right now it's named DDFBooleanSelect) so that
> it won't cause confusion. Comments?
>
> Gang
>
--
Norbert Podhorszki
------------------------------------
University of California, Davis
Department of Computer Science
1 Shields Ave, 2236 Kemper Hall
Davis, CA 95616
(530) 754-8188
pnorbert at cs.ucdavis.edu
----------------------------------
More information about the Kepler-dev
mailing list