[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