[kepler-dev] SetBreakpoints ?

Edward A. Lee eal at eecs.berkeley.edu
Fri Nov 19 09:32:29 PST 2004


At 07:45 AM 11/19/2004 -0800, Christopher Brooks wrote:
>Note that not all actors have a fire method, so setting a breakpoint
>"after fire" for the Ramp actor will _not_ pause execution; instead,
>Ramp uses iterate, so one should select "after iterate"

Strictly speaking, all actors do have a fire() method, but
not all directors invoke that method.

The contract is that an actor can optionally implement
an iterate() method, which is required to have identical behavior
to the following code:

             if (prefire()) {
                 fire();
                 if (!postfire()) return Executable.STOP_ITERATING;
             } else {
                 return Executable.NOT_READY;
             }

If an actor implements iterate(), then its fire() method may not
ever be invoked.  Hence, "after fire" will not be triggered.

Note that taking a long-term view, I don't think the "set breakpoints"
mechanism is all that useful as is, which is why it has not been
maintained. A much better approach would integrate the breakpoint
mechanism with Eclipse...

Edward



------------
Edward A. Lee, Professor
518 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0455, fax: 510-642-2718
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal




More information about the Kepler-dev mailing list