Object Design Review
Speech Subsystem Concepts
 
   | 
   | 
   | 
 
 
   | 
  Interpreter | 
 
 
   | 
  Takes in spoken text and performs
  appropriate actions / API calls | 
 
 
   | 
  Grammar | 
 
 
   | 
  Set of valid words and phrases that the
  recognition engine is expecting at a particular point of time | 
 
Scenario: API
Requirements
 
   | 
   | 
   | 
   | 
 
 
   | 
  Mechanic Bob has a workorder with
  stickies.  A view of the model is
  displayed on his PEDD. | 
 
 
   | 
  Bob says, “show IETM” in order to
  change the display from the model to the IETM. | 
 
 
   | 
  speech.interpreter.GlobalInterpreter.interpret() | 
 
 
   | 
  ui.UserInterfaceManager.displayUserInterface | 
 
 
   | 
   (int userInterfaceID, | 
 
 
   | 
   	int displayStatus, | 
 
 
   | 
  	int panelID) | 
 
 
   | 
   | 
 
 
   | 
   | 
 
 
   | 
   | 
 
 
   | 
   | 
 
 
   | 
   | 
 
Scenario (cont.)
 
   | 
   | 
   | 
 
 
   | 
  Bob says, “activate IETM” in order to
  switch grammars to the IETM grammar. | 
 
 
   | 
  speech.interpreter.GlobalInterpreter.interpret() | 
 
 
   | 
  speech.grammar.CentralGrammarHandler. | 
 
 
   | 
  	setActiveGrammarHandler(IETMGrammarHandler) | 
 
 
   | 
  Bob says, “next step” and the speech
  system speaks the 1st step to him. | 
 
 
   | 
  speech.CentralInterpreter.ActiveInterpreter.
  interpret() | 
 
 
   | 
  speech.IETMInterpreter.interpret() | 
 
 
   | 
  speech.Synthesis.speakStep() | 
 
Scenario (cont.)
 
   | 
   | 
   | 
 
 
   | 
  Bob performs the step spoken to him and
  continues saying “next step” until he is done with the repair. | 
 
 
   | 
  Bob says, “activate workorder” in order
  to switch the active grammar to the workorder grammar. | 
 
 
   | 
  speech.interpreter.CentralInterpreter.
  GlobalInterpreter.interpret() | 
 
 
   | 
  speech.grammar.CentralGrammarHandler. | 
 
 
   | 
  	setActiveGrammarHandler(WorkorderGrammarHandler) | 
 
Scenario (cont.)
 
   | 
   | 
   | 
 
 
   | 
  Bob says  “submit” in order to automatically set the status to awaiting
  approval and submit the completed workorder to the database. | 
 
 
   | 
  speech.CentralInterpreter.ActiveInterpreter.interpret() | 
 
 
   | 
  speech.WorkorderInterpreter.interpret() | 
 
 
   | 
  maintenance.submitWorkorder() | 
 
Scenario: Sequence
Diagram
speech Package
speech.interpreter
Package
speech.grammar Package
Javadoc
 
   | 
   | 
 
 
   | 
  Javadoc: 
  http://www.contrib.andrew.cmu.edu/~rig/javadoc/index.html | 
 
Hardware/Software
Allocation
 
   | 
   | 
 
 
   | 
  The Speech subsystem will use IBM
  ViaVoice with JSAPI extensions as its speech engine. | 
 
 
   | 
  ViaVoice needs a maximum 260 MB in disk
  space. | 
 
 
   | 
  ViaVoice needs a maximum 48 MB RAM
  (including OS) | 
 
Services provided by
Speech
 
   | 
   | 
   | 
 
 
   | 
  void speech.Initialization.initialize() | 
 
 
   | 
  Used by the UI subsystem to start the
  speech subsystem | 
 
 
   | 
  The speech subsystem will be running as
  long as the STARS executable is running on the PEDD | 
 
Services needed by Speech
 
   | 
   | 
   | 
 
 
   | 
  From Maintenance subsystem: | 
 
 
   | 
  submit a workorder to the DB | 
 
 
   | 
  void submitWorkorder() | 
 
 
   | 
  advance the current sticky | 
 
 
   | 
  void nextSticky() | 
 
 
   | 
  set the current sticky back one | 
 
 
   | 
  void previousSticky() | 
 
 
   | 
  set the status of a workorder | 
 
 
   | 
  void setStatus(int status) | 
 
Services needed by Speech
(cont.)
 
   | 
   | 
   | 
 
 
   | 
  From UI subsystem: | 
 
 
   | 
  Switch displayed screen from model to
  IETM and vice versa | 
 
 
   | 
  boolean displayUserInterface(int
  userInterfaceID, 					   
  int displayStatus, 					    int panelID) | 
 
Status of the Speech
Subsystem
 
   | 
   | 
   | 
 
 
   | 
  Requirements Analysis done | 
 
 
   | 
  System Design done | 
 
 
   | 
  Object Design done | 
 
 
   | 
  Working on implementation | 
 
 
   | 
  Looking into the API for WebManual IETM
  viewer | 
 
 
   | 
  Formalizing all grammars: global,
  workorder, model, IETM | 
 
Future Schedule
 
   | 
   | 
   | 
 
 
   | 
  Implementation | 
 
 
   | 
  11/22 to 12/5 | 
 
 
   | 
  Unit Testing | 
 
 
   | 
  12/1 to 12/5 | 
 
 
   | 
  Integration Testing | 
 
 
   | 
  12/4 to 12/9 | 
 
 
   | 
  Dry Run | 
 
 
   | 
  12/7 | 
 
 
   | 
  Client Acceptance Test | 
 
 
   | 
  12/9 | 
 
Open Issues
 
   | 
   | 
 
 
   | 
  WebManual API à our creation of a dynamic IETM grammar depends on this |