At 07:03 PM 12/21/2004 -0700, [EMAIL PROTECTED] wrote:
I am using DE to model a system for synchronizing two state machines
separated by a matched (but asynchronous) delay. When I hit Stop, I see
the 'wrapping up' and 'execution finished' messages on the status bar. The
simulation output is as expected and sim time appears to be chunking along
just fine right up to the time I halt. When I hit the Stop button, the CPU
meter on the task mon rails out and any subsequent changes to the system
are ignored. I can't delete actors or change parameters. I can save, and
'look inside' actors etc. Sometimes closing the file and reopening clears
the problem. Sometimes I have to exit vergil altogether. It seems to
happen more often after I've run a few sims. Like I mentioned, it happens
on both my Windows and Linux boxes.
Very interesting. I would probably have to see the model to track
this down, but I can offer some observations.
The reason that you can't delete actors or change parameters is
that any action that changes the model is queued as a "change request"
and executed only between iterations or when the model is idle.
Clearly, the model is somehow getting into an infinite loop.
One simple trick that could help track this down is to
start vergil from the command line, then (on Windows at least)
hit Control-break when the model is in the inifinite loop.
This will display the stack traces of all running threads, which
will indicate what code is currently executing. If you can do
this and send me the stack trace, I would be grateful.
This seems like a rather serious bug, so I would like to
track it down...
While I'm here I have a question about DE. In this domain, what's the best
way to model a flag that needs to stay asserted until a clock event
arrives? For example, in the system I'm working on, I need to
conditionally inhibit a clock event to an FSM based on an asynchronous
event that may have occurred between clocks. In the real world, such an
asynchronous event could be recorded with a flip-flop whose output
persists across the next clock edge. In the DE domain though, it appears
that all data is impulsive (i.e. of zero time width) and disappears after
the event token is absorbed by an actor. (Is this correct?). If I use an
SDF director in a modal refinement that connects the flag output to a
constant it seems to work but am I then scheduling a huge number of events
in the DE domain?
Any hints would be appreciated.
You could use the Sampler actor (in DomainSpecific->DE). It's doc
says:
Output the most recent input token when the <i>trigger</i> port
receives a token. If no token has been received on the <i>input</i>
port when a token is received on the <i>trigger</i> port, then the
value of the <i>initialValue</i> parameter is produced. If, however,
the <i>initialValue</i> parameter contains no value, then no output is
produced. The inputs can be of any token type, but the <i>output</i>
port is constrained to be of a type at least that of the <i>input</i>
port and the <i>initialValue</i> parameter (if it has a value).
Edward
Sorry if this is the wrong forum for such questions.
Jeff
-----Original Message-----
From: Edward A. Lee [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 21, 2004 9:28 AM
To: Jeff Patterson
Cc: [EMAIL PROTECTED]
Subject: Re: Vergil lock-ups
Hmm... If you can save, then the UI must not be actually hanging
(which would be a deadlock problem, probably). I suspect it's a problem
with an infinite loop. What is your model doing? Is it a DE model?
DE has a "feature" that if an actor fails to consume input tokens that
are present, the actor is refired at the current time. If it continues
to fail to consume the token, an infinite execution where time does
not advance results...
Edward
At 06:21 AM 12/21/2004 -0800, Jeff Patterson wrote:
>Since installing PTII v4.01 I've been having trouble with vergil locking
>up. It seems to occur after a simulation is stopped prematurely (i.e.
>using the stop button) at which point no modifications (moving actors,
>changing parameters etc.) are possible. You can however save the file.
>When it is in this mode it consumes all available CPU resources. I see
>this in both a windows NT and linux installation.
>
>Any ideas?
>
>Jeff Patterson
>Agilent Technologies
>
>
>
>
>----------------------------------------------------------------------------
>Posted to the ptolemy-hackers mailing list. Please send administrative
>mail for this list to: [EMAIL PROTECTED]
------------
Edward A. Lee, Professor
518 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0455, fax: 510-642-2718
[EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal
------------
Edward A. Lee, Professor
518 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0455, fax: 510-642-2718
[EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal
----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list. Please send administrative
mail for this list to: [EMAIL PROTECTED]