org.opencyc.conversation
Class Performer

java.lang.Object
  |
  +--org.opencyc.conversation.Performer

public class Performer
extends java.lang.Object

Performs actions for the chat fsm interpreter.

The chat fsm is in the form of a text fsm using asynchronous receiving and sending of messages. This interpreter contains all the possible finite state machine actions and interprets the actions required for a state transition.

Author:
Stephen L. Reed

Copyright 2001 Cycorp, Inc., license is open source GNU LGPL.

the license

www.opencyc.org

OpenCyc at SourceForge

THIS SOFTWARE AND KNOWLEDGE BASE CONTENT ARE PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENCYC ORGANIZATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE AND KNOWLEDGE BASE CONTENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Field Summary
static int DEFAULT_VERBOSITY
          The default verbosity of the solution output.
protected  FsmFactory fsmFactory
          reference to the FsmFactory object
protected  CycConstant inferencePsc
          #$InferencePSC is a problem solving context in which all assertions in the entire KB are initially visible.
protected  Interpreter interpreter
          reference to the parent Interpreter object
protected  CycConstant rkfEnglishLexicalMicrotheoryPsc
          The context for RKF-related inferences involving all and only english lexical mts.
protected  TemplateParser templateParser
          reference to the TemplateParser object
protected  int verbosity
          Sets verbosity of the constraint solver output.
 
Constructor Summary
Performer(Interpreter interpreter)
          Constructs a new Performer object given the reference to the parent finite state machine interpreter object.
 
Method Summary
protected  void doDisambiguateChoiceIsNumberAction(State currentState, Action action)
          Performs the do-disambiguate-choice-is-number action
protected  void doDisambiguateChoiceIsPhraseAction(State currentState, Action action)
          Performs the do-disambiguate-choice-is-phrase action
protected  void doDisambiguateParseTermAction(State currentState, Action action)
          Performs the do-disambiguate-parse-term action.
protected  void doDisambiguateTermChoiceAction(State currentState, Action action)
          Performs the do-disambiguate-term-choice action.
protected  void doDisambiguateTermDoneAction(State currentState)
          Performs the do-disambiguate-term-done action
protected  void doDisambiguateTermQuery(State currentState, Action action)
          Performs the do-disambiguate term-query action.
protected  void doFinalization()
          Performs the do-finalization action.
protected  void doNotUnderstand(State currentState, Action action)
          Performs the do-not-understand action.
protected  void doReplyWithFirstFact(State currentState, Action action)
          Performs the reply-with-first-fact action.
protected  void doReplyWithNextFact(State currentState, Action action)
          Performs the repy-with-next-fact action.
protected  CycList parseTermsString(java.lang.String text)
          Returns the terms whose parse covers the given text.
protected  void performArc(State currentState, Action action)
          Performs the given action with the given current state.
protected  void performArc(State currentState, Fsm subFsm)
          Performs the given sub fsm with the given current state.
 void setVerbosity(int verbosity)
          Sets verbosity of the output.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_VERBOSITY

public static final int DEFAULT_VERBOSITY
The default verbosity of the solution output. 0 --> quiet ... 9 -> maximum diagnostic input.

verbosity

protected int verbosity
Sets verbosity of the constraint solver output. 0 --> quiet ... 9 -> maximum diagnostic input.

interpreter

protected Interpreter interpreter
reference to the parent Interpreter object

fsmFactory

protected FsmFactory fsmFactory
reference to the FsmFactory object

templateParser

protected TemplateParser templateParser
reference to the TemplateParser object

rkfEnglishLexicalMicrotheoryPsc

protected CycConstant rkfEnglishLexicalMicrotheoryPsc
The context for RKF-related inferences involving all and only english lexical mts.

inferencePsc

protected CycConstant inferencePsc
#$InferencePSC is a problem solving context in which all assertions in the entire KB are initially visible.
Constructor Detail

Performer

public Performer(Interpreter interpreter)
Constructs a new Performer object given the reference to the parent finite state machine interpreter object.
Parameters:
interpreter - the parent finite state machine interpreter
Method Detail

performArc

protected void performArc(State currentState,
                          Fsm subFsm)
                   throws CycApiException,
                          java.io.IOException,
                          java.net.UnknownHostException,
                          ChatException
Performs the given sub fsm with the given current state.
Parameters:
currentState - the current state of the finite state machine
subFsm - the sub fsm to be performed.

performArc

protected void performArc(State currentState,
                          Action action)
                   throws CycApiException,
                          java.io.IOException,
                          java.net.UnknownHostException,
                          ChatException
Performs the given action with the given current state.
Parameters:
currentState - the current state of the finite state machine
action - the action to be performed

doNotUnderstand

protected void doNotUnderstand(State currentState,
                               Action action)
                        throws ChatException
Performs the do-not-understand action.
Parameters:
currentState - the current fsm state
action - the action object.

doFinalization

protected void doFinalization()
Performs the do-finalization action.
Parameters:
action - the action object.

doDisambiguateParseTermAction

protected void doDisambiguateParseTermAction(State currentState,
                                             Action action)
                                      throws CycApiException,
                                             java.net.UnknownHostException,
                                             java.io.IOException
Performs the do-disambiguate-parse-term action.
Parameters:
currentState - the current fsm state
action - the action object.

parseTermsString

protected CycList parseTermsString(java.lang.String text)
                            throws CycApiException,
                                   java.io.IOException,
                                   java.net.UnknownHostException
Returns the terms whose parse covers the given text.
Parameters:
the - text phrase
Returns:
the terms whose parse covers the given text

doDisambiguateTermChoiceAction

protected void doDisambiguateTermChoiceAction(State currentState,
                                              Action action)
                                       throws CycApiException,
                                              ChatException,
                                              java.io.IOException
Performs the do-disambiguate-term-choice action.
Parameters:
currentState - the current fsm state
action - the action object.

doDisambiguateChoiceIsNumberAction

protected void doDisambiguateChoiceIsNumberAction(State currentState,
                                                  Action action)
Performs the do-disambiguate-choice-is-number action
Parameters:
currentState - the current fsm state
action - the action containing the numeric choice

doDisambiguateChoiceIsPhraseAction

protected void doDisambiguateChoiceIsPhraseAction(State currentState,
                                                  Action action)
Performs the do-disambiguate-choice-is-phrase action
Parameters:
currentState - the current fsm state
action - the action containing the phrase choice

doDisambiguateTermDoneAction

protected void doDisambiguateTermDoneAction(State currentState)
Performs the do-disambiguate-term-done action
Parameters:
currentState - the current fsm state

doDisambiguateTermQuery

protected void doDisambiguateTermQuery(State currentState,
                                       Action action)
                                throws CycApiException,
                                       java.io.IOException,
                                       java.net.UnknownHostException
Performs the do-disambiguate term-query action. First performs a disambiguate-term subfsm to obtain the correct term for the query.
Parameters:
currentState - the current fsm state
action - the action object.

doReplyWithFirstFact

protected void doReplyWithFirstFact(State currentState,
                                    Action action)
Performs the reply-with-first-fact action.
Parameters:
currentState - the current fsm state
action - the action object.

doReplyWithNextFact

protected void doReplyWithNextFact(State currentState,
                                   Action action)
Performs the repy-with-next-fact action.
Parameters:
currentState - the current fsm state
action - the action object.

setVerbosity

public void setVerbosity(int verbosity)
Sets verbosity of the output. 0 --> quiet ... 9 -> maximum diagnostic input.
Parameters:
verbosity - 0 --> quiet ... 9 -> maximum diagnostic input