Jump to the Homer Overview page.
Jump to the Architectural Details Menu page.
Jump to the Home page.

Architectural Details

Five main components perform the work of interpreting and executing user commands in Homer. In doing so, they make use two repositories of information; the memory and the dynamic plan. The roles of these five components are outlined below.

  1. The TEXT INTERPRETER parses natural language input. It converts a sentence into a representation -- an inform event usable by the reflective processes component. If the sentence is a command, the inform event indicates that Homer has a goal to achieve. If the sentence is a question, it is treated as a command with the goal of answering the question. The interpreter then feeds this information into the episodic memory.
  2. The REFLECTIVE PROCESSES access the episodic memory to find commands. Two demons operating in the reflective processes pass goals on to the planner. One demon handles general commands. The other handles questions.
  3. The PLANNER operates in two distinct modes. One mode is used for general commands. When operating in this mode the planner first generates a sequence of actions to achieve the goal using its knowledege of the world in memory then stores this information in the dynamic plan. The other mode is inference mode. It is used for questions. In this mode Homer only draws inferences to reach its goal which is just the answer to the question being asked.
  4. The PLAN INTERPRETER carries out the steps of the plan. The interpreter insures that plans are executed in the proper sequence and at the proper time.
  5. The TEXT GENERATOR is responsible for both informing the user of Homer's actions and providing immediate responses to statements. The generator gives immediate feedback to let the user know that Homer has acknowledged a command or statement of fact. The generator also gives Homer's answers to user questions. In performing its tasks the text generator accesses the dynamic plan and takes input from the reflective processes.

For more detailed decriptions of the components follow the links below: