| 
  
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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 | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
     | 
    
   
     | 
    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) | 
    
   
     | 
     | 
    
   
     | 
     | 
    
   
     | 
     | 
    
   
     | 
     | 
    
   
     | 
     | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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() | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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) | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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() | 
    
   
   
   | 
 
 
  | 
  
   | 
 
 
  | 
  
   | 
 
 
  | 
  
   | 
 
 
  | 
  
   | 
 
 
  
  
  
  
   
     | 
     | 
    
   
     | 
    Javadoc: 
    http://www.contrib.andrew.cmu.edu/~rig/javadoc/index.html | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
    
   
     | 
    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) | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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 | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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) | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    From UI subsystem: | 
    
   
     | 
    Switch displayed screen from model to IETM and
    vice versa | 
    
   
     | 
    boolean displayUserInterface(int
    userInterfaceID, 					   
    int displayStatus, 					    int panelID) | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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 | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
     | 
    
   
     | 
    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 | 
    
   
   
   | 
 
 
  
  
  
  
   
     | 
     | 
    
   
     | 
    WebManual API à our creation of a
    dynamic IETM grammar depends on this | 
    
   
   
   |