[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