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)