inpro.incremental.processor
Class AbstractFloorTracker

java.lang.Object
  extended by inpro.incremental.PushBuffer
      extended by inpro.incremental.IUModule
          extended by inpro.incremental.processor.AbstractFloorTracker
All Implemented Interfaces:
edu.cmu.sphinx.instrumentation.Resetable, edu.cmu.sphinx.util.props.Configurable
Direct Known Subclasses:
IUBasedFloorTracker, TextBasedFloorTracker

public abstract class AbstractFloorTracker
extends IUModule

A floor tracker tracks which dialogue participant has the floor (i.e. the user or the system) and takes decisions when the floor should be taken or released

Author:
timo

Nested Class Summary
protected static class AbstractFloorTracker.InternalState
          the internal state of the floor tracker: - user is silent and we're not expecting her to speak - user is silent but we are expecting her to speak (this may lead to a time-out) - user is talking (currently no provisions for whether we want her to speak or not)
static interface AbstractFloorTracker.Listener
          the interface that the floor manager's listeners must implement
static class AbstractFloorTracker.Signal
          other modules are notified about floor state if they implement FloorManager.Listener and are registered to listen in the configuration file
 
Nested classes/interfaces inherited from class inpro.incremental.IUModule
IUModule.RightBuffer
 
Field Summary
 java.util.List<AbstractFloorTracker.Listener> ftlisteners
           
(package private)  AbstractFloorTracker.InternalState internalState
           
(package private)  java.util.List<WordIU> mostRecentIUs
          this is used to infer prosody as needed
static java.lang.String PROP_STATE_LISTENERS
           
 
Fields inherited from class inpro.incremental.IUModule
iulisteners, logger, PROP_HYP_CHANGE_LISTENERS, PROP_LOG_TO_TEDVIEW, PROP_TEDVIEW_LOG_ADDRESS, PROP_TEDVIEW_LOG_PORT, rightBuffer, tedLogAdapter
 
Constructor Summary
AbstractFloorTracker()
           
 
Method Summary
protected  boolean isNotInInput()
           
 void leftBufferUpdate(java.util.Collection<? extends IU> ius, java.util.List<? extends EditMessage<? extends IU>> edits)
          the method that IU modules must implement
 void newProperties(edu.cmu.sphinx.util.props.PropertySheet ps)
           
protected  void signalListeners(AbstractFloorTracker.InternalState state, AbstractFloorTracker.Signal signal)
           
 
Methods inherited from class inpro.incremental.IUModule
getTime, hypChange, logToTedView
 
Methods inherited from class inpro.incremental.PushBuffer
reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_STATE_LISTENERS

@S4ComponentList(type=AbstractFloorTracker.Listener.class)
public static final java.lang.String PROP_STATE_LISTENERS
See Also:
Constant Field Values

ftlisteners

public java.util.List<AbstractFloorTracker.Listener> ftlisteners

mostRecentIUs

java.util.List<WordIU> mostRecentIUs
this is used to infer prosody as needed


internalState

AbstractFloorTracker.InternalState internalState
Constructor Detail

AbstractFloorTracker

public AbstractFloorTracker()
Method Detail

leftBufferUpdate

public void leftBufferUpdate(java.util.Collection<? extends IU> ius,
                             java.util.List<? extends EditMessage<? extends IU>> edits)
Description copied from class: IUModule
the method that IU modules must implement

Specified by:
leftBufferUpdate in class IUModule
Parameters:
ius - list of IUs that make up the current hypothesis
edits - a list of edits since the last call

newProperties

public void newProperties(edu.cmu.sphinx.util.props.PropertySheet ps)
                   throws edu.cmu.sphinx.util.props.PropertyException
Specified by:
newProperties in interface edu.cmu.sphinx.util.props.Configurable
Overrides:
newProperties in class IUModule
Throws:
edu.cmu.sphinx.util.props.PropertyException

signalListeners

protected void signalListeners(AbstractFloorTracker.InternalState state,
                               AbstractFloorTracker.Signal signal)

isNotInInput

protected boolean isNotInInput()