[kepler-dev] modeling question about producing f(A,x),f(A,y)...
Norbert Podhorszki
pnorbert at cs.ucdavis.edu
Fri Aug 3 11:00:44 PDT 2007
Hi,
I have no working solution for the following problem described by Bruce
Char, see below. Any working idea/example would be appreciated.
I also have the same problem currently and am craving for a good solution.
Thanks
Norbert
Norbert Podhorszki
------------------------------------
University of California, Davis
Department of Computer Science
1 Shields Ave, 2236 Kemper Hall
Davis, CA 95616
(530) 752-5076
pnorbert at cs.ucdavis.edu
----------------------------------
---------- Forwarded message ----------
Date: Fri, 03 Aug 2007 13:14:59 -0400
From: Bruce Char <bchar at cs.drexel.edu>
That seemed to do it. What does this setting do?
I am beginning at least to understand that I don't know how to "solve" certain
kinds of situations. Here's the latest:
actor 1 issues a token, call it A. This gets split and sent to multiple
branches of the work flow as a trigger.
One of the branches contains actor 2. This issues one or more tokens (we don't
know exactly how many ahead of time). Call them x, y, z, ...
We want to create an actor that is downstream of actors 1 and 2. Its job is to
create tokens that are a function of the output of actors 1 and 2: f(A,x),
f(A,y), ...
Actor 1 in real life is the job submitter, which produces the location of the
working directory, actor 2 is a filter of the file watcher. It's going to
create file conversion commands that I'll pass to ssh.
I have realized that I can create actors where all input ports have equal
numbers of tokens going in. But in this case I don't have that. If I
were in the ordinary programming world I would have actor 1 set a variable
v, and lower a sync barrier. actor 2 each time it emits a token would
first check that the sync barrier was down and then emit the token. The
final actor would refer to the value of v and the input from actor 2 to do
its work.
However, I realize I don't really know how to set a variable in Kepler! I know
how to set constants (which won't help since the value of A is unknown at
start up time). I know how to set expressions (which can fire the same number
of times as actor 1 fires, which is once). I can imagine that there are some
kinds of feedback loops that would remember A and then provide it each time a
token from actor 2 provides a firing signal. I am not really sure how to set
the latter up, but needing a feedback loop also seems more complicated than an
ordinary user would want. So I figure that there's something in Kepler that
can handle this simply but I don't know what it is.
Bruce
More information about the Kepler-dev
mailing list