[kepler-dev] How do I create nested loops in Kepler

Edward A. Lee eal at eecs.berkeley.edu
Fri Jul 8 05:23:13 PDT 2005

Yes, your solution seems fine as well... I also thought about
using the vectorizationFactor parameter of the SDFDirector, but
one thing I don't like about that solution is that the parameter
(and hence its effect) is not visible in the block diagram.
If you printed the block diagram, you would have no idea that
there was a nested loop in it...

I think my solution will work unchanged in PN, and in fact would
tolerate data-dependent loop sizes.


At 09:07 AM 7/7/2005 -0700, Christopher Brooks wrote:
>Hi Edward,
>Feel free to take a look and critique my proposed solution at
>I like your solution because it does not use hierarchy and thus
>might be more efficient.  However, hierarchy could be useful
>One issue with parameterizedLoops is that I'm really using the
>input to the inner model as a trigger, much like one would
>in DE.
>Also, I was interested in how I would use PN to do something similar,
>but did not get very far.  Do you have a PN solution?
>     Dan:
>     This is a very good question. In fact, I wrote a paper once on this
>     subject:
>     E. A. Lee, "Recurrences, Iteration, and Conditionals in Statically
>     Scheduled Block Diagram Languages," in VLSI Signal Processing III,
>     Ed. R. W. Brodersen and H. S. Moscovitz, IEEE Press, New York, 1988.
>     This paper is not on the web, although I could get you a copy if you 
> like..
>    .
>     For your example, the attached model illustrates one simple technique.
>     It also elaborates on it, producing the iteration indices for both
>     the outer an inner iterations. There are also much more elaborate
>     models one can create using higher-order components, like the
>     IterateOverArray actor and many others that we haven't gotten
>     around to porting from Ptolemy Classic...
>     Edward
>     At 03:58 PM 7/5/2005 -0700, Dan Higgins wrote:
>     >Hi All,
>     >
>     >     I am having great difficulty in figuring out how to handle various
>     >looping constructs in Kepler/Ptolemy. So I ask if someone can explain
>     >how to handle nested loops (using SDF and/or PN directors)?
>     >
>     >     For example, assume I want to count from 0 to 3 twice in a row so
>     >that the output on a final text display is
>     >0
>     >1
>     >2
>     >0
>     >1
>     >2
>     >
>     >I've tried various ways using Ramp actors and Composite actors but
>     >cannot seem to get this simple case to work.
>     >
>     >Thanks,
>     >Dan
>     >
>     >--
>     >*******************************************************************
>     >Dan Higgins                                  higgins at nceas.ucsb.edu
>     >http://www.nceas.ucsb.edu/    Ph: 805-893-5127
>     >National Center for Ecological Analysis and Synthesis (NCEAS)
>     >Marine Science Building - Room 3405
>     >Santa Barbara, CA 93195
>     >*******************************************************************
>     >
>     >_______________________________________________
>     >Kepler-dev mailing list
>     >Kepler-dev at ecoinformatics.org
>     >http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev

Edward A. Lee
Professor, Chair of the EE Division, Associate Chair of EECS
231 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal  

More information about the Kepler-dev mailing list