[kepler-dev] Ports

Ivens ivensportugal at gmail.com
Sun Aug 1 11:57:42 PDT 2010


Hi...


First, thank you all for your help.
Ilkay and Edward, I read part of the documents you sent and that made me
understand more about the conversions... fortunatelly i could solve the
problem i had.

but another one appeared.
please, take a look at the picture below:



[image: addsubproblem.jpg]
i forgot to mention that the big "square" is a CompositeActor

my actor should receive both tokens 2 and 3 and deliver them to
AddOrSubtract Actor.
AddOrSubtract actor should *add* them and deliver the result to Display
Display should show 5.

my actor has two ports (an input one, and an output one)
both are multiport.

its fire() method is similar to this:

for(i = 0; i < input.getWidth(); i++) {
  Token t = input.get(i);
  output.send(i, t);
}

i dont know why, but input.getWidth() returns *2,* because my actor receives
2 tokens
but when i send the tokens,

send(0, t) works
send(1, t) does not work,

because there is not a channel 1 in the ouput of my actor, and then Display
shows only the first token
(when i add a second line (or channel) from my actor to AddOrSubtract,
everthing runs correctly)

my question is:
as i receive 2 tokens (from 2 different channels) through the same line,
is there a way to correctly deliver those tokens to AddOrSubtract actor, so
that it can add those tokens and deliver them to Display...?

note that i cannot add more lines between myActor and AddOrSubtract
and the line between those actors must have width = 0


Thank you for your help one more time

Ivens


On Sat, Jul 31, 2010 at 8:23 AM, Edward A. Lee <eal at eecs.berkeley.edu>wrote:

>
> The type system is explained in Chapter 5 here:
>
> http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-29.html
>
> Edward
>
>
>
> On 7/30/10 8:01 AM, Ivens wrote:
>
>> Hi (again),
>>
>> I read Kepler User Manual to discover how Port Constraints work but i
>> could not understand.
>> I looked some actors in Kepler and I noticed that Parameters are passed
>> to setTypeAtLeast(...) method...
>> so... i dont know how these Constrainst work...
>>
>> can you please explain me?
>>
>> thanks
>>
>> On Fri, Jul 30, 2010 at 10:32 AM, Ivens <ivensportugal at gmail.com
>> <mailto:ivensportugal at gmail.com>> wrote:
>>
>>    When i tried to link an UNKNOWN port to a GENERAL port, i got error
>>    messages...
>>    why?
>>
>>
>>    help.JPG
>>
>>
>>
>>    error.JPG
>>
>>    On Fri, Jul 30, 2010 at 10:00 AM, Ivens <ivensportugal at gmail.com
>>    <mailto:ivensportugal at gmail.com>> wrote:
>>
>>        Hi ilkay,
>>
>>        yes i can add the actor do Display, and it works well.
>>        But Display Actor has a port from General Type and accepts every
>>        type of Token.
>>
>>        The problem is... my actor must send the Token he received...
>>        but i dont know the type of that Token.
>>
>>        For instance:
>>        suppose i have (SDF Director) a String Constant --- myActor ---
>>        String to Int --- Display
>>
>>        my actor must get a String from String Constant (which is easy
>>        using an input Port from GENERAL type) and send this String
>>        Token through a STRING type Port, because String to Int must
>>        receive a StringToken.
>>
>>        But..
>>        Suppose (SDF Director)   Const --- myActor --- AddOrSubtract ---
>>        Display
>>
>>        my actor must get a Integer and send it through a INTEGER type
>>        Port, because AddOrSubtract expects that.
>>
>>        In other words, the output Port may be generic...
>>        but if i declare it as GENERAL, it won't work
>>
>>        and i cannot use output.setTypeAtLeast(input), because my input
>>        port is GENERAL.
>>
>>        did you understand?
>>
>>        On Wed, Jul 28, 2010 at 4:42 PM, Ilkay Altintas
>>        <altintas at sdsc.edu <mailto:altintas at sdsc.edu>> wrote:
>>
>>            Hi,
>>
>>            The general data type is the most inclusive of the types.
>>              Can you link your actor to display?
>>
>>            There's some more information on the type system conversions
>>            in the ptolemy documentation  (section 4.5.4: Conversions)
>>            at:
>>
>> http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-28.html
>>
>>            -ilkay
>>
>>
>>            --
>>            Ilkay ALTINTAS
>>            Deputy Coordinator for Research, San Diego Supercomputer
>>            Center (SDSC)
>>            Lab Director, Scientific Workflow Automation Technologies
>>            (SWAT @ SDSC)
>>
>>            University of California, San Diego
>>            9500 Gilman Drive, MC: 0505  La Jolla, CA  92093-0505
>>            Phone: (858) 210-5877                     Fax: (858) 534-8303
>>            Web: http://users.sdsc.edu/~altintas
>>            Skype: ilkay.altintas
>>
>>
>>
>>
>>
>>
>>
>>
>>            On Jul 28, 2010, at 10:32 AM, Ivens wrote:
>>
>>                Hi,
>>
>>                I wrote an Actor in Java that has 2 ports: one is input
>>                and the other one is output.
>>                Both are from GENERAL type. (deal with GENERAL tokens)
>>
>>                The output port sends the same data the input port
>> receives.
>>                And then, i connect the output port to any other Kepler
>>                Actor (for instance, String to Int.string)
>>
>>                When i click 'play' to start the execution, i get an
>>                error message.
>>                i think that is because my output port is from GENERAL
>>                type... and it is connected to a port from STRING type
>>
>>                So, i changed that type to UNKNOWN... but the error
>>                persists...
>>                Can you help me?
>>
>>                Thanks
>>                _______________________________________________
>>                Kepler-dev mailing list
>>                Kepler-dev at kepler-project.org
>>                <mailto:Kepler-dev at kepler-project.org>
>>
>>
>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Kepler-dev mailing list
>> Kepler-dev at kepler-project.org
>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercury.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20100801/fa444254/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 49837 bytes
Desc: not available
URL: <http://mercury.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20100801/fa444254/attachment-0001.jpe>


More information about the Kepler-dev mailing list