Hi Edward and Bertram, Thank you for pointing out the possible approaches.
I have tried the "Listen to director" method some time ago. As far as I can remember, the output I got was totally unreadable and unmanagable (I am creating a big workflow, being executed for as long as few hours... I was overloaded with information from the director). And I think there were just information about calling fire() or postfire(), etc. but not a thing about tokens being received on ports. But I tried this approach in the past, maybe I'll try again soon. As for MonitorReceiverContents, I cannot find it in my Kepler-1.0.0 installation. But as Bertram pointed out, there is no such actor in the recent checkout. And I am using DDF director. Thank you, best regards, Tomek On 16-03-2010 at 17:03:52 Bertram Ludaescher <ludaesch at ucdavis.edu> wrote: > Yes, I'm a fan of MonitorReceiverContents (thanks for implementing it > Edward! :) > It nicely shows the queue contents during execution. It also should show > "left over queue content". > > Edward: > What is the set of domain for which this will (mostly) likely work? > (I'm primarily interested in SDF, DDF, and PN.) > > Also, is it correct to assume that runs that have "left over tokens" are > still "valid" w.r.t. the Kahn semantics? > It would be interesting to define a declarative query or integrity > constraint (to use database parlance) that checks queue contents after > execution. One could then declare certain runs as "incomplete", i.e., if > not > all queues have been emptied. > > On a related note: > When I do a search for "monitor" in a recent check-out of Kepler, I don't > see 'MonitorReceiverContents'. > > Can we still add it? Maybe as part of a suitable module? Chad, David? > > Bertram > > On Tue, Mar 16, 2010 at 8:49 AM, Edward A. Lee > <eal at eecs.berkeley.edu>wrote: > >> >> I'm not sure about Kepler, but in Ptolemy the Debug menu includes >> Listen to Director, which will give you this information. It's >> in the friendliest form, however... >> >> Also, in the Utilities->Analysis menu there is a component >> called MonitorReceiverContents. Dragging this into the model will >> enable display of data in buffers. This only works for certain >> domains, however. I'm not sure which director you are using... >> >> Edward >> >> >> >> On 3/16/10 3:26 AM, Tomasz ?ok wrote: >> >>> Hi, >>> >>> I have some workflow, I run it and after some time it stops - >>> "execution >>> finished". At this exact moment I would like to know, which actors had >>> tokens on some port, but were unable to fire. >>> >>> For instance, an actor named "A" has five input ports. During execution >>> tokens are fired to four out of these five. The director decides there >>> is nothing else to be fired and finishes the execution. When this >>> happens I would just like to know, that: Actor "A" did not fire, but >>> some of its ports received tokens. >>> >>> Is this possible in Kepler? It would greatly enhance the debugging >>> experience of really big and complicated workflows :) >>> >>> Best regards, >>> Tomek -- Tomasz Zok Poznan Supercomputing and Networking Center ul. Noskowskiego 10, 61-704 Poznan, POLAND http://www.man.poznan.pl

