
NonStrictFSMDirector |
ptolemy.domains.fsm.kernel.NonStrictFSMDirector |
This director extends FSMDirector by consuming only input tokens that
are needed in the current state. An input port will consume at most one
token if:
<p>
1. The port is referred by any guard expression of the preemptive
transitions leaving the current state, the output actions
and/or set actions of the enabled transition.
<p>
2. No preemptive transition is enabled and the port is referred by
the refinements of the current state, any guard expression of the
nonpreemptive transitions leaving the current state, the output
actions and/or set actions of the enabled transition.
<p>
A port is said to be referred by a guard/output action/set action
expression of a transition if the port name appears in that expression.
A port is said to be referred by a state refinement if the it is
not a dangling port and has a consumption rate greater than zero in
the refinement.
<p>
FIXME: This is highly preliminary. Missing capabilities:
FIXME: Currently this director uses the default receiver of FSMDirector,
which is a mailbox, so there is no way to consume more than one token.
This director could use a different receiver and support a syntax in
the guard expression language to support consumption of more than one
token.
Author(s): Ye Zhou
Version:$Id: NonStrictFSMDirector.doc.html,v 1.1 2006/02/22 18:41:22 mangal Exp $
Pt.Proposed Rating:Red (zhouye)
Pt.Accepted Rating:Red (cxh)