[kepler-dev] Ports

David Welker david.v.welker at gmail.com
Tue Aug 3 10:18:37 PDT 2010


Hi Ivens,

I am confused about this configuring your build path step that you describe. What exactly are you doing? 

If you put a jar anywhere in the lib directory of a module (including any subdirectory), the build system automatically detects the jar and adds it to the classpath. So adding a new jar is very easy. Just add the jar somewhere into the lib directory and go.

On Aug 3, 2010, at 10:20 AM, Ivens <ivensportugal at gmail.com> wrote:

> Hi people,
> 
> i solved my problem. One more time... thank you all.
> 
> now, i'm having a problem with external libs on my actor.
> 
> 1) i checked out kepler
> 2) i created a suite for my actor
> i followed the tutorial in both steps
> 
> 3) i coded my actor
> 4) pasted the libs in /lib directory (not under /lib/exe)
> 5) i configured "build path" to add more jars (those i pasted)
> 6) i ran kepler (with my actor)
> 7) when i run the workflow i get the error message java.lang.NoClassDefFoundError
> 
> am i adding jars correctly?
> 
> thanks
> 
> On Sun, Aug 1, 2010 at 4:16 PM, Ivens <ivensportugal at gmail.com> wrote:
> Edward,
> 
> the output port of my actor is an instance of TypedIOPort
> and it is multiport.
> 
> but i could not find that method...
> 
> On Sun, Aug 1, 2010 at 4:07 PM, Edward A. Lee <eal at eecs.berkeley.edu> wrote:
> 
> I think that if your actor does this in the constructor,
> it should work:
> 
>        output.setWidthEquals(input, false);
> 
> This assumes that the output is a multiport, and it constrains
> the width inference algorithm to yield the same width on the
> output as on the input.
> 
> Edward
> 
> 
> 
> On 8/1/10 11:57 AM, Ivens wrote:
> 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:
> 
> 
> 
> 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
> <mailto: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>
>        <mailto: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>
>        <mailto: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>
>        <mailto: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>
>        <mailto: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 <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/20100803/96e17de5/attachment-0001.html>


More information about the Kepler-dev mailing list