The offending lines are these:
} catch (Exception e) {
e.printStackTrace();
throw new IllegalActionException(e.getMessage());
}
The issue is that in PN, the fire() method is invoked in an infinite
loop in its own thread. The get() method blocks until there is input
available. When the PN director detects that there are no more
tokens to process, it causes to get() to throw a
TerminateProcessException. It would not work for get() to just
return, because then the infinite loop would continue and the thread
would never terminate.
You could change this to:
} catch (Exception e) {
if (!(e instanceof TerminateProcessExeption)) {
e.printStackTrace();
throw new IllegalActionException(e.getMessage());
}
}
Note further that it would be better to replace
throw new IllegalActionException(e.getMessage());
with
throw new IllegalActionException(this, e, e.getMessage());
This will cause the offending actor to be highlighted, and the chain
of exception stack traces to be shown. It makes it unnecessary to
do this:
e.printStackTrace();
Edward
On 6/22/11 1:07 AM, Vincenzo Forchi wrote:
Hi Christopher, I think I'm doing some weird mistake, but I don't understand why the other actors I wrote work. Anyway, here's the (stripped down) actor that doesn't work and the model. Cheers, Vincenzo On 21/06/2011 17:32, Christopher Brooks wrote:Hi Vincenzo, Do you have a small test actor and sample model? _Christopher On 6/21/11 8:05 AM, Vincenzo Forchi wrote:Hi Edward, On 21/06/2011 16:53, Edward A. Lee wrote:Something's fishy here. Such a model should work fine in PN. Note that hasToken() _alaways_ returns true in PN.That's good to know, I completely missed thatThe get() method blocks when there is no input.Apparently in this case it doesn't, but why is the fire even triggered in the first place?Looks like something is terminating the threads using a TerminateProcessException. How is your model supposed to be stopped?When all the tokens have been consumed, which works for most of my actors with the PN and for all of them with the DDF. Cheers, Vincenzo
<<attachment: eal.vcf>>
_______________________________________________ Kepler-users mailing list [email protected] http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users

