[kepler-dev] modeling question about producing f(A, x), f(A, y)...

Carlos Rueda carueda at ucdavis.edu
Fri Aug 3 12:13:06 PDT 2007


Hmm.. assuming each z, y, x ... is a fired token from A2, how is it
possible for A3, after reading (a1,z), to read y since it will block
while reading from A1?

Carlos

Daniel Zinn wrote:
> On Friday 03 August 2007 11:59, Norbert Podhorszki wrote:
>> Close :-)
> 
> 
> I thought x,y,z,... are functions of a1.
> 
> Daniel
> 
>             a1
>>   A1 ---------------> ------  ..., f(a1,z), f(a1,y), f(a1,x)
>>
>>                       | A3 | -------------------------------->
>>
>>   A2 ---------------> ------
>>         ...,z,y,x
>>
>>
>> Norbert
>>
>> On Fri, 3 Aug 2007, Daniel Zinn wrote:
>>> Hi Norbert,
>>>
>>> ok, then maybe I don't understand the problem well enough. Let me give it
>>> another shot:
>>>
>>> in PN:
>>>
>>> A1 ---------------> A3
>>>    \---> A2 ----->
>>>
>>> A1 produces A which is branched and sent to A2 and A3.
>>> A2 just produces x,y,z,... from A
>>> A3 first reads from the A1 port and stores the A
>>>   then reads from the second port only and does its thing
>>>
>>> Daniel
>>>
>>> On Friday 03 August 2007 11:45, Norbert Podhorszki wrote:
>>>> Hi Daniel,
>>>>
>>>> Thanks for the idea.
>>>> You have generalized the problem here, because for us, A is just one
>>>> single token (a1 in your example).
>>>>
>>>> The collection-oriented modelling seems to be a bit heavy weight
>>>> solution in the sense, that if we start from a Constant with single
>>>> firing and a Ramp to generate a stream of tokens, it seems to be a lot
>>>> of work to make it a collection oriented workflow, isn't it?
>>>>
>>>> Thanks
>>>> Norbert
>>>>
>>>> On Fri, 3 Aug 2007, Daniel Zinn wrote:
>>>>> Hi,
>>>>>
>>>>> (let me try, perhaps this might help)
>>>>>
>>>>> The problem here is that we need to preserve the dependency between A
>>>>> and x,y,z... This is a classical use-case for collection-oriented
>>>>> workflows.
>>>>>
>>>>> You could probably use Tim McPhillips' and Shawn Bowers'
>>>>> collection-oriented framework to solve this problem. You could send A
>>>>> as meta-data in a collection that contains x,y,z,.... In the third
>>>>> actor you then just pull the metadata and the x, ..
>>>>>
>>>>> You can also emulate a collection by using a workflow with 3 actors in
>>>>> a pipeline:
>>>>>
>>>>> A1 --> A2 --> A3
>>>>>
>>>>> actor one sends a1,a2,a3...
>>>>> A2 consumes a1 and produces a1, x, y, z, ..., a2, x, y, z
>>>>> A3's behavior depends on the type of what is coming in:
>>>>>     if   input == ai    => store ai in a local variable for later
>>>>>     else (input is one of x,y,z,...) => compute f(ai, input) and output
>>>>>                                         result (with or without
>>>>> context)
>>>>>
>>>>> PS:
>>>>>
>>>>> In a collection oriented / tree-type enabled workflow where inner nodes
>>>>> also can contain data, you could do something like that:
>>>>>
>>>>> Let the three actors be
>>>>>
>>>>> A1 --> A2 --> A3
>>>>>
>>>>> A1 produces data of type A*        (that is a list of As)
>>>>> A2 produces data of type A[X*]     (that is to each A, also contains a
>>>>>                                    list of x,y,z...
>>>>>                                    as a new sub collection)
>>>>> A3 then has a 'read scope' of A=>a[ X=>x ]
>>>>> A3's action then uses a and x.
>>>>>
>>>>>
>>>>> Daniel
>>> --
>>> "The acquisition of wealth is no longer the driving force in our
>>> lives ... we work to better ourselves and the rest of humanity."
>>>
>>> reach me at:    Jabber:q at n251.fem.tu-ilmenau.de  ICQ:79511325
>>>                AIM:QN303 Skype:DanielZinn IRC:q at irc.gimp.org
>>> _______________________________________________
>>> Kepler-dev mailing list
>>> Kepler-dev at ecoinformatics.org
>>> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
>>       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
>>       ----------------------------------
> 


More information about the Kepler-dev mailing list